diff options
author | Jason Monk <jmonk@google.com> | 2014-09-10 15:00:19 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-09-10 15:00:20 +0000 |
commit | c8e4fa41f22cc23937a8660992ee60502ed6e13f (patch) | |
tree | 09280409e193f86e18c3601b5b66a094204a3884 /core/java | |
parent | 3e5d59c3653700e4dfe77b665eba0bbc88e470de (diff) | |
parent | 4dd81467e33a694138da6916fc68ca79501a9429 (diff) | |
download | frameworks_base-c8e4fa41f22cc23937a8660992ee60502ed6e13f.zip frameworks_base-c8e4fa41f22cc23937a8660992ee60502ed6e13f.tar.gz frameworks_base-c8e4fa41f22cc23937a8660992ee60502ed6e13f.tar.bz2 |
Merge "Move zen mode constants and code to framework" into lmp-dev
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/service/notification/ZenModeConfig.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/core/java/android/service/notification/ZenModeConfig.java b/core/java/android/service/notification/ZenModeConfig.java index 872f911..9cbedab 100644 --- a/core/java/android/service/notification/ZenModeConfig.java +++ b/core/java/android/service/notification/ZenModeConfig.java @@ -17,6 +17,7 @@ package android.service.notification; import android.content.ComponentName; +import android.content.res.Resources; import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; @@ -55,6 +56,11 @@ public class ZenModeConfig implements Parcelable { public static final int[] WEEKNIGHT_DAYS = { Calendar.SUNDAY, Calendar.MONDAY, Calendar.TUESDAY, Calendar.WEDNESDAY, Calendar.THURSDAY }; + public static final int[] MINUTE_BUCKETS = new int[] { 15, 30, 45, 60, 120, 180, 240, 480 }; + private static final int SECONDS_MS = 1000; + private static final int MINUTES_MS = 60 * SECONDS_MS; + private static final int ZERO_VALUE_MS = 20 * SECONDS_MS; + private static final int XML_VERSION = 1; private static final String ZEN_TAG = "zen"; private static final String ZEN_ATT_VERSION = "version"; @@ -445,6 +451,23 @@ public class ZenModeConfig implements Parcelable { return downtime; } + public static Condition toTimeCondition(int minutesFromNow) { + final long now = System.currentTimeMillis(); + final long millis = minutesFromNow == 0 ? ZERO_VALUE_MS : minutesFromNow * MINUTES_MS; + return toTimeCondition(now + millis, minutesFromNow); + } + + public static Condition toTimeCondition(long time, int minutes) { + final int num = minutes < 60 ? minutes : Math.round(minutes / 60f); + final int resId = minutes < 60 + ? com.android.internal.R.plurals.zen_mode_duration_minutes + : com.android.internal.R.plurals.zen_mode_duration_hours; + final String caption = Resources.getSystem().getQuantityString(resId, num, num); + final Uri id = toCountdownConditionId(time); + return new Condition(id, caption, "", "", 0, Condition.STATE_TRUE, + Condition.FLAG_RELEVANT_NOW); + } + // For built-in conditions private static final String SYSTEM_AUTHORITY = "android"; |