Commit Graph

207 Commits

Author SHA1 Message Date
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
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
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
Craig Mautner
2219a1ba3d Modify primary ActivityStack accessing.
- Move mHomeStack to ActivityStackSupervisor.
- Move mMainStack to ActivityStackSupervisor.

Change-Id: I43522c9505f066b379ea172dd63663e78a0feece
2013-03-26 07:50:40 -07:00
Craig Mautner
00af9fe6ae Modify StackBox and TaskStack methods.
Also add dump() throughout.

Change-Id: I5369d2e71262645d9b1015bd4e72fad395cc7547
2013-03-25 09:13:41 -07:00
Craig Mautner
270843072c Introduce ActivityStackSupervisor.
- New coordinating class to juggle multiple ActivityStacks.
- First job: take singleton Keyguard dismiss behavior out of
ActivityStack.

Change-Id: I68e4b44411d3ec9401e86ac23703d6540dcb12e8
2013-03-25 08:06:16 -07:00
Craig Mautner
c00204b4d1 Start moving Tasks from DisplayContent to TaskStack
- Create new classes for Stacks on WindowManager.
- Stop using DisplayContent methods and members:
    addAppToken(),
    removeAppToken(),
    setAppTaskId(),
    removeTask(),
    mTaskIdToDisplayContents,
    mTaskIdToTask.
- Start using WindowManagerService.createTask().
- Establish hierarchy of references: AppWindowToken=>Task=>
TaskStack=>StackBox=>DisplayContent.
- Clean up StackBox, TaskStack, and Task.

Change-Id: I798990aa7966784d22f4a43822087d8bb0404dd6
2013-03-15 22:44:29 -07:00
Craig Mautner
64f2b1738a Add ActivityStack to PendingActivityLaunch
The task used by doPendingActivityLaunches is not known at the
time that the PendingActivityLaunch is created. Leading to an NPE.
Adding the ActivityStack to the PAL fixes this.

Fixes bug 8351149.

Change-Id: I64539b8f2e608128ef9d795c0739ef1de7a246d0
2013-03-11 11:40:31 -07:00
Santos Cordon
73ff7d8e64 Obfuscate any phone numbers that pass through the event log.
bug: 8203219
Change-Id: I455849cab9b2a8e08889cf44d1799448846c9151
2013-03-06 19:02:49 -08:00
Craig Mautner
d2328958de Prepare ActivityManagerService for multiple stacks.
- Replace mMainStack with mFocusedStack and mStacks.
- Remove stack from ActivityRecord.
- Add stack to TaskRecord.

Change-Id: I22e9ba34b12c2bd90806b14aafe063d5a2fe66ae
2013-03-06 13:57:26 -08:00
Craig Mautner
5854780df9 Remove all vestiges of mHistory.
Change-Id: I3e9140bcf57f2437d7611419477c410d487f29c1
2013-03-05 08:23:53 -08:00
Craig Mautner
778787728d Fix activity to task bugs
- Fix bug when task has been removed from mTaskHistory by
adding it back in at the top.
- Fix reparenting bug introduced by refactor of
resetTaskIfNeededLocked.

Change-Id: I93df2e62c6aed805fe888847dcf96a1fe0d7be26
2013-03-04 21:32:05 -08:00
Craig Mautner
70a86933b8 Convert mHistory to mTaskHistory (9)
- Convert startActivityLocked from mHistory to mTaskHistory.
- Fix NPE bug in resetTaskIfNeededLocked.

Change-Id: I1598446199634bb455bc06377248fe940d5cb9d4
2013-03-04 17:26:35 -08:00
Craig Mautner
aab647ed57 Convert mHistory to mTaskHistory (8)
- Convert findTaskToMoveToFrontLocked from mHistory to mTaskHistory.
- Convert getTasksLocked from mHistory to mTaskHistory.
- Convert unhandledBackLock from mHistory to mTaskHistory.
- Convert dumpActivitiesLocked from mHistory to mTaskHistory.
- Convert getDumpActivitiesLocked from mHistory to mTaskHistory.
- Convert restartPackage from mHistory to mTaskHistory.

Change-Id: Ica654a964e91f6c6dae92e7fe326bc08b5ad36ac
2013-02-28 17:45:07 -08:00
Craig Mautner
0247fc80c1 Convert mHistory to mTaskHistory (7)
- Remove TaskRecord from mTaskHistory and mTaskIdToTaskRecord when
last ActivityRecord is removed from it.
- Convert finishActivityLocked from mHistory to mTaskHistory.
- Convert navigateUpToLocked from mHistory to mTaskHistory.
- Convert removeHistoryRecordsForAppLocked from mHistory to
mTaskHistory.
- Convert moveHomeToFrontLocked from mHistory to mTaskHistory.

Change-Id: Ic632a8213f48dda1126c5e6853325a298b54f25f
2013-02-28 16:32:23 -08:00
Craig Mautner
9658b31509 Convert mHistory to mTaskHistory (6)
- Convert isInStackLocked from mHistory to mTaskHistory.
- Fix discrepancy between mHistory and mTaskHistory when all
activities in a task are finishing and a new one is being added.
mHistory was separating the task into two places in the stack,
mTaskHistory can't do that.
- Convert startActivityUncheckedLocked from mHistory to mTaskHistory.
- Convert finishTopRunningActivityLocked from mHistory to mTaskHistory.

Change-Id: I42b097c2f187d40ecd98b108794757063903218b
2013-02-28 12:32:11 -08:00
Craig Mautner
1603077067 Convert mHistory to mTaskHistory (5)
- Remove commented out resetTaskIfNeededLocked.
- Remove mHistory from performClearTaskLocked(int, ActivityRecord).
- Remove mHistory from performClearTaskAtIndexLocked.
- Remove mHistory from performClearTaskLocked(int).
- Remove mHistory from getTaskAccessInfoLocked.

Change-Id: I3616147f9e9befa297f244dc4fd5d7b1e97300b3
2013-02-26 16:05:47 -08:00
Craig Mautner
000f002891 Convert mHistory to mTaskHistory (4)
- Remove mHistory from getTaskForActivityLocked.
- Remove mHistory from findTaskLocked.
- Remove mHistory from findActivityLocked.
- Minimize mHistory usage in switchUserLocked.
- Remove mHistory from resumeTopActivityLocked.
- Remove mHistory from validateAppTokensLocked.

Change-Id: I0cc7cf2f1b5a66a1e3b3a9baff7712a3f2f0d5c4
2013-02-26 15:04:29 -08:00
Craig Mautner
d74f7d728f Convert mHistory to mTaskHistory (3)
- Remove mHistory from topRunningActivityLocked(IBinder).
- Remove mHistory from topRunningNonDelayedActivityLocked.
- Remove mHistory from topRunningActivityLocked(ActivityRecord).
- Remove indexOfTokenLocked and its uses in
requestFinishActivityLocked and finishActivityAffinityLocked.

Change-Id: I96b44f66486406b4006b7937360fd92e8dd73060
2013-02-26 13:46:27 -08:00
Craig Mautner
2ad920759b Revert ActivityManager changes for tasks. DO NOT MERGE
Keeping all activity=>task changes in master and removing them
from jb-mr2.

Revert "Update histories simultaneously."
Revert "Add null check to setAppGroupId."
Revert "Fix crashing bug in validator."
Revert "Switch topRunning* and moveTaskTo*"
Revert "Begin switch over to task based history."
Revert "Reset and reuse Iterators and don't new() one."
Revert "Remove AppWindowToken lists."
Revert "Fix build."
Revert "Remove unused App methods."
Revert "Stop using AppToken movement and start using Task."
Revert "Replace access to mAppTokens with AppTokenIterator"
Revert "Refactor setAppOpVisibility implementation."
Revert "Add AppWindowTokens to TaskList."
Revert "Make ActivityStack.mHistory private."
Revert "Migrate AppWindowToken lists into DisplayContent."

Change-Id: I5722c9a4956dccb52864207e2967690bc58e4ebb
2013-02-25 17:07:39 -08:00
Craig Mautner
56f52db423 Convert mHistory to mTaskHistory (2)
- findActivityInHistoryLocked
- moveActivityToFrontLocked
- forceStopPackageLocked

Change-Id: I9dec65fc4cff12184e144b1ad2d39ffbfed0b270
2013-02-25 10:03:01 -08:00
Craig Mautner
d44711ddd3 Conversion from mHistory to mTaskHistory.
Change-Id: I7c43a923ce248edb4ca7d5fc6d1e0c492522f5a0
2013-02-23 11:24:36 -08:00
Craig Mautner
e3a74d5d64 Refactor resetTaskIfNeededLocked for tasks.
Change-Id: I1ad8b7ffe1f17490ebcb98ea48d57f0b15f888c9
2013-02-23 08:37:20 -08:00
Craig Mautner
b44de0d910 Update histories simultaneously.
In moveTaskToBackLocked calls that used mHistory were being made
between the times that mTaskHistory and mHistory were modified. This
caused an inconsistent state that led to Windows arranged out of
order. Updating both history stacks at the same time fixes this.

Fixes bug 8244261.

Change-Id: I9669762ad39b06ab6d401122702b74969d4dc658
2013-02-21 20:00:58 -08:00
Craig Mautner
11bf9a52eb Switch topRunning* and moveTaskTo*
- More of the Activity to Task changeover.
- Fix bug in validateAppTokens().
- Improved validation of changeover.
- Eliminated iterator classes.

Change-Id: I934a208eabfc9a2668e5a6162452e1406f2c8d3a
2013-02-20 16:29:07 -08:00