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

Commit 107ec830 authored by Annie Chin's avatar Annie Chin Committed by Android (Google) Code Review
Browse files

Merge "Add singular variation string in running Timer notification." into ub-deskclock-dazzle

parents 0303d3e9 d691fc2f
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -162,12 +162,21 @@
    --><skip />

    <!-- Timer notification: how long from now until timer goes off. -->
    <string-array name="timer_notifications">
        <item>Less than a minute remaining</item>
        <item><xliff:g id="HOURS" example="2 hours">%1$s</xliff:g> remaining</item>
        <item><xliff:g id="MINUTES" example="2 minutes">%2$s</xliff:g> remaining</item>
        <item><xliff:g id="HOURS" example="2 hours">%1$s</xliff:g> <xliff:g id="MINUTES" example="2 minutes">%2$s</xliff:g> remaining</item>
    </string-array>
    <string name="timer_notifications_less_min">Less than a minute remaining</string>
    <string name="timer_notifications_hours"><xliff:g id="HOURS" example="2 hours">%1$s</xliff:g><xliff:g id="REMAINING" example="remaining"> %3$s</xliff:g></string>
    <string name="timer_notifications_minutes"><xliff:g id="MINUTES" example="2 minutes">%2$s</xliff:g><xliff:g id="REMAINING" example="remaining"> %3$s</xliff:g></string>
    <string name="timer_notifications_hours_minutes"><xliff:g id="HOURS" example="2 hours">%1$s</xliff:g> <xliff:g id="MINUTES" example="2 minutes">%2$s</xliff:g> remaining</string>

    <!--
        Verb inflection to use for single time units remaining
        Ex. "1 minute remaining"
    -->
    <string name="timer_remaining_single">remaining</string>
    <!--
        Verb inflection to use for multiple time units remaining
        Ex. "2 minutes remaining"
    -->
    <string name="timer_remaining_multiple">remaining</string>

    <!-- Alarm confirmation toast: Describes how long from now until
         alarm fires -->
+23 −3
Original line number Diff line number Diff line
@@ -567,11 +567,31 @@ public class TimerReceiver extends BroadcastReceiver {
        String hourSeq = Utils.getNumberFormattedQuantityString(context, R.plurals.hours,
                (int) hours);

        // The verb "remaining" may have to change tense for singular subjects in some languages.
        String verb = context.getString((minutes > 1 || hours > 1)
                ? R.string.timer_remaining_multiple
                : R.string.timer_remaining_single);

        boolean dispHour = hours > 0;
        boolean dispMinute = minutes > 0;
        int index = (dispHour ? 1 : 0) | (dispMinute ? 2 : 0);
        String[] formats = context.getResources().getStringArray(R.array.timer_notifications);
        return String.format(formats[index], hourSeq, minSeq);

        int formatStringId;
        if (dispHour) {
            if (dispMinute) {
                // hours > 0 && minutes > 0
                formatStringId = R.string.timer_notifications_hours_minutes;
            } else {
                // hours > 0 && minutes == 0
                formatStringId = R.string.timer_notifications_hours;
            }
        } else if (dispMinute) {
            // hours == 0 && minutes > 0;
            formatStringId = R.string.timer_notifications_minutes;
        } else {
            // hours == 0 && minutes == 0
            formatStringId = R.string.timer_notifications_less_min;
        }
        return String.format(context.getString(formatStringId), hourSeq, minSeq, verb);
    }

    private TimerObj getNextRunningTimer(