Commit Graph

1565 Commits

Author SHA1 Message Date
Craig Mautner
cf8a6ca9aa Merge "Clear displayStartTime whenever starting activity." into klp-dev 2013-10-15 01:28:48 +00:00
Craig Mautner
1e8b872edc Clear displayStartTime whenever starting activity.
setLaunchTime() was only being called from resumeTopActivityLaunched()
but also needed to be called from minimalResumeActivityLocked().

Fixes bug 11104901.

Change-Id: I35c994562dffaf75de014021c775e398224eb3a3
2013-10-14 18:24:52 -07:00
Dianne Hackborn
878deb3c7b Fix issue #11223335: APR: Lots of failures in procstats due to...
...bad cleanup of crashing processes

We now have a special path for crashing processes, to silently
clean up their state.

Also some tweaks to Log/Slog.wtf to get better stack crawl
summaries in APR.

Change-Id: Ieced26989907a6e7615b6fa033813fced78d7474
2013-10-14 17:15:40 -07:00
Jeff Sharkey
b5da7b23df Merge "Throw when taking non-existant Uri permission." into klp-dev 2013-10-14 17:24:14 +00:00
Jeff Sharkey
582f712406 Throw when taking non-existant Uri permission.
Bug: 11080911
Change-Id: Ib73a20f497b447aebe69c88266369605e69a7812
2013-10-14 10:01:33 -07:00
Craig Mautner
ea7c1e24a2 Merge "Add null check when determining mOnTopOfHome" into klp-dev 2013-10-14 16:38:48 +00:00
Craig Mautner
d99384d067 Add null check when determining mOnTopOfHome
Fixes bug 11198896.

Change-Id: I7b35c8a7156f03f8dab0598b55ef327e593f6427
2013-10-14 07:09:18 -07:00
Craig Mautner
e1db0dd089 Test for task in front must include stack in front.
The CL that ensured that a dying task must be in front of the user
(ag/374996) only checked that the task was at the top of /a/ stack,
not on top of the frontmost stack. This checks the stack for being
frontmost before switching to home.

Fixes bug 11208762.

Change-Id: I43f6d380e7a880ec19db03711ada6c7437e15f73
2013-10-14 02:20:57 +00:00
Craig Mautner
2219b751b6 Only return to home if the foreground task is removed.
The previous fix that returned to home when a task on top of home was
removed was too broad. If that task was not the foreground task it was
not a good idea to bring the home screen to the front.

Fixes bug 11198552.

Change-Id: I14e5fdc167011f25e0e8490c3e52c5c1dcbffbff
2013-10-12 11:26:08 -07:00
Craig Mautner
8e5695778f When removing a task that was on home, put home on top.
Killing an app that was launched from home was not relaunching home.
Previous situations relaunched the next app (i.e. home) based on the
task flag. However, when an app dies the relaunch is deferred until
the TaskRecord has long been forgotten. This fix rearranges the stacks
immediately upon the TaskRecord being removed from the stack. Then the
next resumeTopActivities() call will start the home task.

Fixes bug 11189555.

Change-Id: I0e09350a7db55ea8b38cce7bf4b69923a6b99494
2013-10-11 17:36:59 -07:00
Craig Mautner
09cb9bdcc8 Merge "Add test for topmost home stack activity being home." into klp-dev 2013-10-11 19:50:03 +00:00
Craig Mautner
760b2314d9 Add test for topmost home stack activity being home.
And restarts home if test fails.

Fixes bug 11118615.

Change-Id: I3b6c544d479b467f10febff512798c2db8e32f74
2013-10-11 11:57:07 -07:00
Craig Mautner
3474040486 Make an exception for screenshot optimization.
Screenshots were not being made for tasks with the flag
FLAG_EXCLUDE_FROM_RECENTS set. But if the task is in the foreground
the shot should be taken even with the flag set. This fix adds a test
for tasks being in the foreground.

Fixes bug 11170567.

Change-Id: If42db7f43ed1dd8d2b16b68824adc813b31c94f0
2013-10-11 11:05:35 -07:00
Dianne Hackborn
fa8830715d Merge "Fix issue #11175600: Proc stats is aggregating stats in the wrong direction" into klp-dev 2013-10-11 01:29:26 +00:00
Dianne Hackborn
59da67900d Fix issue #11175600: Proc stats is aggregating stats in the wrong direction
Change-Id: I7f06fbde8f52296cb2932003b4da77b2c68a6011
2013-10-10 18:27:24 -07:00
Dianne Hackborn
2c09e8cdf6 Merge "Fix issue #11157301: Bad process stats when apps are binding to long-running services" into klp-dev 2013-10-10 23:11:59 +00:00
Dianne Hackborn
32366b29c4 Fix issue #11157301: Bad process stats when apps are binding to long-running services
We now treat PROCESS_STATE_TOP more specially.  When a process has another
client bound to it that is TOP, it will only allow itself to go in the TOP
state if it is not already running for another significant reason.

Change-Id: Ia3856406bd481bf6e98d55100a5513ccf4060e0d
2013-10-10 16:10:32 -07:00
Jeff Sharkey
2ffa50df6f Guard against NPE when using existing process.
Bug: 11167561
Change-Id: I51ca7daa71504119fb64bc7bc2b7da4e03b13861
2013-10-10 09:52:48 -07:00
Jeff Sharkey
b3da3db34a Merge "Surface outgoing Uri permission grants." into klp-dev 2013-10-09 22:07:11 +00:00
Jeff Sharkey
bcaac0adec Surface outgoing Uri permission grants.
This enables apps to discover and clean up persisted Uri grants when
the underlying Uri becomes invalid, such as when an account is
removed.

Bug: 11142566
Change-Id: Ieeb36cb1155acf226327ebe91cdd30b822d69d1b
2013-10-09 14:32:11 -07:00
Dianne Hackborn
efeb6f3c1b Merge "Fix issue #11087316: Can't run dumpsys procstats on user builds in some cases!" into klp-dev 2013-10-09 19:15:35 +00:00
Dianne Hackborn
08b36a47cf Fix issue #11087316: Can't run dumpsys procstats on user builds in some cases!
Once we pass the dump perm check, we are safe.

Change-Id: I58f483573874ca9f8f914fb94137f8a2afafaf25
2013-10-09 12:14:11 -07:00
Jeff Sharkey
fcd8a39edb Merge "Install providers enabled after app started." into klp-dev 2013-10-09 17:45:11 +00:00
Jeff Sharkey
dd97f4233f Install providers enabled after app started.
When an app has already been started, and a ContentProvider component
is enabled with DONT_KILL_APP, use the existing ProcessRecord to
install the provider.

Bug: 11118692
Change-Id: I990f18b337eb19768ee1db895f1e2eb982046cce
2013-10-08 17:02:26 -07:00
Adam Lesinski
aa52437745 Allow killed task to remove itself
When killing a task from the recents UI, the activities in
the task would be scheduled for destruction, and the task would
be forcefully removed from the ActivityStack, destroying the
ActivityStack in the process if this was the last task. Since the
ActivityStack was removed, any activities calling back to report
their onDestroy was called (or any timeouts that trigger if
activities fail to do this) would be dropped and certain cleanup
routines would not be called.

Tasks and their ActivityStacks are removed automatically when the
activities within them are removed, so this manual removal was
preventing the cleanup routines from running.

bug:10920157
Change-Id: Ied9d4f8fea761a373a9a80a0dfe810590ab411d8
2013-10-08 15:41:18 -07:00
Craig Mautner
b729e99578 Merge "Yet more debugging for 10858941." into klp-dev 2013-10-08 00:16:41 +00:00
Craig Mautner
e2dd83a5b4 Yet more debugging for 10858941.
Change-Id: I258957044cb1a8331124f6abbe53428429c33355
2013-10-07 17:01:41 -07:00
Dianne Hackborn
13c590de1e Fix issue #11113111: dumpsys activity service is broken
Change-Id: Ie02d27b377c562085ef7eb5dea144ce2f382c11d
2013-10-07 14:36:47 -07:00
Craig Mautner
e7dd3469ff Merge "Relax conditions for including windows behind dialogs" into klp-dev 2013-10-06 21:29:34 +00:00
Craig Mautner
ade5f387fa Merge "Revert to jb-mr2 handling of app died." into klp-dev 2013-10-06 21:29:05 +00:00
Dianne Hackborn
4bc5909a03 Merge "Fix issue #11050678: Large memory leak in ActivityStack" into klp-dev 2013-10-06 20:28:47 +00:00
Dianne Hackborn
f46bb1d99b Merge "Fix issue #11086275: Thumbnail only created once for top activity" into klp-dev 2013-10-06 20:28:07 +00:00
Craig Mautner
ff174d52bd Relax conditions for including windows behind dialogs
When a dialog has been minimized to recents the windows behind it
won't be visible. Yet we were requiring them to be visible in order to
be included in the ones being restored. This left the background
windows invisible on resume and showed home behind floating dialogs
instead of the activity that launched the dialogs.

Fixes bug 11067724.

Change-Id: Icadd7ec8fe7c73b52982b6ff5b5d98b8fb8476b0
2013-10-06 12:24:56 -07:00
Craig Mautner
dd88879ce1 Merge "Evaluate task on top of home when task is brought to front." into klp-dev 2013-10-06 17:44:38 +00:00
Craig Mautner
1703fd877f Merge "Resume user where they left off." into klp-dev 2013-10-06 17:44:18 +00:00
Craig Mautner
1909125eba Revert to jb-mr2 handling of app died.
Trying to span all potential stacks looking for apps was too complex
and error-prone. Extending the jb-mr2 method across multiple stacks.

Fixes bug 11080696.

Change-Id: I6391ceae4ad6a0955a409c3fb27472219fd5bf6b
2013-10-06 10:39:31 -07:00
Dianne Hackborn
4d03fe6420 Fix issue #11086275: Thumbnail only created once for top activity
If the last screenshot activity is resumed, we need to always capture
a new screenshot, because it can change at any time.

On the other hand, never create a thumbnail for tasks that have set
themselves to not show on the recent tasks lists, since we have no
use for them.

Change-Id: I38523afc966c125da93339e0100da950119cdf99
2013-10-05 10:26:23 -07:00
Craig Mautner
93529a475e Resume user where they left off.
Remember which stack was in front when the user changes. Restore that
stack when the user changes back. Remove user state when user is
deleted.

Fixes bug 11068986.

Change-Id: I18dfbc35a0c2e21e7a4024227cbfc5ba1208b3a3
2013-10-04 20:55:39 -07:00
Craig Mautner
9c85c201a2 Evaluate task on top of home when task is brought to front.
Localize the point where it is determined whether a task should sit on
top of home or return to the task below it.

Fixes bug 11080913.

Change-Id: I79d1ea9722c867d6b550ddfcd1db35517a79cd90
2013-10-04 20:11:26 -07:00
Dianne Hackborn
9844d299af Fix issue #11050678: Large memory leak in ActivityStack
Clear thumbnails from tasks that are removed from the recent tasks list.

Change-Id: I581d5baac9b5a3e046a654eb8448ff877dd2f120
2013-10-04 16:44:22 -07:00
Dianne Hackborn
ae7b22d61d Merge "Fix issue #10901205: Shouldn't send broadcasts (or try to bind services, etc.)..." into klp-dev 2013-10-04 17:47:34 +00:00
Dianne Hackborn
9357b11a79 Fix issue #10901205: Shouldn't send broadcasts (or try to bind services, etc.)...
...to crashing processes.

So don't.

Change-Id: I4b4fefb501b430fadaca93405206264318c8b95d
2013-10-03 18:27:48 -07:00
Dianne Hackborn
d94d533b5a Fix issue #11069176: Crash showing process stats
Change-Id: Ie568ebcb9863bed95c775b9b28654a5e2dc464cd
2013-10-03 17:32:19 -07:00
Adam Lesinski
d65825ab1c Merge "Private flags are masked in correct variable" into klp-dev 2013-10-03 01:52:18 +00:00
John Reck
172e87ce51 Reduce max recents on lowram
Bug: 10918599
 Reduce the number of recent tasks to 10 on lowram devices
 Use RGB_565 on low ram devices for thumbnails instead of ARGB_8888
 Combined this saves ~9MB across system_process and systemui

Change-Id: Ieddcb512c7341a90097bc7cbc72d7355a775b416
2013-10-02 17:51:11 -07:00
Adam Lesinski
95c42974f7 Private flags are masked in correct variable
Newly added private flags were being masked in the public flag variable
as opposed to the correct privateFlags variable.

bug:11033280
bug:11043194
Change-Id: Idda3a70a083457f3f1b7d4b46d231f4a7e704cf0
2013-10-02 16:18:55 -07:00
Craig Mautner
09be37b2d3 Merge "Add debuggging for 10858941." into klp-dev 2013-10-02 05:04:07 +00:00
Craig Mautner
323f78001d Add debuggging for 10858941.
Change-Id: I0517ccd9a83ef19a9002d61dbebf36d0120e1f63
2013-10-01 21:16:22 -07:00
Dianne Hackborn
164371fb75 Fix issue #11005453: [SUW] G+ profile creation for new user broken
The main problem here was a mistake when turning a single process
structure to a multi-package-process structure with a common
process.  When we cloned the original process state, if there were
any services already created for the process for that package, they
would be left with their process pointer still referencing the
original now common process instead of the package-specific process,
allowing the active counts to get bad.  Now we switch any of those
processes over to the new package-specific process.

There was also another smaller issue with how ServiceRecord is
associated with a ServiceState -- we could be waiting for an
old ServiceRecord to be destroyed while at the same time creating
a new ServiceRecord for that same service class.  These would share
the same ServiceState, so when the old record finally finished
destroying itself it would trample over whatever the new service
is doing.

This is fixed by changing the model to instead of using an "active"
reference count, we have an object identifying the current owner
of the ServiceState.  Then when the old ServiceRecord is cleaning
up, we know if it is still the owner at that point.

Also some other small things along the way -- new Log.wtfStack()
method that is convenient, new suite of Slog.wtf methods, fixed
some services to use Slog.wtf when catching exceptions being
returned to the caller so that we actually know about them.

Change-Id: I75674ce38050b6423fd3c6f43d1be172b470741f
2013-10-01 20:51:12 -07:00
Adam Lesinski
42e9b63100 Merge "Make room for new public flags" into klp-dev 2013-10-02 01:55:09 +00:00