Commit Graph

229 Commits

Author SHA1 Message Date
Craig Mautner
4addfc5f39 Add API to convert translucent Activity to opaque.
Fixes bug 9298778.

Change-Id: If6198f42bdea8aa727a2abc672eb0062aaf63ca3
2013-06-25 16:56:37 -07:00
Craig Mautner
fb1e20dfe2 Don't move stack with task for moveTaskToFront.
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
2013-06-23 21:28:10 -07:00
Craig Mautner
d213beae75 Don't bring stack forward when moving tasks.
Change-Id: I222eda9e3ea62119c8948a99a63de55b13ca69f4
2013-06-17 12:30:32 -07:00
Dianne Hackborn
7ad34e5fb2 Improve debug printing in activity manager.
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
2013-06-06 11:05:50 -07:00
Adam Powell
3f7a6935d3 Merge "Fix a bug resolving the correct icon/logo in action bars" 2013-06-01 00:07:05 +00:00
Adam Powell
04fe6ebb9f Fix a bug resolving the correct icon/logo in action bars
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
2013-05-31 15:00:24 -07:00
Dianne Hackborn
390517be2d Clean up some temporary allocations.
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
2013-05-30 19:26:42 -07:00
Craig Mautner
b3b36ba138 Resize all changed windows and fix moveTaskToStack
- 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
2013-05-20 13:25:14 -07:00
Craig Mautner
f7bfefb598 Reformat wrapped lines and merge sendMessages.
Change-Id: I2834966196c2e6a778fc0cb71e4a56411b24c3f0
2013-05-20 13:25:14 -07:00
Craig Mautner
0eea92c67b Move sleep from ActivityStack to Supervisor
- 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
2013-05-16 13:35:39 -07:00
Craig Mautner
86d67a4faa Move Recents into home stack.
Allows Recents activity to occupy a special place in the window/stack
hierarchy.

Change-Id: Ic11c94a075f70c7ba68bd554cd3e5fc6b7c407e7
2013-05-14 10:34:38 -07:00
Craig Mautner
525f3d9df6 Do not launch home task if activities remain
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
2013-05-07 15:01:46 -07:00
Kenny Root
add582122d resolved conflicts for merge of 485d7a31 to master
Change-Id: I058e19af8732df44457bdc614ee810a642dc25e4
2013-05-07 09:51:31 -07:00
Craig Mautner
b59dcfd5e1 Call ensureActivitiesVisibleLocked from supervisor.
- Don't call ActivityStack.ensureActivitiesVisibleLocked directly.
Instead call ActivityStackSupervisor.ensureActivitiesVisibleLocked.

- Add detecting monochrome screenshots to black screenshots.

- minor refactors.

Change-Id: I050b1cd40cacaab451f1460a77a82125a8077ff2
2013-05-06 13:12:58 -07:00
Craig Mautner
05d290365f Fix layering and launching issues.
- 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
2013-05-03 13:40:13 -07:00
Craig Mautner
e418ecd129 Propagate the return-to-home flag to next task.
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
2013-05-01 17:02:29 -07:00
Craig Mautner
d94b1b480e Handle case where finishActivity removes activity
Fixes bug 8773046.

Change-Id: I2e9f15c19ee9b50347472542ace5287964964203
2013-05-01 11:58:03 -07:00
Craig Mautner
9e14d0fd9a Do not return to Home activity if not top task.
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
2013-05-01 11:26:09 -07:00
Craig Mautner
9db9a0bde5 Move task methods into TaskRecord.
Stop doing backflips to do task operations in ActivityStack.

Change-Id: I57b1be6affcb8b7d504ae33b3e44bde2e6253f1c
2013-04-29 17:05:56 -07:00
Jeff Sharkey
58b98d392d Merge "Report dead activities as paused to stats." 2013-04-25 23:49:08 +00:00
Jeff Sharkey
5782da778c Report dead activities as paused to stats.
Also tell stats about pause before dispatching to remote side.

Change-Id: I975d0fba65515fa768127792d5aa7976df2ba2d3
2013-04-25 15:01:48 -07:00
Craig Mautner
458dd87552 Merge "Fix launching non-full screen apps from home." 2013-04-25 20:46:05 +00:00
Jeff Sharkey
7efcc0c16d Skip reporting resumes due to config change.
This gives us matching pause/resume calls to updateUsageStats(),
since configuration changes never report the pause event.

Change-Id: I5c8afc28766cd90d4bd793980265ce7988750cae
2013-04-25 13:11:47 -07:00
Craig Mautner
580ea81ccd Fix launching non-full screen apps from home.
- 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
2013-04-25 12:58:38 -07:00
Craig Mautner
eb95786fd3 Pause activities when leaving.
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
2013-04-24 15:34:32 -07:00
Craig Mautner
858d8a6583 Fix user switching.
- Save and restore WindowManager stack states.
- Maintain ActivityManager activity states based on the stack
the activity is in.

Fixes bug 8646641.

Change-Id: I16c76c7708ab49121c3884a7e5bf219898b92d3f
2013-04-23 19:33:42 -07:00
Craig Mautner
cf910b0c71 Add tap detector for switching stack focus.
- 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
2013-04-23 19:33:27 -07:00
Craig Mautner
f333327782 Move idle handling from ActivityStack to Supervisor
Along with mFinishingActivities, mStartingUsers and
mCancelledThumbnails.

Change-Id: Ia354225d72e694b7ac68b0869fcab903a3d06436
2013-04-22 10:55:53 -07:00
Craig Mautner
ce5f3cba6b Refactoring Activity Manager.
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
2013-04-22 09:12:38 -07:00
Craig Mautner
165640bbc6 Use correct stacks for testing changes.
Fixes bug 8656057.

Change-Id: I88e48d28d240fced866a82bd3d49f8807300c0ad
2013-04-20 10:37:58 -07:00
Craig Mautner
7d9eaa435d Call updateUsageStats for all stacks.
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
2013-04-19 13:57:33 -07:00
Craig Mautner
f88c50f8da Handle app dying.
Fix bugs related to handleAppDied.
Fixes bug 8658744.

Change-Id: I0ba2466ffac5e465e803e97a781810c34a6de371
2013-04-18 19:25:12 -07:00
Craig Mautner
69ada558f5 Fix launching logic.
Fixes bug 8643197.

Change-Id: Ie09a767082dc492b449111da91bc0e77b43fa2f6
2013-04-18 13:51:51 -07:00
Craig Mautner
a9a3fb1da3 Add transparent frame around focused stack.
- Also fix bugs when removing stack.

Change-Id: I3e0e3029f512f086601add00ccf34b2fea84296d
2013-04-18 10:02:38 -07:00
Craig Mautner
29219d963d Steady improvement to multi stack.
- 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
2013-04-17 13:54:48 -07:00
Craig Mautner
967212cb54 Implement stack splitting and task movement.
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
2013-04-15 13:46:47 -07:00
Craig Mautner
de4ef020ec Implement separate stacks.
One for home activity(s), one for other activities. Coordination
between the stacks is handled by the ActivityStackSupervisor.

Change-Id: I11395edea501d2f84a18a6a8bced1ce3d0797dad
2013-04-12 15:45:47 -07:00
Santos Cordon
d8ff71bdaf am 0a5eb3ec: am acd840d5: Merge "Obfuscate any phone numbers that pass through the event log." into jb-mr2-dev
* commit '0a5eb3eca776c414a2d170c8e697edad19f9e957':
  Obfuscate any phone numbers that pass through the event log.
2013-04-10 16:00:40 -07:00
Santos Cordon
acd840d5c3 Merge "Obfuscate any phone numbers that pass through the event log." into jb-mr2-dev 2013-04-10 22:53:08 +00:00
Ben Gruver
9cc60e81d7 Remove the sender package filter from the intent firewall
Change-Id: I3124c6969984eef646f22216c709bdfb324d6679
2013-04-05 12:20:24 -07:00
Ben Gruver
4efe9403af Initial implementation of IntentFirewall functionality
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
2013-04-02 21:18:41 -07:00
Craig Mautner
8849a5ecb8 Move startActivityUncheckedLocked to Supervisor
This method can potentially act on different stacks so bringing
it to the supervisor from a single ActivityStack makes sense.

Change-Id: Ia2df3539dce39e8f050a9ffcef4371c0f172aaee
2013-04-02 16:41:03 -07:00
Craig Mautner
6170f73ed5 Move startActivity from ActivityStack to Supervisor
Change-Id: I188c8e95e6f8371a016ad6fceb0bfa5de04e4abb
2013-04-02 13:16:58 -07:00
Craig Mautner
dbcb31f28c Fix potential synch problems.
- Do not schedule GC until all stacks are idle.
- Call sendPendingThumbnail outside of synchronized lock.
- Remove redundant synchronized locks.

Change-Id: I56581ca12a534765132bed405fa4b340c418436f
2013-04-02 13:06:37 -07:00
Craig Mautner
e79d4268c0 Yet more movement from ActivityStack to Supervisor
- Remove redundant synchronize in ActivityStack.activityIdleInternal().
- Move startSpecificActivityLocked from ActivityStack to Supervisor.
- Move handleAppDiedLocked from Supervisor to ActivityStack.

Change-Id: Id746ab3bdff861b61182282bea1deb8fcf284084
2013-04-01 19:01:53 -07:00
Craig Mautner
2420ead032 More movement from ActivityStack to Supervisor
- 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
2013-04-01 17:31:37 -07:00
Craig Mautner
b0f7dc7588 Move performClearTaskLocked into TaskRecord.
Make TaskRecord responsible for clearing itself.

Change-Id: I03fa50aaec108ab7f071412785da59ad58243d87
2013-04-01 16:34:45 -07:00
Craig Mautner
23ac33bb85 Migrate activity starts into ActivityStackSupervisor.
Individual ActivityStacks should not be the place where stack
decisions are made.

Change-Id: If9c7a10e1127618c3ae008a0fea6e5943f776be4
2013-04-01 16:27:10 -07:00
Craig Mautner
e11f2b774b Minor refactors
- Eliminate unused mLooper.
- Rename isSleeping to isSleepingOrShuttingDown.
- Fix dump formats.

Change-Id: I4cfc99605ac34213bf9b705562f2c701810434fd
2013-04-01 13:06:11 -07:00
Craig Mautner
8d341efad0 Move mStacks to ActivityStackSupervisor
Lift all ActivityStack behaviors from ActivityManagerService.

Change-Id: I356f1c22fe31f0442ff5e363f62fe99b7bfd6153
2013-03-28 11:30:01 -07:00