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

Commit 6143b906 authored by Mady Mellor's avatar Mady Mellor
Browse files

Switch to using plural strings for hours and minutes in the snooze menu

Test: Manual - show the snooze menu, expand to see options
Bug: 38207398
Change-Id: I081464b2205d4241af02f71d2fec0286020fc6d8
parent 8bebf339
Loading
Loading
Loading
Loading
+17 −10
Original line number Diff line number Diff line
@@ -1505,20 +1505,27 @@
    <!-- Notification: Menu row: Content description for the snooze icon. [CHAR LIMIT=NONE] -->
    <string name="notification_menu_snooze_description">notification snooze options</string>

    <!-- Notification: Menu row: Snooze options: 15 minute option. [CHAR LIMIT=50]-->
    <string name="snooze_option_15_min">15 minutes</string>
    <!-- Notification: Menu row: Snooze options: 30 minute option. [CHAR LIMIT=50]-->
    <string name="snooze_option_30_min">30 minutes</string>
    <!-- Notification: Menu row: Snooze options: 1 hour option. [CHAR LIMIT=50]-->
    <string name="snooze_option_1_hour">1 hour</string>
    <!-- Notification: Menu row: Snooze options: 1 hour option. [CHAR LIMIT=50]-->
    <string name="snooze_option_2_hour">2 hours</string>
    <!-- Notification: Menu row: Snooze undo button label. [CHAR LIMIT=50]-->
    <!-- Notification: Snooze panel: Snooze undo button label. [CHAR LIMIT=50]-->
    <string name="snooze_undo">UNDO</string>

    <!-- Notification: Menu row: Snooze: message indicating how long the notification was snoozed for. [CHAR LIMIT=100]-->
    <!-- Notification: Snooze panel: message indicating how long the notification was snoozed for. [CHAR LIMIT=100]-->
    <string name="snoozed_for_time">Snoozed for <xliff:g id="time_amount" example="15 minutes">%1$s</xliff:g></string>

    <!-- Notification:Snooze panel: Snooze options for hours -->
    <plurals name="snoozeHourOptions">
        <item quantity="one">%d hour</item>
        <item quantity="two">%d hours</item>
        <item quantity="few">%d hours</item>
        <item quantity="other">%d hours</item>
    </plurals>

   <!--  Notification: Snooze panel: Snooze options for minutes -->
   <plurals name="snoozeMinuteOptions">
        <item quantity="one">%d minute</item>
        <item quantity="few">%d minutes</item>
        <item quantity="other">%d minutes</item>
    </plurals>

    <!-- Title of the battery settings detail panel [CHAR LIMIT=20] -->
    <string name="battery_panel_title">Battery usage</string>

+12 −7
Original line number Diff line number Diff line
@@ -117,22 +117,27 @@ public class NotificationSnooze extends LinearLayout

    private ArrayList<SnoozeOption> getDefaultSnoozeOptions() {
        ArrayList<SnoozeOption> options = new ArrayList<>();
        options.add(createOption(R.string.snooze_option_15_min, 15));
        options.add(createOption(R.string.snooze_option_30_min, 30));
        mDefaultOption = createOption(R.string.snooze_option_1_hour, 60);
        options.add(createOption(15 /* minutes */));
        options.add(createOption(30 /* minutes */));
        mDefaultOption = createOption(60 /* minutes */);
        options.add(mDefaultOption);
        options.add(createOption(R.string.snooze_option_2_hour, 60 * 2));
        options.add(createOption(60 * 2 /* minutes */));
        return options;
    }

    private SnoozeOption createOption(int descriptionResId, int minutes) {
    private SnoozeOption createOption(int minutes) {
        Resources res = getResources();
        final String description = res.getString(descriptionResId);
        boolean showInHours = minutes >= 60;
        int pluralResId = showInHours
                ? R.plurals.snoozeHourOptions
                : R.plurals.snoozeMinuteOptions;
        int count = showInHours ? (minutes / 60) : minutes;
        String description = res.getQuantityString(pluralResId, count, count);
        String resultText = String.format(res.getString(R.string.snoozed_for_time), description);
        SpannableString string = new SpannableString(resultText);
        string.setSpan(new StyleSpan(Typeface.BOLD),
                resultText.length() - description.length(), resultText.length(), 0 /* flags */);
        return new SnoozeOption(null, minutes, res.getString(descriptionResId), string);
        return new SnoozeOption(null, minutes, description, string);
    }

    private void createOptionViews() {