Commit Graph

1223 Commits

Author SHA1 Message Date
Dianne Hackborn
06a06db5c4 Fix issue #11536426: Permission denied when trying to launch...
...an activity from a notification

We don't remove pending intents when updating an app, which is necessary
to keep app widgets and other things working.  However, when uninstalling
an app, we should clear out all of its pending intents.

Change-Id: I4b2980f407dbae6c2f4700ca8bc08f299f0a6dca
2013-12-02 10:46:29 -08:00
Adam Lesinski
7ae9ea572d am bac61807: am 1abead42: am 245408d2: Merge "Do not hold direct ref BatteryStatsImpl" into klp-dev
* commit 'bac61807d3bcfff957b358cb9ad77850bd373689':
  Do not hold direct ref BatteryStatsImpl$Uid$Proc
2013-11-18 13:36:06 -08:00
Adam Lesinski
bac61807d3 am 1abead42: am 245408d2: Merge "Do not hold direct ref BatteryStatsImpl" into klp-dev
* commit '1abead425c0e862e316e17521833a33d22e7a850':
  Do not hold direct ref BatteryStatsImpl$Uid$Proc
2013-11-18 13:32:42 -08:00
Adam Lesinski
2cd3fb5aa7 Do not hold direct ref BatteryStatsImpl$Uid$Proc
BatteryStatsImpl can reset its collected data, including
removing a BatteryStatsImpl$Uid$Proc object. If a ProcessRecord
has a direct reference, then the battery stats for a process
will be recorded in an old Proc object and prevent GC, causing
a memory leak.

bug:11087238
Change-Id: I19a9cd9d8361c10446a8ebdd5c0860b56c442209
2013-11-18 12:29:34 -08:00
Mike Lockwood
ed8902d3b5 Remove obsolete "headless" support
Change-Id: I18e7a4c5166163372ec0a8abbef1063668a0f5b6
2013-11-15 11:01:47 -08:00
Dianne Hackborn
c0b5351555 am 03be79b3: am fbf4888d: am 9882d388: Merge "Fix issue #11223338: Not retaining service started state while restarting" into klp-dev
* commit '03be79b35ca7060f383075a43ff19c8a9d63a7c0':
  Fix issue #11223338: Not retaining service started state while restarting
2013-11-07 10:24:22 -08:00
Dianne Hackborn
03be79b35c am fbf4888d: am 9882d388: Merge "Fix issue #11223338: Not retaining service started state while restarting" into klp-dev
* commit 'fbf4888d19b0c68d8004f9ad2423a583dc01178e':
  Fix issue #11223338: Not retaining service started state while restarting
2013-11-07 10:21:34 -08:00
Dianne Hackborn
daa0d5c929 Fix issue #11223338: Not retaining service started state while restarting
When I cleaned up how we maintained the lifecycle of the tracker with a
service, I broke most tracking of the service restart state.  (Since at
that point the service is no longer associated with a process, so I
must clean up the tracker state).  This change introduces a new special
case for interacting with a service tracker to explicitly tell it when
a service is being restarted.  It also fixes how we update the process
state when services are attached to it, so it goes in and out of the
restarting state correctly.

In addition:

- Maybe fix issue #11224000 (APR: Dependent processes not getting added
  to LRU list).  We were not clearing ServiceRecord.app when bringing
  down a service, so if for some reason there were still connections to
  it at that point (which could happen for example for non-create bindings),
  then we would so it when updating the LRU state of that client process.
- dumpsys procstats's package argument can now be a package or process
  name, and we will dump all relevent information we can find about that
  name.
- Generally improved the quality of the dumpsys procstats output with its
  various options.
- Fixed a bug in ActivityManager.dumpPackageState() where it would hang if
  the service was dumping too much, added meminfo to the set of things
  dumped, and tweaked command line options to include more data.
- Added some more cleaning code to ActiveServices.killServices() to make
  sure we clean out any restarting ServiceRecord entries when a process is
  being force stopped.
- Re-arranged ActiveServices.killServices() to do the main killing of the
  service first, to avoid some wtf() calls that could happen when removing
  connections.

Bug: 11223338
Bug: 11224000

Change-Id: I5db28561c2c78aa43561e52256ff92c02311c56f
2013-11-06 16:42:17 -08:00
Dianne Hackborn
e33d97401d am 0a3a387a: am 6d61faad: am d64744cc: Merge "Help out with issue #11497149: Clock app crashes when opened during..." into klp-dev
* commit '0a3a387a46720cdbd4fcccbe55ac24d1f385fece':
  Help out with issue #11497149: Clock app crashes when opened during...
2013-11-05 14:23:44 -08:00
Dianne Hackborn
0a3a387a46 am 6d61faad: am d64744cc: Merge "Help out with issue #11497149: Clock app crashes when opened during..." into klp-dev
* commit '6d61faad436f3bae41c6008ffe3e03a19eb4c277':
  Help out with issue #11497149: Clock app crashes when opened during...
2013-11-05 13:56:23 -08:00
Dianne Hackborn
23037419e3 Help out with issue #11497149: Clock app crashes when opened during...
...the repeated hour in DST transition

Record the last crash info that caused an app to be marked as a bad app.

Also for the battery work, add a system property tuning parameter to be
able to control the background service start delay, so we can easily
run experiments with it turned off if we want.

Change-Id: Ic33dc464d8011c918a39b912da09ea4f0fb28874
2013-11-04 18:11:29 -08:00
Dianne Hackborn
490cee6902 am 52b46b4b: am de2d961f: am fbefe9bf: Merge "Fix issue #11168649: LRU logic for Chrome renderers seems..." into klp-dev
* commit '52b46b4bd0377e5d66e8591fbff4b5fc95f7d51a':
  Fix issue #11168649: LRU logic for Chrome renderers seems...
2013-10-31 17:23:57 -07:00
Dianne Hackborn
52b46b4bd0 am de2d961f: am fbefe9bf: Merge "Fix issue #11168649: LRU logic for Chrome renderers seems..." into klp-dev
* commit 'de2d961ff83fbca65bebb9696551cbbc14cad6a5':
  Fix issue #11168649: LRU logic for Chrome renderers seems...
2013-10-31 17:21:59 -07:00
Dianne Hackborn
fbefe9bf74 Merge "Fix issue #11168649: LRU logic for Chrome renderers seems..." into klp-dev 2013-11-01 00:18:12 +00:00
Dianne Hackborn
db92608de9 Fix issue #11168649: LRU logic for Chrome renderers seems...
...not to work on KitKat (was: Janky exit animation)

Reworking the LRU list (splitting it into an activity vs. empty
section) accidentally broken the old behavior of "client activity"
processes being prioritized with activity processes.  In fact, we
were no longer marking "client activity" processes at all.

In this change, we rework how we manage "client activity" processes
by putting them on the main activity LRU section.  This is generally
simple -- ActiveServices now keeps track of whether a process is
a "client activity" process based on its bindings, and updateLruProcess
treats these as regular activity processes.  However, we don't want
to allow processes doing this to spam our LRU list so that we lose
everything else, so there is some additional complexity in managing
that list where we spread client activity processes across is so
that the intermingle with other activity processes.

The rest of the change is fairly simple -- the old client activity
process management is gone, but that doesn't matter because it wasn't
actually running any more.  There is a new argument to updateLruProcess
to indicate a client process it comes from (since we now need to update
this based on bindings) which is just used to limit how high in the
LRU list we can move things.  The ProcessRecord.hasActivities field is
simply removied, because ProcessRecord.activities.size() > 0 means the
same thing, and that is actually what all of the key mechanisms are using
at this point.

Finally, note there is some commented out code of a new way to manage
the LRU movement.  This isn't in use, but something I would like to
move to in the next release so it is staying there for now for further
development.

Change-Id: Id8a21b4e32bb5aa9c8e7d443de4b658487cfbe18
2013-10-31 16:32:44 -07:00
Igor Murashkin
dc5699dff1 am 6ec49e58: am 73a523d9: am e5c1208e: Merge "am: Increase dropbox buffer size to 256KB (from 128KB)" into klp-dev
* commit '6ec49e58ab6a3bf2bcad5726523629d002007550':
  am: Increase dropbox buffer size to 256KB (from 128KB)
2013-10-29 14:59:40 -07:00
Igor Murashkin
6ec49e58ab am 73a523d9: am e5c1208e: Merge "am: Increase dropbox buffer size to 256KB (from 128KB)" into klp-dev
* commit '73a523d9bfe28ca0b1b5d5875176290b00865d14':
  am: Increase dropbox buffer size to 256KB (from 128KB)
2013-10-29 14:25:30 -07:00
Igor Murashkin
e5c1208ef9 Merge "am: Increase dropbox buffer size to 256KB (from 128KB)" into klp-dev 2013-10-29 21:20:54 +00:00
Dianne Hackborn
93a8c8e028 am a03fc2c2: am 1c18c5d4: am 3a702cb5: Merge "Fix issue #11391003: Allow dumpsys meminfo to be used with native processes" into klp-dev
* commit 'a03fc2c296407a42a568f9acfdf63cb5db536cb4':
  Fix issue #11391003: Allow dumpsys meminfo to be used with native processes
2013-10-28 15:08:58 -07:00
Dianne Hackborn
a03fc2c296 am 1c18c5d4: am 3a702cb5: Merge "Fix issue #11391003: Allow dumpsys meminfo to be used with native processes" into klp-dev
* commit '1c18c5d40ce7004d28aaa8f6c6713efcc72e6706':
  Fix issue #11391003: Allow dumpsys meminfo to be used with native processes
2013-10-28 15:05:46 -07:00
Dianne Hackborn
e77187d018 Fix issue #11391003: Allow dumpsys meminfo to be used with native processes
Change-Id: I005e4dc763deafac95dc3aa6261c06d1808fdaff
2013-10-25 16:32:41 -07:00
Dianne Hackborn
b251e0794a am 33c7520b: am 0b1ec016: am 19d79659: Merge "Fix issue #11374840: adb shell am startservice not working any more" into klp-dev
* commit '33c7520b68e015c46ed1bcb277dc4faaa368cc55':
  Fix issue #11374840: adb shell am startservice not working any more
2013-10-25 16:14:19 -07:00
Dianne Hackborn
33c7520b68 am 0b1ec016: am 19d79659: Merge "Fix issue #11374840: adb shell am startservice not working any more" into klp-dev
* commit '0b1ec0165a5dc98bc82670288894af446ff5bcaa':
  Fix issue #11374840: adb shell am startservice not working any more
2013-10-25 15:37:30 -07:00
Dianne Hackborn
de0e83bc39 Fix issue #11374840: adb shell am startservice not working any more
The startService() and stopServie() calls had a redundant check for
the incoming user ID being valid, but with its own custom implementation
that doesn't match the normal handleIncomingUser flow.  In fact, for
both of these we are going to do handleIncomingUser anyway when we get
to retrieveServiceLocked(), so there was just no need for this.

Change-Id: I14409a03781a14a5f1a786aceb31dcc77efb062c
2013-10-25 14:34:18 -07:00
Igor Murashkin
44d04aa0ac am: Increase dropbox buffer size to 256KB (from 128KB)
Minor changes for dumping stack traces:
- Print the native traces right after foreground/persistent apps
- Also include mediaserver, sdcard, and surfaceflinger in traces

Bug: 11321322
Change-Id: Ic09b7da316a5f197dda0ac3bde06f75574cc2166
2013-10-23 14:43:05 -07:00
Dianne Hackborn
f4bcc592bf am b3332447: am e6a8ccb3: am 2d76a1a0: Merge "Fix issue #11323037: Android apk incorrectly marked as running in app processes" into klp-dev
* commit 'b3332447964dfe19299f6ba0365ee706daa4494b':
  Fix issue #11323037: Android apk incorrectly marked as running in app processes
2013-10-23 10:52:56 -07:00
Dianne Hackborn
b333244796 am e6a8ccb3: am 2d76a1a0: Merge "Fix issue #11323037: Android apk incorrectly marked as running in app processes" into klp-dev
* commit 'e6a8ccb3d11a3af2a2d9f0077965d05754abcff3':
  Fix issue #11323037: Android apk incorrectly marked as running in app processes
2013-10-23 10:49:52 -07:00
Dianne Hackborn
237cefbcee Fix issue #11323037: Android apk incorrectly marked as running in app processes
The android package is now a special case, not being added to the package list
when creating a multi-process component.  There is no need, since this package
is actually the framework itself which must be loaded in every process.

Also cleaned up some of the procstats dump output to help see what is going
on here.

Change-Id: If65d35ecd562f3154bdebfded69c454af6ce8c96
2013-10-22 19:15:49 -07:00
Dianne Hackborn
eceecfd224 am 25e7240e: am 519d8895: am 9c446d82: Merge "Fix issue #11217255: Setup Wizard ANR when adding new user profile from settings." into klp-dev
* commit '25e7240e997d9af058f2700f7626b8c9d155ee3a':
  Fix issue #11217255: Setup Wizard ANR when adding new user profile from settings.
2013-10-16 14:08:59 -07:00
Dianne Hackborn
25e7240e99 am 519d8895: am 9c446d82: Merge "Fix issue #11217255: Setup Wizard ANR when adding new user profile from settings." into klp-dev
* commit '519d8895a29dd78f5250ee2ececac4e03a6f5b70':
  Fix issue #11217255: Setup Wizard ANR when adding new user profile from settings.
2013-10-16 14:05:52 -07:00
Dianne Hackborn
2a272d42a3 Fix issue #11217255: Setup Wizard ANR when adding new user profile from settings.
Two problems addressed here:

- If a call to startActivity() comes in on an activity that is finishing, we can
  end up putting the new activity in a stack that isn't actually in use any more
  (if the finishing activity is the last one on that stack).  This is a bad case,
  anyway, so if this happen the treat it as not being called on an existing
  activity and switch to NEW_TASK to find a task for it.

- There was a bug in handling PACKAGE_CHANGE broadcasts that would result in the
  app's processes being killed, even though the cleanup through the activities
  was done.  This could leave the activity stack in a bad state.  Fix this to
  correctly provide an app id for the changing package so that its processes are
  killed.

Change-Id: Iece04e0cf95025c3d30353d68bf3d14fd39d44c3
2013-10-16 13:34:33 -07:00
Craig Mautner
33379fb317 am 67122f46: am 504b6045: am 4270ebc7: Merge "Remove debug logging." into klp-dev
* commit '67122f46be4ab186c1f88780a2043b458797254a':
  Remove debug logging.
2013-10-15 17:37:24 -07:00
Craig Mautner
67122f46be am 504b6045: am 4270ebc7: Merge "Remove debug logging." into klp-dev
* commit '504b60453f30b78da3a13e022a1d8a7badf26ae1':
  Remove debug logging.
2013-10-15 17:33:26 -07:00
Craig Mautner
a7f2bd4da7 Remove debug logging.
Change-Id: I5d7c11e8b8525bfc8eb87bb0fff4f71337b4a39d
2013-10-15 16:13:50 -07:00
Jeff Sharkey
3a58678ac2 am 7a531be1: am 94758633: am b5da7b23: Merge "Throw when taking non-existant Uri permission." into klp-dev
* commit '7a531be13bc9ba6218747c185cd199c9e864c60f':
  Throw when taking non-existant Uri permission.
2013-10-14 11:54:21 -07:00
Craig Mautner
8a3146e960 am 272b0929: am 6b5fc882: am 166434ec: Merge "When removing a task that was on home, put home on top." into klp-dev
* commit '272b0929a9022f4f1cfc6b72fdbb9cb2416e5bd2':
  When removing a task that was on home, put home on top.
2013-10-14 10:49:55 -07:00
Jeff Sharkey
7a531be13b am 94758633: am b5da7b23: Merge "Throw when taking non-existant Uri permission." into klp-dev
* commit '94758633943e77c820fd77f96329848cc7f31230':
  Throw when taking non-existant Uri permission.
2013-10-14 10:29:15 -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
272b0929a9 am 6b5fc882: am 166434ec: Merge "When removing a task that was on home, put home on top." into klp-dev
* commit '6b5fc882d1823c8922860ef284442442b635111b':
  When removing a task that was on home, put home on top.
2013-10-11 19:48:12 -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
d2bb1dd031 am 7bc5cdc0: am 4732660a: am ab3276dd: Merge "Make an exception for screenshot optimization." into klp-dev
* commit '7bc5cdc0e9ef61438135243db83ab426fa97acae':
  Make an exception for screenshot optimization.
2013-10-11 12:55:23 -07:00
Craig Mautner
7bc5cdc0e9 am 4732660a: am ab3276dd: Merge "Make an exception for screenshot optimization." into klp-dev
* commit '4732660a50f3373812e8ae55cbda264d469bfded':
  Make an exception for screenshot optimization.
2013-10-11 12:50:05 -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
222c5f80e5 am 16b43a77: am 17c21a30: am 2c09e8cd: Merge "Fix issue #11157301: Bad process stats when apps are binding to long-running services" into klp-dev
* commit '16b43a779166d419875410d598182b852a5f90a3':
  Fix issue #11157301: Bad process stats when apps are binding to long-running services
2013-10-10 16:23:54 -07:00
Dianne Hackborn
16b43a7791 am 17c21a30: am 2c09e8cd: Merge "Fix issue #11157301: Bad process stats when apps are binding to long-running services" into klp-dev
* commit '17c21a3007a2321ae8805a397c3566411a60cba0':
  Fix issue #11157301: Bad process stats when apps are binding to long-running services
2013-10-10 16:21:39 -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
5d1c7661fe am 852c7b15: am 6743c171: am 635892fe: Merge "Guard against NPE when using existing process." into klp-dev
* commit '852c7b15a5a96b0c553e971fe9af72f4ce50bedd':
  Guard against NPE when using existing process.
2013-10-10 10:24:37 -07:00
Jeff Sharkey
852c7b15a5 am 6743c171: am 635892fe: Merge "Guard against NPE when using existing process." into klp-dev
* commit '6743c1712e1051ae99639a7d90912c54a0be8b24':
  Guard against NPE when using existing process.
2013-10-10 10:21:29 -07:00