The determination for whether to launch home after an app dies
did not include whether the app would have returned home on exit.
This fixes that by checking what the app would naturally return to.
Fixes bug 9466261.
Change-Id: Ife6e895b9ef8c11b0a7f470d3eac4e88e763930b
Earlier CL, ag/321609, was overly aggressive. It should only have kept
the stack from moving when moveTaskToStack() was called. Instead the
change was applied to moveTaskToFront() as well. In order to remain
consistent with earlier behavior of moveTaskToFront() the stack
containing the task must move to the front as well. This movement
launches the activity at the top of the task. Without the stack
movement the activity never gets launched causing bug 9498455.
Fixes bug 9498455.
Change-Id: I2cb9119c23a226f7d211851df9e49f10f702b3ef
Dumping per-package data is now much cleaning, and only really
prints information related to the package. Also clean up the
formatting and such of the new activity stack states.
Change-Id: Ie5f31d72b7e77b34fd9acd835f28ed1db1dff328
Remove some abstraction-breaking magic in ActionBarView and replace it
with proper resolution of the icon/logo when creating a window. The
old implementation relied on the ActionBarView's context being an
Activity.
Bug 9171554
Change-Id: Idbbb1942622195dcb55e8119f2d64287b07bb509
Yay to ArrayMap, letting me get rid of a bunch of temporary
iterators in core code paths like updateOomAdj. (Now I definitely
need an ArraySet to finish that up.)
Also clean up various other things that are doing unnecessary
allocations, clean up some debug output, make more of the debug
output respect package filtering.
Change-Id: Ib4979faf4de8c7912739bc0937c3fa9e7bfcde67
- Add all changing windows to mResizingWindows when an ActivityStack
is resized.
- Stop calling TaskStack.setBounds if the bounds haven't changed.
- Make moving a task from one stack to another work properly.
- Eliminate unused methods and redundant variables in WindowState and
WindowStateAnimator.
Change-Id: I3a950c777bcc50cdeced150d44423d4d0b38af4a
- Move activitySleptLocked, checkReadyForSleepLocked,
mGoingToSleepActivities, mGoingToSleep, mSleepTimeout from
ActivityStack to ActivityStackSupervisor.
- Fix bug that was causing mGoingToSleepActivities to always be
empty.
- Add more debug logging.
Change-Id: Ibd57bd49bf6f468567571b390f3051faaeee1aa1
When a root activity is finishing and it is supposed to return to
home make sure there are only lower activities waiting to start before
going home.
Fixes bug 8632206.
Various other refactorings for efficiency.
Change-Id: I8bbb9de78d0ea9f45a504cf4bad72c698e9cc3d8
- Replace calls to ActivityStack.resumeTopActivity() with calls to
ActivityStackSupervisor.resumeTopActivities().
- Move dim layers from display scope to stack scope. This applies to
both the animation background dim layer and the FLAG_DIM_BEHIND dim
layer.
- Move windows on stacks that are not targeting wallpaper above the
wallpaper. Otherwise wallpaper placement hides the non-focused stacks.
Change-Id: Ic6b97ac6b094672bb1ddac17ce46ea58c738f073
If a task is supposed to launch home when it finishes but then
launches another task and finishes itself, then the new task must
launch home when it finishes.
Fixes bug 8778263.
Change-Id: I6495f6c2e99a906217e73b7b6dcae8ecff435e5f
Add a test for being the top task when closing the last activity in a
task. Without this test, if the last activity in a task was flagged to
return to the home activity on completion but that activity had
launched a new task we would not go to the new task but would instead
launch the home activity.
Fixes bug 8775949.
Change-Id: I7fd9d9ebbdbff8064d894407c35190894a141ecf
This gives us matching pause/resume calls to updateUsageStats(),
since configuration changes never report the pause event.
Change-Id: I5c8afc28766cd90d4bd793980265ce7988750cae
- Continue to display the home screen for non-fullscreen activities
such as Download. Previously launching Download from home would
display Download on top of the previous activity on the user activity
stack.
- Fix NPE when DEBUG_PROVIDER is true.
Change-Id: I705ea43e4b78a5f5e83fc3f5fa83e4c95e592268
Missed a spot where an activity that is launching another was not
being paused. Fixes bug 8640130. At least in one case.
Release mWindowMap as soon as it is no longer needed.
Change-Id: Id2c63d3d715b98741e2ebe3c9985cb1e9ca5ffbc
- Save and restore WindowManager stack states.
- Maintain ActivityManager activity states based on the stack
the activity is in.
Fixes bug 8646641.
Change-Id: I16c76c7708ab49121c3884a7e5bf219898b92d3f
- New InputEventReceiver for detecting taps outside of focused stack
boundaries.
- Fixed bug that wasn't pausing the non-focused window when returning
home.
Change-Id: Ia51d312a7c029abc01eb5df1102814cc29d33b47
Mid-course corrections.
- Simplify ActivityStackSupervisor and ActivityStack constructors to
get passed parameters from ActivityManagerService.
- Store WindowManagerService referecne locally in
ActivityStackSupervisor and ActivityStack.
- Rename getTopStack to getFocusedStack in ActivityStackSupervisor
and ActivityManagerService.
- Move mWaitingActivityLaunched/reportActivityLaunchedLocked and
mWaitingActivityVisible/reportActivityVisibleLocked from ActivityStack
to ActivityStackSupervisor.
- Moved reportResumedActivity to ActivityStackSupervisor.
- Added a Handler to ActivityStackSupervisor. Will populate it on next
CL.
Change-Id: I1bbe5eb737c5cac6b896bc9748f329891e94d00f
Was only calling it for the frontmost stack. But if we are going to
or from the home activity then the pausing stack moves to the back.
Fixes bug 8666221.
Change-Id: I1d6d19b49da4aa23414303336fa266362ae5f4b1
- Fix back button behavior with two stacks. Stopping activities were
held in that state indefinitely. This change causes IDLE_NOW_MSG to
be sent immediately for the last activity in a stack.
- Touch in non-focused stack was being ignored because of focus tests
in AbsListView.
- Change the focused stack when the activity focus changes. Renamed
mMainStack to mFocusedStack to reflect this.
- Resume all top stack activities when resuming.
- Assign intent task to ActivityRecord if it doesn't have a task.
Fixes bug 8433463.
Change-Id: I8d3c806234511697bc209ab99890730ffa514d20
Split stacks and move tasks between them. Layout the windows
according to the new stack split.
After layout content rectangles are known split the available area
between all stack boxes. Then use those values for future layout.
Provide stack contents to ActivityManager.
Change-Id: I9746e6185445633810d506be514d0b7b540a7f99
One for home activity(s), one for other activities. Coordination
between the stacks is handled by the ActivityStackSupervisor.
Change-Id: I11395edea501d2f84a18a6a8bced1ce3d0797dad
This has the full filter functionality, but is currently only
able to block Activity intents. Logging intents, or blocking
service/broadcast intents is not yet implemented.
Change-Id: Ied3d8dedf982e17bcbdff3e328eeb87477954df7
This method can potentially act on different stacks so bringing
it to the supervisor from a single ActivityStack makes sense.
Change-Id: Ia2df3539dce39e8f050a9ffcef4371c0f172aaee
- Do not schedule GC until all stacks are idle.
- Call sendPendingThumbnail outside of synchronized lock.
- Remove redundant synchronized locks.
Change-Id: I56581ca12a534765132bed405fa4b340c418436f
- Remove redundant synchronize in ActivityStack.activityIdleInternal().
- Move startSpecificActivityLocked from ActivityStack to Supervisor.
- Move handleAppDiedLocked from Supervisor to ActivityStack.
Change-Id: Id746ab3bdff861b61182282bea1deb8fcf284084
- Move showAskCompatModeDialogLocked from ActivityStack to
ActivityManagerService.
- Keep track of userId in ActivityStackSupervisor and initialize
new ActivityStacks with it.
- Move realStartActivityLocked to ActivityStackSupervisor except
for the part that actually updates the ActivityStack.
Change-Id: I7467302f1249fee2ea3cf027a49e0894c9a2213d