Skip to content

Commit 6ebbe1b

Browse files
John SpurlockAndroid (Google) Code Review
authored andcommitted
Merge "Invoking the global action dialog stops dreaming." into jb-mr1-dev
2 parents 27b3819 + 542a51c commit 6ebbe1b

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

policy/src/com/android/internal/policy/impl/GlobalActions.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,15 @@
3939
import android.os.Handler;
4040
import android.os.Message;
4141
import android.os.RemoteException;
42+
import android.os.ServiceManager;
4243
import android.os.SystemClock;
4344
import android.os.SystemProperties;
4445
import android.os.UserHandle;
4546
import android.os.UserManager;
4647
import android.os.Vibrator;
4748
import android.provider.Settings;
49+
import android.service.dreams.DreamService;
50+
import android.service.dreams.IDreamManager;
4851
import android.telephony.PhoneStateListener;
4952
import android.telephony.ServiceState;
5053
import android.telephony.TelephonyManager;
@@ -83,6 +86,7 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac
8386
private final Context mContext;
8487
private final WindowManagerFuncs mWindowManagerFuncs;
8588
private final AudioManager mAudioManager;
89+
private final IDreamManager mDreamManager;
8690

8791
private ArrayList<Action> mItems;
8892
private GlobalActionsDialog mDialog;
@@ -106,6 +110,8 @@ public GlobalActions(Context context, WindowManagerFuncs windowManagerFuncs) {
106110
mContext = context;
107111
mWindowManagerFuncs = windowManagerFuncs;
108112
mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
113+
mDreamManager = IDreamManager.Stub.asInterface(
114+
ServiceManager.getService(DreamService.DREAM_SERVICE));
109115

110116
// receive broadcasts
111117
IntentFilter filter = new IntentFilter();
@@ -145,7 +151,20 @@ public void showDialog(boolean keyguardShowing, boolean isDeviceProvisioned) {
145151
}
146152
}
147153

154+
private void awakenIfNecessary() {
155+
if (mDreamManager != null) {
156+
try {
157+
if (mDreamManager.isDreaming()) {
158+
mDreamManager.awaken();
159+
}
160+
} catch (RemoteException e) {
161+
// we tried
162+
}
163+
}
164+
}
165+
148166
private void handleShow() {
167+
awakenIfNecessary();
149168
mDialog = createDialog();
150169
prepareDialog();
151170

0 commit comments

Comments
 (0)