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

Commit bbde2677 authored by John Spurlock's avatar John Spurlock
Browse files

Zen: Use shorter version of countdown condition summary in footer.

To try and keep to two-lines.

Bug: 21119801
Change-Id: I5a6760381a6b673b8481164f92cf6b7b236af349
parent a7d92b19
Loading
Loading
Loading
Loading
+22 −12
Original line number Original line Diff line number Diff line
@@ -573,24 +573,34 @@ public class ZenModeConfig implements Parcelable {
    }
    }


    public static Condition toTimeCondition(Context context, int minutesFromNow, int userHandle) {
    public static Condition toTimeCondition(Context context, int minutesFromNow, int userHandle) {
        return toTimeCondition(context, minutesFromNow, userHandle, false /*shortVersion*/);
    }

    public static Condition toTimeCondition(Context context, int minutesFromNow, int userHandle,
            boolean shortVersion) {
        final long now = System.currentTimeMillis();
        final long now = System.currentTimeMillis();
        final long millis = minutesFromNow == 0 ? ZERO_VALUE_MS : minutesFromNow * MINUTES_MS;
        final long millis = minutesFromNow == 0 ? ZERO_VALUE_MS : minutesFromNow * MINUTES_MS;
        return toTimeCondition(context, now + millis, minutesFromNow, now, userHandle);
        return toTimeCondition(context, now + millis, minutesFromNow, now, userHandle,
                shortVersion);
    }
    }


    public static Condition toTimeCondition(Context context, long time, int minutes, long now,
    public static Condition toTimeCondition(Context context, long time, int minutes, long now,
            int userHandle) {
            int userHandle, boolean shortVersion) {
        final int num, summaryResId, line1ResId;
        final int num, summaryResId, line1ResId;
        if (minutes < 60) {
        if (minutes < 60) {
            // display as minutes
            // display as minutes
            num = minutes;
            num = minutes;
            summaryResId = R.plurals.zen_mode_duration_minutes_summary;
            summaryResId = shortVersion ? R.plurals.zen_mode_duration_minutes_summary_short
            line1ResId = R.plurals.zen_mode_duration_minutes;
                    : R.plurals.zen_mode_duration_minutes_summary;
            line1ResId = shortVersion ? R.plurals.zen_mode_duration_minutes_short
                    : R.plurals.zen_mode_duration_minutes;
        } else {
        } else {
            // display as hours
            // display as hours
            num =  Math.round(minutes / 60f);
            num =  Math.round(minutes / 60f);
            summaryResId = com.android.internal.R.plurals.zen_mode_duration_hours_summary;
            summaryResId = shortVersion ? R.plurals.zen_mode_duration_hours_summary_short
            line1ResId = com.android.internal.R.plurals.zen_mode_duration_hours;
                    : R.plurals.zen_mode_duration_hours_summary;
            line1ResId = shortVersion ? R.plurals.zen_mode_duration_hours_short
                    : R.plurals.zen_mode_duration_hours;
        }
        }
        final String skeleton = DateFormat.is24HourFormat(context, userHandle) ? "Hm" : "hma";
        final String skeleton = DateFormat.is24HourFormat(context, userHandle) ? "Hm" : "hma";
        final String pattern = DateFormat.getBestDateTimePattern(Locale.getDefault(), skeleton);
        final String pattern = DateFormat.getBestDateTimePattern(Locale.getDefault(), skeleton);
@@ -793,17 +803,17 @@ public class ZenModeConfig implements Parcelable {
    }
    }


    public static String getConditionLine1(Context context, ZenModeConfig config,
    public static String getConditionLine1(Context context, ZenModeConfig config,
            int userHandle) {
            int userHandle, boolean shortVersion) {
        return getConditionLine(context, config, userHandle, true /*useLine1*/);
        return getConditionLine(context, config, userHandle, true /*useLine1*/, shortVersion);
    }
    }


    public static String getConditionSummary(Context context, ZenModeConfig config,
    public static String getConditionSummary(Context context, ZenModeConfig config,
            int userHandle) {
            int userHandle, boolean shortVersion) {
        return getConditionLine(context, config, userHandle, false /*useLine1*/);
        return getConditionLine(context, config, userHandle, false /*useLine1*/, shortVersion);
    }
    }


    private static String getConditionLine(Context context, ZenModeConfig config,
    private static String getConditionLine(Context context, ZenModeConfig config,
            int userHandle, boolean useLine1) {
            int userHandle, boolean useLine1, boolean shortVersion) {
        if (config == null) return "";
        if (config == null) return "";
        if (config.manualRule != null) {
        if (config.manualRule != null) {
            final Uri id = config.manualRule.conditionId;
            final Uri id = config.manualRule.conditionId;
@@ -816,7 +826,7 @@ public class ZenModeConfig implements Parcelable {
                final long now = System.currentTimeMillis();
                final long now = System.currentTimeMillis();
                final long span = time - now;
                final long span = time - now;
                c = toTimeCondition(context,
                c = toTimeCondition(context,
                        time, Math.round(span / (float) MINUTES_MS), now, userHandle);
                        time, Math.round(span / (float) MINUTES_MS), now, userHandle, shortVersion);
            }
            }
            final String rt = c == null ? "" : useLine1 ? c.line1 : c.summary;
            final String rt = c == null ? "" : useLine1 ? c.line1 : c.summary;
            return TextUtils.isEmpty(rt) ? "" : rt;
            return TextUtils.isEmpty(rt) ? "" : rt;
+24 −0
Original line number Original line Diff line number Diff line
@@ -4031,24 +4031,48 @@
        <item quantity="other">For %1$d minutes (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
        <item quantity="other">For %1$d minutes (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
    </plurals>
    </plurals>


    <!-- Zen mode condition - summary: time duration in minutes (short version). [CHAR LIMIT=NONE] -->
    <plurals name="zen_mode_duration_minutes_summary_short">
        <item quantity="one">For 1 min (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
        <item quantity="other">For %1$d min (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
    </plurals>

    <!-- Zen mode condition - summary: time duration in hours. [CHAR LIMIT=NONE] -->
    <!-- Zen mode condition - summary: time duration in hours. [CHAR LIMIT=NONE] -->
    <plurals name="zen_mode_duration_hours_summary">
    <plurals name="zen_mode_duration_hours_summary">
        <item quantity="one">For one hour (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
        <item quantity="one">For one hour (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
        <item quantity="other">For %1$d hours (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
        <item quantity="other">For %1$d hours (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
    </plurals>
    </plurals>


    <!-- Zen mode condition - summary: time duration in hours (short version). [CHAR LIMIT=NONE] -->
    <plurals name="zen_mode_duration_hours_summary_short">
        <item quantity="one">For 1 hr (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
        <item quantity="other">For %1$d hr (until <xliff:g id="formattedTime" example="10:00 PM">%2$s</xliff:g>)</item>
    </plurals>

    <!-- Zen mode condition - line one: time duration in minutes. [CHAR LIMIT=NONE] -->
    <!-- Zen mode condition - line one: time duration in minutes. [CHAR LIMIT=NONE] -->
    <plurals name="zen_mode_duration_minutes">
    <plurals name="zen_mode_duration_minutes">
        <item quantity="one">For one minute</item>
        <item quantity="one">For one minute</item>
        <item quantity="other">For %d minutes</item>
        <item quantity="other">For %d minutes</item>
    </plurals>
    </plurals>


    <!-- Zen mode condition - line one: time duration in minutes (short version). [CHAR LIMIT=NONE] -->
    <plurals name="zen_mode_duration_minutes_short">
        <item quantity="one">For 1 min</item>
        <item quantity="other">For %d min</item>
    </plurals>

    <!-- Zen mode condition - line one: time duration in hours. [CHAR LIMIT=NONE] -->
    <!-- Zen mode condition - line one: time duration in hours. [CHAR LIMIT=NONE] -->
    <plurals name="zen_mode_duration_hours">
    <plurals name="zen_mode_duration_hours">
        <item quantity="one">For one hour</item>
        <item quantity="one">For one hour</item>
        <item quantity="other">For %d hours</item>
        <item quantity="other">For %d hours</item>
    </plurals>
    </plurals>


    <!-- Zen mode condition - line one: time duration in hours (short version). [CHAR LIMIT=NONE] -->
    <plurals name="zen_mode_duration_hours_short">
        <item quantity="one">For 1 hr</item>
        <item quantity="other">For %d hr</item>
    </plurals>

    <!-- Zen mode condition - line two: ending time. [CHAR LIMIT=NONE] -->
    <!-- Zen mode condition - line two: ending time. [CHAR LIMIT=NONE] -->
    <string name="zen_mode_until">Until <xliff:g id="formattedTime" example="10:00 PM">%1$s</xliff:g></string>
    <string name="zen_mode_until">Until <xliff:g id="formattedTime" example="10:00 PM">%1$s</xliff:g></string>


+4 −0
Original line number Original line Diff line number Diff line
@@ -2060,6 +2060,10 @@
  <java-symbol type="plurals" name="zen_mode_duration_hours" />
  <java-symbol type="plurals" name="zen_mode_duration_hours" />
  <java-symbol type="plurals" name="zen_mode_duration_minutes_summary" />
  <java-symbol type="plurals" name="zen_mode_duration_minutes_summary" />
  <java-symbol type="plurals" name="zen_mode_duration_hours_summary" />
  <java-symbol type="plurals" name="zen_mode_duration_hours_summary" />
  <java-symbol type="plurals" name="zen_mode_duration_minutes_short" />
  <java-symbol type="plurals" name="zen_mode_duration_hours_short" />
  <java-symbol type="plurals" name="zen_mode_duration_minutes_summary_short" />
  <java-symbol type="plurals" name="zen_mode_duration_hours_summary_short" />
  <java-symbol type="string" name="zen_mode_until" />
  <java-symbol type="string" name="zen_mode_until" />
  <java-symbol type="string" name="zen_mode_feature_name" />
  <java-symbol type="string" name="zen_mode_feature_name" />
  <java-symbol type="string" name="zen_mode_downtime_feature_name" />
  <java-symbol type="string" name="zen_mode_downtime_feature_name" />
+1 −1
Original line number Original line Diff line number Diff line
@@ -127,7 +127,7 @@ public class ZenFooter extends LinearLayout {
        Util.setText(mSummaryLine1, line1);
        Util.setText(mSummaryLine1, line1);


        final String line2 = ZenModeConfig.getConditionSummary(mContext, mConfig,
        final String line2 = ZenModeConfig.getConditionSummary(mContext, mConfig,
                mController.getCurrentUser());
                mController.getCurrentUser(), true /*shortVersion*/);
        Util.setText(mSummaryLine2, line2);
        Util.setText(mSummaryLine2, line2);
    }
    }


+4 −2
Original line number Original line Diff line number Diff line
@@ -438,7 +438,8 @@ public class ZenModePanel extends LinearLayout {
        final long span = time - now;
        final long span = time - now;
        if (span <= 0 || span > MAX_BUCKET_MINUTES * MINUTES_MS) return null;
        if (span <= 0 || span > MAX_BUCKET_MINUTES * MINUTES_MS) return null;
        return ZenModeConfig.toTimeCondition(context,
        return ZenModeConfig.toTimeCondition(context,
                time, Math.round(span / (float) MINUTES_MS), now, ActivityManager.getCurrentUser());
                time, Math.round(span / (float) MINUTES_MS), now, ActivityManager.getCurrentUser(),
                false /*shortVersion*/);
    }
    }


    private void handleUpdateConditions(Condition[] conditions) {
    private void handleUpdateConditions(Condition[] conditions) {
@@ -717,7 +718,8 @@ public class ZenModePanel extends LinearLayout {
                if (up && bucketTime > time || !up && bucketTime < time) {
                if (up && bucketTime > time || !up && bucketTime < time) {
                    mBucketIndex = j;
                    mBucketIndex = j;
                    newCondition = ZenModeConfig.toTimeCondition(mContext,
                    newCondition = ZenModeConfig.toTimeCondition(mContext,
                            bucketTime, bucketMinutes, now, ActivityManager.getCurrentUser());
                            bucketTime, bucketMinutes, now, ActivityManager.getCurrentUser(),
                            false /*shortVersion*/);
                    break;
                    break;
                }
                }
            }
            }