1606 Commits

Author SHA1 Message Date
Craig Mautner
c9ffd74659 Merge "Don't call setTask twice." into klp-dev 2013-11-07 20:51:30 +00:00
Craig Mautner
2040967478 Merge "If home activity is not fullscreen keep drilling." into klp-dev 2013-11-07 20:49:02 +00:00
Craig Mautner
f41bcd47ea If home activity is not fullscreen keep drilling.
When the home activity launches a non-fullscreen activity as part of
its own task then ensureActivitiesVisibleLocked() must continue past
the launched activity when determining activities to show and hide.
Stopping at the non-fullscreen activity leaves the fullscreen home
activity hidden.

Fixes bug 11555762.

Change-Id: I9058d8cde3a41cb7f9b1f97e5c0cb32e9b0f5af7
2013-11-07 11:51:29 -08:00
Robert Greenwalt
e8c51298a4 Merge "Add BatteryStats for Wifi Batched Scanning." into klp-dev 2013-11-07 18:30:49 +00:00
Dianne Hackborn
9882d38899 Merge "Fix issue #11223338: Not retaining service started state while restarting" into klp-dev 2013-11-07 18:16:10 +00:00
Craig Mautner
329f4129a5 Don't call setTask twice.
The method ActivityRecord.setTask() removes the ActivityRecord from
its old task's mActivities ArrayList. In jb-mr2 it did not have this
side effect (there was no mActivities) so calling it twice was not a
problem. This fix causes setTask to only be called once for the target
activity.

Fixes bug 11557835.

Change-Id: If2b6d4b297e86130009713efe6891a24fad3dd15
2013-11-07 09:10:42 -08:00
Robert Greenwalt
a029ea1318 Add BatteryStats for Wifi Batched Scanning.
bug:10690989
Change-Id: Ia39b715ee6d5733970095bc76de0ed40ff8208c0
2013-11-06 17:43:18 -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
Craig Mautner
db5c4fb864 Fix incorrect looping limits.
One cannot iterate across an entire list if one both removes an entry
and increments the index into the list. Do one or the other or you
will end up with bugs like 11556768 which is now fixed.

Change-Id: I57f1ad13075a005cae3c1cbfae10e230d9af143a
2013-11-06 13:55:08 -08:00
Dianne Hackborn
d64744cc76 Merge "Help out with issue #11497149: Clock app crashes when opened during..." into klp-dev 2013-11-05 18:17:01 +00: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
Craig Mautner
76be9d2595 Remove harmful visibility test.
Previously inserted requirment that an activity be visible in order to
block visibility of the home screen is removed.

Fixes bug 11515761.

Change-Id: Ia47cfb4a0b6d90bbbca2b42e12a6048b1644d7cb
2013-11-04 16:01:22 -08:00
Dianne Hackborn
7b492723e4 Fix issue #11223338: Not retaining service started state while restarting
Actually, the state representation seems fine, but there was a problem
we are now hitting where the restart interval could get reset back to
0 when it shouldn't be.  Also tune the restart parameters a bit.

Change-Id: I364f38e52f5387b2ec3f81009ccc78976ff48891
2013-11-01 10:32:46 -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
Craig Mautner
91eb54d119 Merge "Do not fetch tasks that don't have activities." into klp-dev 2013-10-30 17:13:20 +00: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
Craig Mautner
5cbaaa3cb5 Do not fetch tasks that don't have activities.
Fixes NullPointerException bug 11432611.

Change-Id: I62e765750e2613ecfb79e13021631ed2cd4e79f3
2013-10-29 13:39:26 -07:00
Dianne Hackborn
3a702cb5d7 Merge "Fix issue #11391003: Allow dumpsys meminfo to be used with native processes" into klp-dev 2013-10-28 21:59:18 +00:00
Craig Mautner
dfe0d9a040 Merge "Change order of operations so flag is not overwritten" into klp-dev 2013-10-28 14:38:32 +00: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
19d79659ee Merge "Fix issue #11374840: adb shell am startservice not working any more" into klp-dev 2013-10-25 22:30:35 +00: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
Craig Mautner
b53d97c457 Change order of operations so flag is not overwritten
The effects of the flag, Intent.FLAG_ACTIVITY_TASK_ON_HOME was being
overwritten by the call immediately after it was set. Changing the
order of operations leaves the effect intact.

Fixes bug 11376962.

Change-Id: I27371e0efeb0c08d1e14514a9e3a63157f6d34d8
2013-10-25 11:54:37 -07:00
Craig Mautner
6f6d56fd4d Do not take screenshots when launching activities...
Unless they are in another task.

Fixes bug 11374158.

Change-Id: I961d4ce9520bc84a182806db2ccb072501c8357a
2013-10-24 16:02:07 -07:00
Craig Mautner
4d4dd1e173 Merge "Search further than one task for fullscreen." into klp-dev 2013-10-23 22:35:25 +00:00
Craig Mautner
39e1c5a75e Search further than one task for fullscreen.
When a non-fullscreen task over home launches another non-fullscreen
task then the home task might not be displayed. Looking all the way
down the task stacks until reaching a visible, fullscreen activity or
home provides the right information.

Fixes bug 11273803.

Change-Id: I8dab0956c1cda06ddb7850ea3ffac7f6a223c6ad
2013-10-23 15:14:22 -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
2d76a1a068 Merge "Fix issue #11323037: Android apk incorrectly marked as running in app processes" into klp-dev 2013-10-23 17:44:11 +00: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
Craig Mautner
4000630999 Merge "Check for home activity when switching focus." into klp-dev 2013-10-22 20:01:12 +00:00
Craig Mautner
04f0b70c13 Check for home activity when switching focus.
When finishing or stopping an activity the code was automatically
refocusing to the next activity on the same stack independent of the
task's onTopOfHome flag. When the activity eventually finished or
stopped it would then honor the onTopOfHome flag.

This fix examines the onTopOfHome flag and arranges the focus
correctly if home is the next activity to run.

Fixes bug 11318263.

Change-Id: I73a8f5e82de04b01acaffe366b085f9e475e1451
2013-10-22 12:31:01 -07:00
Craig Mautner
7408234985 Merge "Make sure mFocusedStack is never the home stack." into klp-dev 2013-10-22 17:36:57 +00:00
Craig Mautner
d1bbdb462a Make sure mFocusedStack is never the home stack.
There were circumstances where mFocusedStack could be assigned the
home stack. If this were ever to occur then all subsequent tasks would
be put on the home stack. This fix ensures that there is no way that
mFocusedStack will ever be assigned to the home task.

Fixes bug 11271189.

Change-Id: I7ddd9b6bcbf2787cbe2f44b461ad057ae2241f00
2013-10-22 09:53:20 -07:00
Craig Mautner
19d9bd54d3 Do not delete stacks that are not empty.
The possibility existed that an activity was set to a task that it was
already being set to. If that were to happen, and it was the only
activity in the only task of the stack the stack would be deleted.
This fixes that situation and logs it as well to confirm that it does
fix bug 11272935. Logging to be deleted upon successful monkey run
exhibiting the log.

Change-Id: I436fdcc9a3734adad81d3ef90f29b93b3ac4dfcd
2013-10-21 20:05:26 -07:00
Dianne Hackborn
fc69e2b5ad Merge "Increase size of broadcast history lists on non-svelte devices." into klp-dev 2013-10-17 16:13:24 +00:00
Dianne Hackborn
4c51de4933 Increase size of broadcast history lists on non-svelte devices.
Change-Id: Ibd25379778dac8eb1aed30d4788e032f290d9b69
2013-10-16 23:34:35 -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
4270ebc7db Merge "Remove debug logging." into klp-dev 2013-10-16 00:27:50 +00:00
Craig Mautner
a7f2bd4da7 Remove debug logging.
Change-Id: I5d7c11e8b8525bfc8eb87bb0fff4f71337b4a39d
2013-10-15 16:13:50 -07:00
Craig Mautner
4f1df4faed Restore window manager stack order on user switch.
Only the activity stacks were being restored. Also add needed debug
logs.

Fixes bug 11223831.

Change-Id: Ief42688721c49e8cea14277619c797bf7c25b859
2013-10-15 15:44:14 -07:00
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