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

Commit d691fc2f authored by Annie Chin's avatar Annie Chin
Browse files

Add singular variation string in running Timer notification.

Bug: 23818130
Change-Id: Ib32a8d89002ab4637dbf00aa85708effe42a6a9b
parent b04b1555
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(