0f208eb707926f0afc1ce073be866bedd4955aa2 |
|
27-Jul-2014 |
Jeff Brown <jeffbrown@google.com> |
Remove DozeHardware since it will not be used. Bug: 16516536 Change-Id: I14597d3c9470c94e3bc5b8cff500d2fe6b2fd977
/frameworks/base/core/java/android/service/dreams/IDreamManager.aidl
|
970d4132ea28e748c1010be39450a98bbf7466f3 |
|
19-Jul-2014 |
Jeff Brown <jeffbrown@google.com> |
Allow dreams to control screen state and brightness. Added setDozeScreenState() and setDozeScreenBrightness() methods to DreamService. The values specified here only take effect once startDozing is called and can be changed while dozing. This required some significant rework of the display power controller but the result seems quite nice and better represents the policy we want to apply. Changed the test dream a little bit to make it flash the screen every minute using the new functions. Bug: 15903322 Change-Id: I83bcc34503f1b87727d2b2b3c0ef08507f9f0808
/frameworks/base/core/java/android/service/dreams/IDreamManager.aidl
|
f6d466895b74d620d646abbec1c8911f3a0ce0bb |
|
18-Jul-2014 |
Jeff Brown <jeffbrown@google.com> |
Allow dreams to wake up gently. This change adds a new DreamService.wakeUp() method to allow a dream to wake itself up gently and perform a transition before finally finishing. The power manager will ask a dream to wake up gently in most cases but may force it to happen immediately when necessary. If the dream takes too long to finish itself then the dream controller will douse it with water summarily after 5 seconds. Change-Id: Ib0564c5650cd5a454e1acc5aa91fe46995eecfa7
/frameworks/base/core/java/android/service/dreams/IDreamManager.aidl
|
2687550272ba061448f5d5b914700dc335299ee7 |
|
31-Jan-2014 |
Jeff Brown <jeffbrown@google.com> |
Add a new "doze mode" based on Dream components. When a doze component has been specified in a config.xml resource overlay, the power manager will try to start a preconfigured dream whenever it would have otherwise gone to sleep and turned the screen off. The dream should render whatever it intends to show then call startDozing() to tell the power manager to put the display into a low power "doze" state and allow the application processor to be suspended. The dream may wake up periodically using the alarm manager or other features to update the contents of the display. Added several new config.xml resources related to dreams and dozing. In particular for dozing there are two new resources that pertain to decoupling auto-suspend mode and interactive mode from the display state. This is a requirement to enable the application processor and other components to be suspended while dozing. Most devices do not support these features today. Consolidated the power manager's NAPPING and DREAMING states into one to simplify the logic. The NAPPING state was mostly superfluous and simply indicated that the power manager should attempt to start a new dream. This state is now tracked in the mSandmanSummoned field. Added a new DOZING state which is analoguous to DREAMING. The normal state transition is now: AWAKE -> DREAMING -> DOZING -> ASLEEP. The PowerManager.goToSleep() method now enters the DOZING state instead of immediately going to sleep. While in the doze state, the screen remains on. However, we actually tell the rest of the system that the screen is off. This is somewhat unfortunate but much of the system makes inappropriate assumptions about what it means for the screen to be on or off. In particular, screen on is usually taken to indicate an interactive state where the user is present but that's not at all true for dozing (and is only sometimes true while dreaming). We will probably need to add some more precise externally visible states at some point. The DozeHardware interface encapsulates a generic microcontroller interface to allow a doze dream for off-loading rendering or other functions while dozing. If the device possesses an MCU HAL for dozing then it is exposed to the DreamService here. Removed a number of catch blocks in DreamService that caught Throwable and attempted to cause the dream to finish itself. We actually just want to let the process crash. Cleanup will happen automatically if needed. Catching these exceptions results in mysterious undefined behavior and broken dreams. Bug: 12494706 Change-Id: Ie78336b37dde7250d1ce65b3d367879e3bfb2b8b
/frameworks/base/core/java/android/service/dreams/IDreamManager.aidl
|
62c82e4d92cc0b856059f905d81885f7808a0e7d |
|
26-Sep-2012 |
Jeff Brown <jeffbrown@google.com> |
Make DreamManagerService more robust. Clearly isolated the DreamManagerService and DreamController responsibilities. DreamManagerService contains just enough logic to manage the global synchronous behaviors. All of the asynchronous behaviors are in DreamController. Added a new PowerManager function called nap() to request the device to start napping. If it is a good time to nap, then the PowerManagerService will call startDream() on the DreamManagerService to start dreaming. Fixed a possible multi-user issue by explicitly tracking for which user a dream service is being started and stopping dreams when the current user changes. The user id is also passed to bindService() to ensure that the dream has the right environment. Fix interactions with docks and the UI mode manager. It is important that we always send the ACTION_DOCK_EVENT broadcast to the system so that it can configure audio routing and the like. When docked, the UI mode manager starts a dock app if there is one, otherwise it starts a dream. This change resolves issues with dreams started for reasons other than a user activity timeout. Bug: 7204211 Change-Id: I3193cc8190982c0836319176fa2e9c4dcad9c01f
/frameworks/base/core/java/android/service/dreams/IDreamManager.aidl
|
f4f6b4c8b0fcf77d46567f13b409255948fe107b |
|
25-Aug-2012 |
John Spurlock <jspurlock@google.com> |
Fire "dreaming started" and "dreaming stopped" broadcasts. Dream manager now fires broadcast intents when entering + exiting dreamland (except when testing). Power manager can now listen for dreams ending, using polling only as a backstop. Also: - Bullet-proof dream-manager/dream against known failure modes - Add new read/write dream permissions - Refactor dream-manager to delegate work + state management into a new DreamController class, via a handler Bug:6999949 Bug:7152024 Change-Id: I986bb7812209d8c95ae1d660a5eee5998a7b08b1
/frameworks/base/core/java/android/service/dreams/IDreamManager.aidl
|
1a868b7981ca5f52e893fdf9f8f538c9d5ce241d |
|
22-Aug-2012 |
John Spurlock <jspurlock@google.com> |
Add framework support for multiple dreams. Bug:7028665 Change-Id: I4fba6b8e39dc07af4490c621ac3bc7b3867371b2
/frameworks/base/core/java/android/service/dreams/IDreamManager.aidl
|
bc632a28e4fba4a659baf39b9fd3d06d10cfda97 |
|
31-Jul-2012 |
John Spurlock <jspurlock@google.com> |
Re-enable dreams: frameworks/base Enable feature in config. Expose Dream in public api for unbundled apps. Unhide package. Add isDreaming() method to service. Re-arrange the Dream api a bit. (use onStart as hook for subclasses). Coordinate properly with power manager. Replace old dock mode (don't fire old intent). Change-Id: I1318d20cc1613e5d862f2913f2fcdc9719302cf7 Bug: 6921930
/frameworks/base/core/java/android/service/dreams/IDreamManager.aidl
|
7d276c377ce0c56630c06a6da431a6cb9bd76d1e |
|
30-Jan-2012 |
Daniel Sandler <dsandler@android.com> |
New Android Dreams architecture, disabled for now. Rather than normal Activities (which have a host of problems when used for this purpose), screen savers are now a special kind of Service that can add views to its own special window (TYPE_DREAM, in the SCREENSAVER layer). Dreams are now launched by the power manager; whenever it is about to turn the screen off, it asks the window manager if it wants to run a screen saver instead. (http://b/5677408) Also, the new config_enableDreams bool allows the entire feature to be switched on or off in one place. It is currently switched off (and the APIs are all @hidden). Change-Id: Idfe9d430568471d15f4b463cb70586a899a331f7
/frameworks/base/core/java/android/service/dreams/IDreamManager.aidl
|