summaryrefslogtreecommitdiffstats
path: root/services/core/java/com/android/server/dreams
diff options
context:
space:
mode:
authorJohn Spurlock <jspurlock@google.com>2014-06-17 13:58:31 -0400
committerJohn Spurlock <jspurlock@google.com>2014-06-25 13:33:09 -0400
commitbf370992508c55d1f2493923bdc1834a0710e4ba (patch)
tree4be1a3567ebe163297be36da5ac6d51539964922 /services/core/java/com/android/server/dreams
parent828d11df52680ad75e045f5e4251311605d37af2 (diff)
downloadframeworks_base-bf370992508c55d1f2493923bdc1834a0710e4ba.zip
frameworks_base-bf370992508c55d1f2493923bdc1834a0710e4ba.tar.gz
frameworks_base-bf370992508c55d1f2493923bdc1834a0710e4ba.tar.bz2
Create a basic doze dream in SystemUI.
The doze dream is not configured by default. When configured, the doze dream does not show anything by default. It teases a dark version of the keyguard (showing only the time and notifications) when a notification arrives or significant motion is detected. Bug:15863249 Change-Id: Icfceb054d35d6fd4d9178eda7480e2464873ca4b
Diffstat (limited to 'services/core/java/com/android/server/dreams')
-rw-r--r--services/core/java/com/android/server/dreams/DreamManagerService.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/dreams/DreamManagerService.java b/services/core/java/com/android/server/dreams/DreamManagerService.java
index 8968da3..ed4ccfc 100644
--- a/services/core/java/com/android/server/dreams/DreamManagerService.java
+++ b/services/core/java/com/android/server/dreams/DreamManagerService.java
@@ -103,6 +103,9 @@ public final class DreamManagerService extends SystemService {
@Override
public void onBootPhase(int phase) {
if (phase == SystemService.PHASE_THIRD_PARTY_APPS_CAN_START) {
+ if (Build.IS_DEBUGGABLE) {
+ SystemProperties.addChangeCallback(mSystemPropertiesChanged);
+ }
mContext.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
@@ -127,6 +130,7 @@ public final class DreamManagerService extends SystemService {
pw.println("mCurrentDreamCanDoze=" + mCurrentDreamCanDoze);
pw.println("mCurrentDreamIsDozing=" + mCurrentDreamIsDozing);
pw.println("mCurrentDreamDozeHardware=" + mCurrentDreamDozeHardware);
+ pw.println("getDozeComponent()=" + getDozeComponent());
pw.println();
DumpUtils.dumpAsync(mHandler, new DumpUtils.Dump() {
@@ -653,4 +657,18 @@ public final class DreamManagerService extends SystemService {
}
}
}
+
+ private final Runnable mSystemPropertiesChanged = new Runnable() {
+ @Override
+ public void run() {
+ if (DEBUG) Slog.d(TAG, "System properties changed");
+ synchronized(mLock) {
+ if (mCurrentDreamName != null && mCurrentDreamCanDoze
+ && !mCurrentDreamName.equals(getDozeComponent())) {
+ // may have updated the doze component, wake up
+ stopDreamLocked();
+ }
+ }
+ }
+ };
}