History log of /frameworks/base/core/java/android/service/dreams/DreamService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6711f3b34c2ad9c622f56a08b81e313795fe7647 07-May-2015 Adam Powell <adamp@google.com> Move PhoneWindow and friends back into internal package

PhoneWindow, PhoneLayoutInflater and PhoneFallbackEventHandler decided
to @hide out over in the android.view package after the policy jar was
disbanded. Give them a more appropriate home over in framework that
doesn't imply that they should be accessed from other internal layers
of abstraction.

Bug 19606548

Change-Id: Id07b791d178fa447010b49b24726b52208838e88
/frameworks/base/core/java/android/service/dreams/DreamService.java
6a975b3c3597a4ad9202432f3c3d867a03d43fa4 10-Apr-2015 Tim Kilbourn <tkilbourn@google.com> Save search context when dispatching onSearchRequested.

The InputDevice used to trigger the search is saved in a SearchEvent
so an application implementing onSearchRequested determine the device
triggering the search.

Bug: 15374820
Change-Id: If2cd14f77ce572a5ee131697cd63145fbea63f27
/frameworks/base/core/java/android/service/dreams/DreamService.java
4423d91de5300d3fd318bf5bc2d4d7e5bb856abf 02-Mar-2015 Clara Bayarri <clarabayarri@google.com> Add a type parameter to startActionMode() calls.

This requires adding a new method to View and Window.Callback to pass
down the type as a parameter.

For compatibility purposes, the new method implementations keep the
type and call the old method, in case clients have subclassed it.

Change-Id: If5d857f131e33be8cc6a8814f2e9c4e85ad2da25
/frameworks/base/core/java/android/service/dreams/DreamService.java
7b9c912f536925ac6ec43935d6e97506851b33d6 31-May-2013 Tor Norbye <tnorbye@google.com> Add @ResourceInt annotations on APIs

Change-Id: I119cc059c2f8bd98fd585fc84ac2b1b7d5892a08
/frameworks/base/core/java/android/service/dreams/DreamService.java
ae6688b09649447e57468b3e7935691bc09ec9b9 12-Feb-2015 Dianne Hackborn <hackbod@google.com> Update voice interaction layer for new UI design.

Can switch from a pure overlay at the top of the screen,
to interactive mode with the voice UI drawing at the bottom
and pushing its target activity up like an IME.

Add mechanism to get assist data to the voice interaction UI.

Add some basic visualization of the assist data, outlining
where on the screen we have text.

Add a test ACTION_ASSIST handler, which can propagate the
assist data it gets to the voice interaction session so
you can see what kind of data we are getting from different
apps.

Change-Id: I18312fe1601d7926d1fb96a817638d60f6263771
/frameworks/base/core/java/android/service/dreams/DreamService.java
c051955392840cb94bd6f0b2a8107a48d2ffc8b0 12-Feb-2015 Scott Kennedy <skennedy@google.com> Mark findViewById(int) @Nullable

Change-Id: I9bf7c08a896bd9c28400ff832179abc579fd502f
/frameworks/base/core/java/android/service/dreams/DreamService.java
b10e33ff804a831c71be9303146cea892b9aeb5d 04-Feb-2015 Jorim Jaggi <jjaggi@google.com> Split up android.policy into framework.jar and services.jar 1/3

Change-Id: Ifd69f1f3dd308a7e17a1442e2f3950da8b03cec4
/frameworks/base/core/java/android/service/dreams/DreamService.java
9d38f35a8f4e2ae671337af20c640dffa92570c5 26-Sep-2014 Adrian Roos <roosa@google.com> Clear FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS for dreams

By default, dreams should not get the in-window bars
because those conflict with the lights-out bar mode.

Bug: 17367264
Change-Id: I8c041c706f7a7c4791ed4760c34a5618fb7423d7
/frameworks/base/core/java/android/service/dreams/DreamService.java
2175e9c366998ed7bd1a4501b94a02f4f49b932c 13-Sep-2014 Jeff Brown <jeffbrown@google.com> Add support for dozing after screen off.

On some devices, we want the screen off transition to complete before
we start dozing. Added a new config.xml attribute config_dozeAfterScreenOff
to configure this behavior.

Defer starting dreams until the display is ready.

Fixed some minor issues in the system UI doze service when setting the
display state.

Bug: 16187655
Change-Id: Ib1bc60de5457166f4b4880732db5df989dda67a4
/frameworks/base/core/java/android/service/dreams/DreamService.java
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/DreamService.java
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/DreamService.java
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/DreamService.java
6612727c18fe6e7b6edf811f3a1a871a710c0ebe 28-Jun-2014 John Spurlock <jspurlock@google.com> Doze: allow devices to opt-out of sigmotion trigger.

For devices with unreliable significant motion sensors, allow
the tease signal to be disabled via device config.

Also add doze state to dream service dumpsys.

Bug:15863249
Change-Id: I23eeec09c69cc3bd43b187e49555391ac0a99d9f
/frameworks/base/core/java/android/service/dreams/DreamService.java
eb8d1be6acad180eabde84f19196b9ecaba81353 25-Jun-2014 John Spurlock <jspurlock@google.com> Add a BIND_DREAM_SERVICE signature-level permission.

Starting in api 21, will be required to bind to a
declared dream or doze service.

Also added to aapt dump badging output.

Bug:15862654
Change-Id: Ifa0a594eeecf21e6146176c7810a847e1d08fe3b
/frameworks/base/core/java/android/service/dreams/DreamService.java
bf370992508c55d1f2493923bdc1834a0710e4ba 17-Jun-2014 John Spurlock <jspurlock@google.com> Create a basic doze dream in SystemUI.

The doze dream is not configured by default.

When configured, the doze dream does not show anything by default.
It teases a dark version of the keyguard (showing only the time
and notifications) when a notification arrives or significant motion
is detected.

Bug:15863249
Change-Id: Icfceb054d35d6fd4d9178eda7480e2464873ca4b
/frameworks/base/core/java/android/service/dreams/DreamService.java
117b695222135cc684e891d4126116b97a64bc9e 06-May-2014 Adam Powell <adamp@google.com> onWindowDismissed API cleanup

Move the window swipe to dismiss plumbing off of Window.Callback into
its own internal interface implemented by Activity and Dialog. Make it
internal API instead of public. Apps should control this via the
window feature setting.

Change-Id: I64cd237fa7eab08719b2c34e31dac7d34f02563a
/frameworks/base/core/java/android/service/dreams/DreamService.java
037c33eae74bee2774897d969d48947f9abe254f 09-Apr-2014 Jeff Brown <jeffbrown@google.com> Plumb display power state through display manager.

Declare a new method, Display.getState() to retrieve the actual
power state of a display.

Improved documentation for Intent.ACTION_SCREEN_ON and
Intent.ACTION_SCREEN_OFF to clarify what they really mean in
terms of the interactive state of the device.

Deprecated PowerManager.isScreenOn() and replaced it with
PowerManager.isInteractive() with a more suggestive name and
better documentation.

Redirect display power state changes to go through the display
manager first and only then head over to the power manager for
legacy compatibility.

Eliminated the bright here and woke here policy flags since they
were unused. Simplified the input dispatch policy somewhat.

Ensure that screen wake locks are respected up until the point
when dozing really begins.

Fixed a regression in DreamService where onDreamingStarted
might be called before onWindowAttached.

Bug: 13133142
Bug: 13472578
Bug: 13929355
Bug: 13760290
Change-Id: Iabef96921dd554ce3768fb18619cefc3230b5fb0
/frameworks/base/core/java/android/service/dreams/DreamService.java
344812d2f3a9e56cc53a86a8825fb73b16d3c0dd 03-Apr-2014 Jeff Brown <jeffbrown@google.com> Clean up certain state transitions in DreamService.

Instead of posting onDreamingStarted() to a handler from attach(), do
the work immediately. This ensures that the dream is actually in the
expected state when the callback runs. Previously it was possible
for the callback to run after detach() occurred which could cause
exceptions and unexpected behavior. As it happens, there's no need
to post this callback since attach() already runs on the UI thread.

Handle certain races involving the window token lifecycle a little
better. When the dream manager shuts down a dream, it removes the
window token. This can happen before the dream completes its attach()
phase in which case a BadTokenException is thrown. We now handle this
exception and abort the dream in anticipation of receiving a request
to finish it immediately.

Add a safeguard to getDozeHardware() to handle the case where it
might inadvertently be called at the wrong point in the lifecycle.

Bug: 13475612
Bug: 13760290
Change-Id: I9bc9c154370d08d7727b568d398c460a38592099
/frameworks/base/core/java/android/service/dreams/DreamService.java
ca6234e084a71e0c968cff404620298bcd971fcc 12-Feb-2014 Will Haldean Brown <haldean@google.com> Add swipe-to-dismiss support to PhoneWindow.

This adds a new window feature -- FEATURE_SWIPE_TO_DISMISS -- and a
theme attribute to activate that feature. When the feature is
activated, a SwipeDismissLayout is inflated as the DecorView layout.
SwipeDismissLayout intercepts touch events and steals ones that are
large swipes to the right if its children don't. PhoneWindow registers
handlers that listen for these swipe events, translate the window when
necessary, and finish the activity at the end of the gesture.

Change-Id: I512e758f3c3ffd3b353dba3b911c0e80a88d6f5f
/frameworks/base/core/java/android/service/dreams/DreamService.java
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/DreamService.java
6c9a1a1004f224e771139aec6fd2058aa6bdccbd 19-Nov-2012 Scott Main <smain@google.com> docs: update dreamservice description

Change-Id: I7e7295a3d67ca1760ba52b3958bf91540692e542
/frameworks/base/core/java/android/service/dreams/DreamService.java
6237ac19bf4eed261e8b0c69fac774581b4ea02b 09-Oct-2012 Scott Main <smain@google.com> improve some docs for dreams

Change-Id: I7652f4366cdc8c40926d7961582663cc99ca0735
/frameworks/base/core/java/android/service/dreams/DreamService.java
f434d23a16b34e7815049db29bbcd0cd8a4e4862 11-Oct-2012 Chris Wren <cwren@android.com> delay onDreamingStarted() to work around asynchrony.

Bug: 7328682
Change-Id: I86144b0b34eade332543244bb3aff5f9695ff7f7
/frameworks/base/core/java/android/service/dreams/DreamService.java
6918d9f970989f1e5ca5a03b04d10a4c890721e9 11-Oct-2012 Daniel Sandler <dsandler@android.com> Merge "Remove Dream windows immediately." into jb-mr1-dev
c13107046acfcda7e3402a56a617818b7e77e1b8 10-Oct-2012 Daniel Sandler <dsandler@android.com> Remove Dream windows immediately.

Ensures that onDetachedFromWindow happens before onDestroy.

Bug: 7295929
Change-Id: Ic4ac2552bfce75a5dc43dc840e6ef0182369e24b
/frameworks/base/core/java/android/service/dreams/DreamService.java
a934fd142ec59b297b31c1f0b664e0c0d5e61eba 09-Oct-2012 Chris Wren <cwren@android.com> default the screen on during the dream.

Bug: 7295909
Change-Id: Ic629bd08bdade8dba2b92124c56cab1bb438bec2
/frameworks/base/core/java/android/service/dreams/DreamService.java
4c1e3183baf39ab69c0289c1511877a8bb0b0f75 06-Oct-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7296314, issue #7296314.

7296314 Crashing dreams are stuck
7296510 Transition from lock screen to dreaming is really bad

The window layer for dreams is now moved down below the keyguard,
so that some of the expected stuff like crash and ANR dialogs can
be seen on top of them. While doing this, I reorganized how we
define the layers so the constants are just in the switch statement,
so it is much less crazy-making trying to read how things go
together.

We now have some special cases for when a dream is being shown
to turn off its animation if the keyguard is currently shown.
Since we know it will be hiding the keyguard we need it to be
shown immediately so that you don't see whatever is behind it.

Cleaned up some handling of when the lock screen is displayed
while a FLAG_SHOW_WHEN_LOCKED window is displayed, so that the
lockscreen doesn't transiently get shown and mess up the fullscreen
or system UI state. This also fixes problems with any normal
activity that is doing this.

Hid the methods on DreamService for setting lights out mode. It
doesn't make sense to have such methods on DreamService, because
you can just as well do that on your own View that is showing the
dream content, and when you can do that you can fully participate
in the (required) interactions about it such as being told when
the mode goes away.

The DreamService method for going fullscreen now uses the window
flag for doing this, which is what you want, because you want this
state to persistent on that window and not get knocked out if
something above the window tickles the system UI state.

Also fixed the problem where dreams that hid the status bar would
have a jerky animation when going away, since they were causing the
activity behind them to be layed out without the lock screen. This
is a kind-of ugly special case in the window manager right now to
just not layout windows that are behind a dream. Good enough for MR1.

Change-Id: Ied2ab86ae068b1db0ff5973882f6d17b515edbcd
/frameworks/base/core/java/android/service/dreams/DreamService.java
2d78490292090eeab84694330978c9ad7fad2d37 04-Oct-2012 Daniel Sandler <dsandler@android.com> DreamService API revisions.

Reduce reliance on Service interface overrides, instead
steering clients to the DreamService-specific lifecycle
hooks:

onAttachedToWindow .. onDreamingStarted ..
onDreamingStopped .. onDetachedFromWindow

The old Dream.java is finally gone now too.

Bug: 7281802
Change-Id: Ib7802c3397fde60ad1132fa49831da182eef4d7a
/frameworks/base/core/java/android/service/dreams/DreamService.java
3a4d41a654bf00972da9013854ba0e15b2c01fe9 01-Oct-2012 John Spurlock <jspurlock@google.com> Update javadocs for DreamService.

Reflect the new intent-filter protocol, and add a bit about <dream>.
Also escape xml so it's visible in generated html.

Bug:7256474
Change-Id: Id270eeb70601b492458834f19216801b428af4cb
/frameworks/base/core/java/android/service/dreams/DreamService.java
be87e2f5885b28145a788fd31d1fb5ae88a71100 29-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7255954: API Review: rename Dream to DreamService

Change-Id: I89ecf2c3ec4fef09c0495aa68de11576f9cfd872
/frameworks/base/core/java/android/service/dreams/DreamService.java