diff options
| -rw-r--r-- | api/system-current.txt | 1 | ||||
| -rw-r--r-- | core/java/android/os/PowerManager.java | 24 |
2 files changed, 25 insertions, 0 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 22c6f407ea6e..4524e752a1bd 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -4109,6 +4109,7 @@ package android.os { } public final class PowerManager { + method public void dream(long); method public int getPowerSaveMode(); method public boolean setDynamicPowerSavings(boolean, int); method public boolean setPowerSaveMode(boolean); diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java index a307cd80e724..1c1db68babc3 100644 --- a/core/java/android/os/PowerManager.java +++ b/core/java/android/os/PowerManager.java @@ -24,6 +24,7 @@ import android.annotation.SystemApi; import android.annotation.SystemService; import android.annotation.TestApi; import android.content.Context; +import android.service.dreams.Sandman; import android.util.Log; import android.util.proto.ProtoOutputStream; @@ -1001,6 +1002,29 @@ public final class PowerManager { } /** + * Requests the device to start dreaming. + * <p> + * If dream can not be started, for example if another {@link PowerManager} transition is in + * progress, does nothing. Unlike {@link #nap(long)}, this does not put device to sleep when + * dream ends. + * </p><p> + * Requires the {@link android.Manifest.permission#WRITE_DREAM_STATE} permission. + * </p> + * + * @param time The time when the request to nap was issued, in the + * {@link SystemClock#uptimeMillis()} time base. This timestamp may be used to correctly + * order the dream request with other power management functions. It should be set + * to the timestamp of the input event that caused the request to dream. + * + * @hide + */ + @SystemApi + @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) + public void dream(long time) { + Sandman.startDreamByUserRequest(mContext); + } + + /** * Boosts the brightness of the screen to maximum for a predetermined * period of time. This is used to make the screen more readable in bright * daylight for a short duration. |