Language changes will prevent previously saved display settings from
being loaded. This provides a fallback in the event a single entry exists
but does not match the current (localized) name of the Built-In Display.
BUG: 18130296
BUG: 18190800
Change-Id: Ibeff56045fc5713b9f79707dfb92bafc9fadd84f
This is a hack for this version: in a future framework version, there is an API
to do this.
Bug: 17646502
Change-Id: I7b46c0894c5a21189eb82efa04f2ce50ef1f927c
If a Binder dies there is a race between activity manager and window
manager to see who can handle the binderDied call first. If the
activity manager wins the race it will remove the activity and task
but leave the windows around. Until the WindowState.binderDied call
is made and all animation is complete the windows will try to access
the task that they were associated with.
This fix removes the windows of an activity when the activity is
removed. It also defers removal of the activity and task until
exiting windows have completed their animation.
Fixes bug 17031518.
Change-Id: Idf52f55c5feb0cad4e3664ef2eae5b7e95bbf490
(cherry picked from commit 5acd163b828d5b26408eb3a7904d750a1570239e)
Some devices may contain things like transflective displays where
they actually want the backlight brightness to decrease in the face
of high ambient light scenarios. In the interest of time, just use a
linear interpolation based on the brightness control points for these
cases but in the future we should consider adding a non-monotonic
cubic spline.
Bug: 15611140
Change-Id: I308ad00943d916866ee8d2507a41b7032e6b524e
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
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>