Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 92167be5 authored by Etienne Ruffieux's avatar Etienne Ruffieux
Browse files

Replaced plurals usage in Bluetooth package by ICU

Bug: 199230229
Test: manual
Tag: #feature
Change-Id: I17b074009065e5498f92ff963e9e6e98b5e93767
parent ca098e78
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
@@ -211,14 +211,12 @@
    <string name="transfer_clear_dlg_msg">All items will be cleared from the list.</string>
    <string name="outbound_noti_title">Bluetooth share: Sent files</string>
    <string name="inbound_noti_title">Bluetooth share: Received files</string>
    <plurals name="noti_caption_unsuccessful">
        <item quantity="one"><xliff:g id="unsuccessful_number">%1$d</xliff:g> unsuccessful.</item>
        <item quantity="other"><xliff:g id="unsuccessful_number">%1$d</xliff:g> unsuccessful.</item>
    </plurals>
    <plurals name="noti_caption_success">
        <item quantity="one"><xliff:g id="successful_number">%1$d</xliff:g> successful, %2$s</item>
        <item quantity="other"><xliff:g id="successful_number">%1$d</xliff:g> successful, %2$s</item>
    </plurals>
    <string name="noti_caption_unsuccessful"> {count, plural,
        other {# unsuccessful.}
    }</string>
    <string name="noti_caption_success"> {count, plural,
        other {# successful, %1$s}
    }</string>

    <string name="transfer_menu_clear_all">Clear list</string>
    <string name="transfer_menu_open">Open</string>
+4 −12
Original line number Diff line number Diff line
@@ -438,12 +438,8 @@ class BluetoothOppNotification {
        outboundNum = outboundSuccNumber + outboundFailNumber;
        // create the outbound notification
        if (outboundNum > 0) {
            String unsuccessCaption = mContext.getResources()
                    .getQuantityString(R.plurals.noti_caption_unsuccessful, outboundFailNumber,
                            outboundFailNumber);
            String caption = mContext.getResources()
                    .getQuantityString(R.plurals.noti_caption_success, outboundSuccNumber,
                            outboundSuccNumber, unsuccessCaption);
            String caption = BluetoothOppUtility.formatResultText(outboundSuccNumber,
                    outboundFailNumber, mContext);
            Intent contentIntent = new Intent(Constants.ACTION_OPEN_OUTBOUND_TRANSFER).setClassName(
                    Constants.THIS_PACKAGE_NAME, BluetoothOppReceiver.class.getName());
            Intent deleteIntent = new Intent(Constants.ACTION_COMPLETE_HIDE).setClassName(
@@ -508,12 +504,8 @@ class BluetoothOppNotification {
        inboundNum = inboundSuccNumber + inboundFailNumber;
        // create the inbound notification
        if (inboundNum > 0) {
            String unsuccessCaption = mContext.getResources()
                    .getQuantityString(R.plurals.noti_caption_unsuccessful, inboundFailNumber,
                            inboundFailNumber);
            String caption = mContext.getResources()
                    .getQuantityString(R.plurals.noti_caption_success, inboundSuccNumber,
                            inboundSuccNumber, unsuccessCaption);
            String caption = BluetoothOppUtility.formatResultText(inboundSuccNumber,
                    inboundFailNumber, mContext);
            Intent contentIntent = new Intent(Constants.ACTION_OPEN_INBOUND_TRANSFER).setClassName(
                    Constants.THIS_PACKAGE_NAME, BluetoothOppReceiver.class.getName());
            Intent deleteIntent = new Intent(Constants.ACTION_COMPLETE_HIDE).setClassName(
+24 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.database.Cursor;
import android.icu.text.MessageFormat;
import android.net.Uri;
import android.os.Environment;
import android.os.ParcelFileDescriptor;
@@ -57,7 +58,10 @@ import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
@@ -314,6 +318,26 @@ public class BluetoothOppUtility {
        return df.format(percent);
    }

    /**
     * Helper function to build the result notification text content.
     */
    static String formatResultText(int countSuccess, int countUnsuccessful, Context context) {
        if (context == null) {
            return null;
        }
        Map<String, Object> mapUnsuccessful = new HashMap<>();
        mapUnsuccessful.put("count", countUnsuccessful);

        Map<String, Object> mapSuccess = new HashMap<>();
        mapSuccess.put("count", countSuccess);

        return new MessageFormat(context.getResources().getString(R.string.noti_caption_success,
                new MessageFormat(context.getResources().getString(
                        R.string.noti_caption_unsuccessful),
                        Locale.getDefault()).format(mapUnsuccessful)),
                Locale.getDefault()).format(mapSuccess);
    }

    /**
     * Whether the device has the "nosdcard" characteristic or not.
     */