There were certain code paths in handleDockStateChange() that were
exiting without releasing the wakelock. So we move the release to the
calling function to prevent stray held wakelocks.
Bug: 16841895
Change-Id: I8ae4d2ab8f775c42a893d3bcdef34321c5f631a6
Signed-off-by: Prashant Malani <pmalani@google.com>
Was previously removing by trying to match activities, but the
activity being matched would not have been in the stack yet. Since
it doesn't get added to the stack when it goes into the list
of pending activities. By removing all pending activities associated
with the stack we clean up all such pending activities.
Fixes bug 16045752.
Change-Id: I6b5981ffcce674139837b06362e573299bbc9e52
By finishing crashed activities right away the VirtualDisplays
associated with ActivityView are removed immediately rather than
being deferred. Also there is no waiting for Pause (0.5 sec) and
Destroy (10 sec) timeouts to expire.
Fixes bug 15092354.
Change-Id: Ie4941cb19dcc6f6fc61b2475162ea2794c9558a2
This reverts commit 2e8b27e898af3af1165a79e7c5f8b59f63f20a2f.
It also makes the circularMask option configurable via overlay.
It is set to false by default.
An offset dimension entry is also provided, for displays which have
a "chin". This is set to 0 by default.
Bug: 16380982
Change-Id: I16ec3e8d8882a6683c9155055944e5c2f5cd781e
Was previously only waiting for windows on the primary display to
draw which meant that windows on ActivityViews had not yet drawn.
This fix checks redraws all outstanding Surfaces before unblanking
the screen.
Fixes bug 15092354.
Change-Id: Id550db003a5f56931eb68464085596e47d25481d
- Remove activity from PendingActivityLaunch list when it is removed
from stack. This prevents the delayed launch causing
IllegalArgumentException in b/16045752.
- Move PendingActivityLaunch from ActivityManagerService to
ActivityStackSupervisor.
- Immediately call onTaskListEmptyLocked() in cases where no
activities are found in stack.
Fixes bug 16045752.
Change-Id: Ia69a449e7f5e08ab6e36157d0fd793c4d2fdaca4
In case an Activity is started before we idle, there is a chance
the booting flag might never get updated.
Bug: 16015648
Change-Id: I46504bd126573e3a2ce1f914be922765ae9fe560
If a task is being cleared due to Intent flags and that clearing
was causing the last activity in the last task on a stack to be
deleted, then we were deleting the stack. Immediately after
this we were refilling the task with the same activity but the
stack had already been deleted.
This fix preserves the task and stack when it is only being
cleared for the new activity.
Fixes bug 15611901.
Change-Id: I7bcfa826d0852d9c640daa73fe1324b89471fecd
The existing code for notification manager/listeners uses a oneway
binder api to deliver messages. One problem with this is that
notification objects can sometimes get fairly large, and can bump
into the oneway binder transaction buffer if many happen at once.
To reduce this issue, flip the service into a oneway delivery of
a status bar notification holder, whose wrapped content is then
immediately fetched upon receipt of the one-way message. This moves
the meat of the fetch to be over a two-way interface without changing
the properties of which object is actually sent (a tickle solution
with lookup key would have changed this)
Further research: attempt to chunk notification objects themselves.
They can sometimes transfer hundreds of KB over a binder transaction.
Bug: 15426276
Change-Id: Ib1a1f4ff848c16f80bcf2ae4dfd2b87a9091f0b2
The dummy animation is a place holder. When the task stack is being
removed treating it as a true animation forced us through a path
where we deferred the detachment and made a call to tmpRemoveWindows.
Also replaced call to tmpRemoveWindows with a real remove windows
call. The tmpRemoveWindows call does not clean up the Session
and this leaves a surface on the screen.
Fixes bug 15591610.
Change-Id: I05f7bc276bfed2366bbcd8443c92a4bbbc8a4491
Remove uid before calling into Window Manager. Restore afterwards.
Check for null stack value before dereferencing.
Fixes bug 15591112.
Change-Id: Ida3de556940440162c91b8c1614d0f21e364abd8
- Do not call IActivityContainer.release() from
ActivityView.finalize() if it has already been called from
ActivityView.release(). Eliminates IBinder finalized Exception.
- Call ActivityRecord.makeFinishing() before calling ActivityStack.
destroyActivityLocked(). Forces call to scheduleDestroyActivity()
and eventually removeFromHistory(). Otherwise removeFromHistory()
is never called and window manager AppWindowTokens become orphans.
- Defer call to ActivityContainer.detachLocked() until all
activities have finished or timed out. Fixes problem where Display
is removed while activities are still launching.
- Call ActivityStackSupervisor.deleteActivityContainer() when all
activities have finished or timed out. Fixes orphaned
ActivityContainers.
Fixes bug 15450798.
Fixes bug 15484154.
Fixes bug 15383479.
Fixes bug 15316558.
Fixes bug 15168560.
Fixes bug 15143914.
Change-Id: Id3c641976b6f825458690f9ee063c07818b56f23
Add Intent.FLAG_ACTIVITY_NO_AMINATION to all Intents passed into
ActivityView.
Fixes bug 15393526.
Change-Id: I1899a5019416109e982f0254aaba410bb1f4a38d
The change is specific to AT&T as they want no signaling from device during provisioning.
I've tested following cases:
- expired AT&T SIM to make sure provisioning flow works as expected.
- airplane mode on/off with both active and expired AT&T SIM.
- wifi <-> mobile transitions work okay.
- LTE with Verizon SIM (basic sanity).
bug: 13190133
Change-Id: I215963174ae6000ae71d1dda693f95413f3d6e81
Check that the BrightnessRamp animation has completed before updating
the display state to STATE_DOZING.
Bug: 13472578
Change-Id: Ib9751f7a987463e4df98571e846d829ec8e73b5e
Signed-off-by: Prashant Malani <pmalani@google.com>
Users of ActivityViews can now be informed when there are no more
active activities in ActivityView by registering a callback.
Fixes bug 15330616.
Change-Id: I39d55bdb0db8b0a12ee751cdcb039b7fbb899c85
The screen turning on would show windows as they were when the screen
turned off. This fix forces all showing windows to redraw first and
only then allow the screen to turn on.
Fixes bug 15092354.
Change-Id: I349995bf6446d6c462dccdc2b599bab9ab0ab2c8
Minor refactoring of dock observer to allow its state to be
inspected and modified via dumpsys for debugging purposes.
eg. View current state.
adb shell dumpsys DockObserver
eg. Simulate being docked.
adb shell dumpsys DockObserver set state 1
eg. Reset back to normal.
adb shell dumpsys DockObserver reset
Change-Id: Ie48db775290ebed9aa4d9d9d5ac5a6fcb6122ac9
New tasks were being started on ActivityViews because they
matched packages. This fix enforces a rule that new tasks
can only be started on ActivityViews if they are explicitly
targeted for that ActivityView.
Fixes bug 15162447.
Change-Id: I9ccb72171b5cda0897a0b9ffe4cbebfbb0d92c2c
Allow power button to be used to either go to sleep as usual,
which may doze, or skip that completely and really go to sleep.
May also really go to sleep and go home all at once.
Bug: 14406056
Change-Id: Ia19e2551b9c2a72271bb2eddd5c0d1749761e019
When the device enters a non-interactive state, we normally
cancel all active vibrations as a safety precaution. However if
the system is performing haptic feedback then we want to allow
it to run to completion.
Bug: 14319563
Change-Id: I673781bbf32562e45c1595689e6b423bd178ea73