Merge "Add a method in IDreamManager to check if dreaming OR in dream preview" into tm-qpr-dev am: 3448c2fe1c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19603443 Change-Id: I003dde1065c5d16c44bd63d7693b593d157fe47e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -35,6 +35,8 @@ interface IDreamManager {
|
||||
void testDream(int userId, in ComponentName componentName);
|
||||
@UnsupportedAppUsage
|
||||
boolean isDreaming();
|
||||
@UnsupportedAppUsage
|
||||
boolean isDreamingOrInPreview();
|
||||
void finishSelf(in IBinder token, boolean immediate);
|
||||
void startDozing(in IBinder token, int screenState, int screenBrightness);
|
||||
void stopDozing(in IBinder token);
|
||||
|
||||
@@ -218,6 +218,7 @@ public final class DreamManagerService extends SystemService {
|
||||
}, pw, "", 200);
|
||||
}
|
||||
|
||||
/** Whether a real dream is occurring. */
|
||||
private boolean isDreamingInternal() {
|
||||
synchronized (mLock) {
|
||||
return mCurrentDreamToken != null && !mCurrentDreamIsPreview
|
||||
@@ -225,6 +226,13 @@ public final class DreamManagerService extends SystemService {
|
||||
}
|
||||
}
|
||||
|
||||
/** Whether a real dream, or a dream preview is occurring. */
|
||||
private boolean isDreamingOrInPreviewInternal() {
|
||||
synchronized (mLock) {
|
||||
return mCurrentDreamToken != null && !mCurrentDreamIsWaking;
|
||||
}
|
||||
}
|
||||
|
||||
protected void requestStartDreamFromShell() {
|
||||
requestDreamInternal();
|
||||
}
|
||||
@@ -694,6 +702,19 @@ public final class DreamManagerService extends SystemService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override // Binder call
|
||||
public boolean isDreamingOrInPreview() {
|
||||
checkPermission(android.Manifest.permission.READ_DREAM_STATE);
|
||||
|
||||
final long ident = Binder.clearCallingIdentity();
|
||||
try {
|
||||
return isDreamingOrInPreviewInternal();
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(ident);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override // Binder call
|
||||
public void dream() {
|
||||
checkPermission(android.Manifest.permission.WRITE_DREAM_STATE);
|
||||
|
||||
Reference in New Issue
Block a user