Commit Graph

185 Commits

Author SHA1 Message Date
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
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
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
Craig Mautner
5d9c7be84d Begin switch over to task based history.
- Introduce the task history and add to and remove from it with
verification.

Change-Id: If97e74f5a13f85acdb1521fc6d0b066a7e8584ae
2013-02-19 18:11:33 -08:00
Craig Mautner
b0c0b1fd70 Remove unused App methods.
Now that the Task methods have replaced the App methods remove
the App methods.

Change-Id: I0e7432f2c6f99708759ed8c871d20eb5bd38c3c2
2013-02-13 15:24:14 -08:00
Craig Mautner
926f3839d8 Stop using AppToken movement and start using Task.
Change-Id: I5fbd3b2b692e0e127386051f782b1015515ba384
2013-02-13 11:58:56 -08:00
Craig Mautner
30e2d72810 Replace access to mAppTokens with AppTokenIterator
More switching from Activity-based to Task-based control.

Change-Id: Ida47d71a52b875a6a6bd77cb62911053f942da15
2013-02-12 16:03:29 -08:00
Craig Mautner
05d6272bad Add AppWindowTokens to TaskList.
- Add/remove/move TaskLists from ActivityStack.
- Further isolate mHistory.
- Cleanup warnings by parameterizing ArrayList.
- Fix previous bugs.

Change-Id: Ife8c7b7347479c70f10467cc384283456149ac50
2013-02-12 10:52:55 -08:00
Craig Mautner
cae015fea3 Make ActivityStack.mHistory private.
Isolate the Activity history for later conversion to Task-based
management.

Change-Id: I4b6bf22de035c768aa705df0cc4f84486e8ede56
2013-02-08 14:31:27 -08:00
Craig Mautner
2ceb081505 Merge "Migrate AppWindowToken lists into DisplayContent." 2013-02-07 18:50:52 +00:00
Craig Mautner
b1fd65c0ff Migrate AppWindowToken lists into DisplayContent.
In preparation for converting ActivityManager control to a task-based
interface the AppWindowTokens are being stored per-display.

Change-Id: Ie5e355219554523f5e56eaef138d382975cf1682
2013-02-05 17:08:10 -08:00
Dianne Hackborn
f265ea9d83 App ops: vibration, neighboring cells, dialing, etc.
Improve handling of vibration op, so that apps are
better blamed (there is now a hidden vibrator API that
supplies the app to blame, and the system now uses this
when vibrating on behalf of an app).

Add operation for retrieving neighboring cell information.

Add a new op for calling a phone number.  This required
plumbing information about the launching package name through
the activity manager, which required changing the internal
startActivity class, which required hitting a ton of code that
uses those internal APIs.

Change-Id: I3f8015634fdb296558f07fe654fb8d53e5c94d07
2013-02-01 15:14:29 -08:00
Dianne Hackborn
0798149082 Fix bug where we could get stuck repeatedly launching an activity.
A previous change to avoid losing activities if their process
happens to be gone at the point of launch (by counting that
activity as having its state saved) has resulted in a problem
where an activity that crashes during launch will be repeatedly
relaunched.

This is fixed here by explicitly keeping track of our attempts
to launch the activity since it was last able to save its state,
and not keeping it around if it looks like the launch is
repeatedly failing.

Change-Id: Icefd952443b7eb1222f233db95e0157fc3dd72d1
2013-01-28 11:38:26 -08:00
Craig Mautner
4b71aa1f8a Move app transition constants
Move app transition constants from WindowManagerPolicy to
AppTransition.

Change-Id: I8ae6c4d0da1db826c44eb4ea0c6b85016b50b1a3
2013-01-07 23:38:57 -08:00
Craig Mautner
b12428a128 Save most recent thumbnail Bitmap for reuse.
This keeps Recents from taking two identical screenshots, one for
the Recents thumbnail and one for the pause activity thumbnail.

Fixes bug 7351766.

Change-Id: Ia4d12802151666ec36e4d9b395cf10e1e02dc37f
2012-12-20 16:24:58 -08:00
Kenny Root
7b172a49a9 am 58ed5d74: am 768d9e1a: Merge "Correct executable bit for source files"
* commit '58ed5d748c0b9b64845975ef5844ad313de7c3f6':
  Correct executable bit for source files
2012-11-07 13:08:25 -08:00
Kenny Root
58ed5d748c am 768d9e1a: Merge "Correct executable bit for source files"
* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
  Correct executable bit for source files
2012-11-07 11:52:12 -08:00
Kenny Root
3a084af2e9 Correct executable bit for source files
Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
2012-11-07 10:27:31 -08:00
Dianne Hackborn
9221792e0b am e9c9a4ce: am 619eea60: am ecf4725e: Merge "Fix issue #7401818: Wrong transition animation when clearing task" into jb-mr1-dev
* commit 'e9c9a4ce9e9766b8950f34adeedeb7705cadf71e':
  Fix issue #7401818: Wrong transition animation when clearing task
2012-10-24 10:36:30 -07:00
Dianne Hackborn
9622ca4f88 Fix issue #7401818: Wrong transition animation when clearing task
When we are clearing activities off the top of a task, propagate
any activity options down from the top-most one to whatever top
activity we are keeping.  This ensures that if we set the activity
options on the top activity of the task previously to give it the
correct animation, we still keep that animation for the activity
that really ends up being the top.

Change-Id: I6919b644a530ac283fe4d320496edc2bf72aa04e
2012-10-23 18:56:33 -07:00
Craig Mautner
8565363126 am 337aa27a: am 8ee7ac22: am 33877e15: Merge "Adds showWhenLocked attribute to Activities." into jb-mr1-dev
* commit '337aa27a6307e0f40705ee676551dda4bf6cb894':
  Adds showWhenLocked attribute to Activities.
2012-10-07 11:55:58 -07:00
Craig Mautner
5962b12bed Adds showWhenLocked attribute to Activities.
The new attribute allows an Activity such as the alarm to appear
on all users screens.

Bug: 7213805 fixed.
Change-Id: If7866b13d88c04af07debc69e0e875d0adc6050a
2012-10-06 13:09:58 -07:00
Dianne Hackborn
8f5a94d938 am a718bc86: am 7df202e2: am 8a229195: Merge "Fix issue #6968859: home not exiting an ANR\'d dream" into jb-mr1-dev
* commit 'a718bc863aafd21a2bc7240974ca2a51d6af92cf':
  Fix issue #6968859: home not exiting an ANR'd dream
2012-10-04 12:48:13 -07:00
Dianne Hackborn
5fe7e2a304 Fix issue #6968859: home not exiting an ANR'd dream
Add a new call to the activity manager for the input dispatcher
to report about any pid having an ANR.  This has a new feature
where it can also tell the activity manager that it is above the
system alert layer, so the activity manager can pop its ANR dialog
on top of everything if it needs to.  (Normally we don't want
these dialogs appearing on top of the lock screen.)

Also fixed some debugging stuff here and there that was useful
as I was working on this -- windows now very clearly include
their uid, various system dialogs now have titles so you know
what they are in the window manager, etc.

Change-Id: Ib8f5d29a5572542cc506e6d338599ab64088ce4e
2012-10-04 12:04:58 -07:00
Dianne Hackborn
2e0b54f61f am ebe28f51: am 30b07b50: am 6f354ed9: Merge "Fix issue #7226101: Secure image capture takes 5 seconds to start" into jb-mr1-dev
* commit 'ebe28f519cfa637c8bca78e08428977a8390c1fd':
  Fix issue #7226101: Secure image capture takes 5 seconds to start
2012-10-01 18:24:59 -07:00