diff options
| author | Darrell Shi <darrellshi@google.com> | 2022-09-01 16:41:32 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-09-01 16:41:32 +0000 |
| commit | 68e81c211e8741f5000b5385684f00d128722fee (patch) | |
| tree | 6d5d61a9e8cd294d0911a70bf579ecc1139ff7e3 /core/java/android | |
| parent | 8055d0e9df0da930ab2dfa6bbc64134154a38a34 (diff) | |
| parent | 3c94bacacd58807fe77fe3c6cb9c7d0a21de3023 (diff) | |
Merge "Add hidden system dream API in DreamManagerService." into tm-qpr-dev
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/DreamManager.java | 31 | ||||
| -rw-r--r-- | core/java/android/service/dreams/IDreamManager.aidl | 1 |
2 files changed, 29 insertions, 3 deletions
diff --git a/core/java/android/app/DreamManager.java b/core/java/android/app/DreamManager.java index 00af1c02d92d..7c8b0fd499e3 100644 --- a/core/java/android/app/DreamManager.java +++ b/core/java/android/app/DreamManager.java @@ -18,7 +18,6 @@ package android.app; import static android.Manifest.permission.WRITE_SECURE_SETTINGS; -import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemService; @@ -86,16 +85,23 @@ public class DreamManager { } /** - * Starts dream service with name "name". + * Starts dreaming. + * + * The system dream component, if set by {@link DreamManager#setSystemDreamComponent}, will be + * started. + * Otherwise, starts the active dream set by {@link DreamManager#setActiveDream}. * * <p>This is only used for testing the dream service APIs. * + * @see DreamManager#setActiveDream(ComponentName) + * @see DreamManager#setSystemDreamComponent(ComponentName) + * * @hide */ @TestApi @UserHandleAware @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) - public void startDream(@NonNull ComponentName name) { + public void startDream() { try { mService.dream(); } catch (RemoteException e) { @@ -142,6 +148,25 @@ public class DreamManager { } /** + * Sets or clears the system dream component. + * + * The system dream component, when set, will be shown instead of the user configured dream + * when the system starts dreaming (not dozing). If the system is dreaming at the time the + * system dream is set or cleared, it immediately switches dream. + * + * @hide + */ + @TestApi + @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) + public void setSystemDreamComponent(@Nullable ComponentName dreamComponent) { + try { + mService.setSystemDreamComponent(dreamComponent); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** * Sets the active dream on the device to be "dreamComponent". * * <p>This is only used for testing the dream service APIs. diff --git a/core/java/android/service/dreams/IDreamManager.aidl b/core/java/android/service/dreams/IDreamManager.aidl index 53ae6576ef95..609425c95b0d 100644 --- a/core/java/android/service/dreams/IDreamManager.aidl +++ b/core/java/android/service/dreams/IDreamManager.aidl @@ -43,5 +43,6 @@ interface IDreamManager { void forceAmbientDisplayEnabled(boolean enabled); ComponentName[] getDreamComponentsForUser(int userId); void setDreamComponentsForUser(int userId, in ComponentName[] componentNames); + void setSystemDreamComponent(in ComponentName componentName); void registerDreamOverlayService(in ComponentName componentName); } |
