summaryrefslogtreecommitdiffstats
path: root/core/java/android/service
diff options
context:
space:
mode:
authorJason Monk <jmonk@google.com>2014-09-08 10:13:59 -0400
committerJason Monk <jmonk@google.com>2014-09-10 09:30:03 -0400
commit4dd81467e33a694138da6916fc68ca79501a9429 (patch)
treebbba4e89ccc3309509f612bc9512e7e785ab401d /core/java/android/service
parent00fb8a80c87150bc0e032d36d3ff1ea8bef988b3 (diff)
downloadframeworks_base-4dd81467e33a694138da6916fc68ca79501a9429.zip
frameworks_base-4dd81467e33a694138da6916fc68ca79501a9429.tar.gz
frameworks_base-4dd81467e33a694138da6916fc68ca79501a9429.tar.bz2
Move zen mode constants and code to framework
This allows the strings and code to be shared with settings. Bug: 15454830 Change-Id: I9300af4f8b6d80042452b75db3418b20c5c5cc81
Diffstat (limited to 'core/java/android/service')
-rw-r--r--core/java/android/service/notification/ZenModeConfig.java23
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";