Commit Graph

1172 Commits

Author SHA1 Message Date
Jeff Sharkey
6699ae2b76 am 45d23585: am 11591b73: am b3da3db3: Merge "Surface outgoing Uri permission grants." into klp-dev
* commit '45d2358510f9670ddf25cc49ee2639e3d41708f7':
  Surface outgoing Uri permission grants.
2013-10-09 15:17:34 -07:00
Jeff Sharkey
45d2358510 am 11591b73: am b3da3db3: Merge "Surface outgoing Uri permission grants." into klp-dev
* commit '11591b738d51e0d8e87e8825dc2fc7eaa517daa3':
  Surface outgoing Uri permission grants.
2013-10-09 15:12:35 -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
Jeff Sharkey
69bfc60ae0 am cb8c4501: am d92dd8ff: am fcd8a39e: Merge "Install providers enabled after app started." into klp-dev
* commit 'cb8c4501d47ac492d48fbdd3b8e599fe620f2949':
  Install providers enabled after app started.
2013-10-09 10:57:15 -07:00
Jeff Sharkey
cb8c4501d4 am d92dd8ff: am fcd8a39e: Merge "Install providers enabled after app started." into klp-dev
* commit 'd92dd8ffcf3e7bce7d331e7ae9101ccba02baa67':
  Install providers enabled after app started.
2013-10-09 10:53:35 -07:00
Adam Lesinski
51860d2832 am 3a18a92e: am 92fba41f: am 9d958f69: Merge "Allow killed task to remove itself" into klp-dev
* commit '3a18a92ee513881e232bd899b45cdf7132bb199e':
  Allow killed task to remove itself
2013-10-09 10:52:25 -07:00
Adam Lesinski
3a18a92ee5 am 92fba41f: am 9d958f69: Merge "Allow killed task to remove itself" into klp-dev
* commit '92fba41f3c64407f6827399bfa40bbcf6eac9212':
  Allow killed task to remove itself
2013-10-09 10:48:47 -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
4964584d39 am 4a38b0ab: am 972a9855: am b729e995: Merge "Yet more debugging for 10858941." into klp-dev
* commit '4a38b0ab92b565547777df6959516325058f73d0':
  Yet more debugging for 10858941.
2013-10-07 17:23:35 -07:00
Craig Mautner
4a38b0ab92 am 972a9855: am b729e995: Merge "Yet more debugging for 10858941." into klp-dev
* commit '972a985590266e457d4a13400dfb5797d7b85908':
  Yet more debugging for 10858941.
2013-10-07 17:21:41 -07:00
Craig Mautner
e2dd83a5b4 Yet more debugging for 10858941.
Change-Id: I258957044cb1a8331124f6abbe53428429c33355
2013-10-07 17:01:41 -07:00
Craig Mautner
1f29fc18fb am 1a205e9a: am 846a482a: am ade5f387: Merge "Revert to jb-mr2 handling of app died." into klp-dev
* commit '1a205e9a0c2587ec603d88e954bd89ca0c957e7a':
  Revert to jb-mr2 handling of app died.
2013-10-06 18:24:17 -07:00
Dianne Hackborn
91b5ab00d1 am c9d48121: am 7ac5a9ac: am 4bc5909a: Merge "Fix issue #11050678: Large memory leak in ActivityStack" into klp-dev
* commit 'c9d481218b23ff72922ddc6bbc006be971ff252f':
  Fix issue #11050678: Large memory leak in ActivityStack
2013-10-06 18:24:06 -07:00
Craig Mautner
02a4e7330f am 2478281d: am 3cb25e91: am 1703fd87: Merge "Resume user where they left off." into klp-dev
* commit '2478281de362c86825cd93d6395af4197d1adb73':
  Resume user where they left off.
2013-10-06 18:23:49 -07:00
Craig Mautner
1a205e9a0c am 846a482a: am ade5f387: Merge "Revert to jb-mr2 handling of app died." into klp-dev
* commit '846a482a0d891a799bfd6e9b00ed5b401a791b30':
  Revert to jb-mr2 handling of app died.
2013-10-06 18:19:03 -07:00
Dianne Hackborn
c9d481218b am 7ac5a9ac: am 4bc5909a: Merge "Fix issue #11050678: Large memory leak in ActivityStack" into klp-dev
* commit '7ac5a9acb8c110620eac04db1eabecbbf64c0744':
  Fix issue #11050678: Large memory leak in ActivityStack
2013-10-06 18:18:58 -07:00
Craig Mautner
2478281de3 am 3cb25e91: am 1703fd87: Merge "Resume user where they left off." into klp-dev
* commit '3cb25e91b419d4f18fec8ea2ceec33eb0915096a':
  Resume user where they left off.
2013-10-06 18:18:46 -07: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
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
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
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
John Reck
eebcc0ff60 am cd6a2d30: am 47dc3248: am 9a93f6f0: Merge "Reduce max recents on lowram" into klp-dev
* commit 'cd6a2d3079ee67658535773021c16787b9adba6e':
  Reduce max recents on lowram
2013-10-03 16:43:09 -07:00
John Reck
cd6a2d3079 am 47dc3248: am 9a93f6f0: Merge "Reduce max recents on lowram" into klp-dev
* commit '47dc3248e09002a5a55dc427f752da8ebd623868':
  Reduce max recents on lowram
2013-10-03 15:38:38 -07: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
Dianne Hackborn
5d93ad94a3 am 1d536848: am 239dc099: am 164371fb: Fix issue #11005453: [SUW] G+ profile creation for new user broken
* commit '1d536848af1531dd14af52000f5ab505162bf123':
  Fix issue #11005453: [SUW] G+ profile creation for new user broken
2013-10-02 09:44:30 -07:00
Craig Mautner
61f5d97984 am c5495c93: am eba784f0: am 3c98926b: Merge "Add a timeout for removing starting windows." into klp-dev
* commit 'c5495c93e51ba6493a6b99aaabd44abc9d25cd1e':
  Add a timeout for removing starting windows.
2013-10-02 09:43:32 -07:00
Jeff Sharkey
b6ab3b982b am 7f60e70e: am 666b998b: am 364fc14f: Merge "Detect wedged ContentProviders, treat as ANR." into klp-dev
* commit '7f60e70e815d381035b141843395830407c198d9':
  Detect wedged ContentProviders, treat as ANR.
2013-10-02 09:43:21 -07:00
Dianne Hackborn
1d536848af am 239dc099: am 164371fb: Fix issue #11005453: [SUW] G+ profile creation for new user broken
* commit '239dc099a0d56eba3c7a537df23ef3c5046b2667':
  Fix issue #11005453: [SUW] G+ profile creation for new user broken
2013-10-02 09:37:26 -07:00
Craig Mautner
c5495c93e5 am eba784f0: am 3c98926b: Merge "Add a timeout for removing starting windows." into klp-dev
* commit 'eba784f0847a1d7c747603994d09937dcfdc0671':
  Add a timeout for removing starting windows.
2013-10-02 09:35:49 -07:00
Jeff Sharkey
7f60e70e81 am 666b998b: am 364fc14f: Merge "Detect wedged ContentProviders, treat as ANR." into klp-dev
* commit '666b998b67fe7bb6fc11dd6d683a18b5690afd39':
  Detect wedged ContentProviders, treat as ANR.
2013-10-02 09:35:14 -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
Dianne Hackborn
81f87faede am 57d96f0e: Merge "Fix issue #10948509: Crash in procstats when there is no data" into klp-dev
* commit '57d96f0e92e8af842878660a8271e65cec2426d3':
  Fix issue #10948509: Crash in procstats when there is no data
2013-10-01 18:45:11 -07:00
Craig Mautner
d476b96d71 am 64ce6b78: Merge "Don\'t kill home process with the rest of its package." into klp-dev
* commit '64ce6b78ccb8522a6147843f4206a5b128571b03':
  Don't kill home process with the rest of its package.
2013-10-01 18:44:50 -07:00
Craig Mautner
1c3489ae4b am 5a0c54a5: Merge "Remove home package name methods." into klp-dev
* commit '5a0c54a5112612777becd7a0f12f74cf720c1b7f':
  Remove home package name methods.
2013-10-01 18:44:47 -07:00
Craig Mautner
3c98926bf2 Merge "Add a timeout for removing starting windows." into klp-dev 2013-10-01 20:35:01 +00:00
Craig Mautner
68cc241e8d Add a timeout for removing starting windows.
If two activities are started at the same time the first activity can
add a starting window but never start. In that case there is no event
that will clear the starting window. This change adds a 10 second
timeout for the starting window to be cleared after which it will
clear the starting window automatically.

Fixes bug 10797865.

Change-Id: I1d59c3058c63367ff688d426474e8a6f006b2e0d
2013-10-01 10:39:43 -07:00
Jeff Sharkey
7aa7601c09 Detect wedged ContentProviders, treat as ANR.
All ContentProvider calls are currently blocking, making it hard for
an app to recover when a remote provider is wedged.  This change adds
hidden support to ContentProviderClient to timeout remote calls,
treating them as ANRs.  This behavior is disabled by default.

Update DocumentsUI to use a 20 second timeout whenever interacting
with a storage provider.

Bug: 10993301, 10819461, 10852518
Change-Id: I10fa3c425c6a7225fff9cb7a0a07659028230cd3
2013-10-01 09:50:41 -07:00
Dianne Hackborn
e2a67ac27b am 57d96f0e: Merge "Fix issue #10948509: Crash in procstats when there is no data" into klp-dev
* commit '57d96f0e92e8af842878660a8271e65cec2426d3':
  Fix issue #10948509: Crash in procstats when there is no data
2013-09-30 17:10:55 -07:00
Craig Mautner
5b291397e1 am 64ce6b78: Merge "Don\'t kill home process with the rest of its package." into klp-dev
* commit '64ce6b78ccb8522a6147843f4206a5b128571b03':
  Don't kill home process with the rest of its package.
2013-09-30 17:10:39 -07:00
Craig Mautner
75a3b301e9 am 5a0c54a5: Merge "Remove home package name methods." into klp-dev
* commit '5a0c54a5112612777becd7a0f12f74cf720c1b7f':
  Remove home package name methods.
2013-09-30 17:10:36 -07:00
Craig Mautner
5c60d6b657 am c449613e: Merge "Revert behavior to perform onResume." into klp-dev
* commit 'c449613ec6ffed7b4605a6708a3341ab2dd5320f':
  Revert behavior to perform onResume.
2013-09-30 16:42:11 -07:00
Craig Mautner
0c5fdaa79b am c449613e: Merge "Revert behavior to perform onResume." into klp-dev
* commit 'c449613ec6ffed7b4605a6708a3341ab2dd5320f':
  Revert behavior to perform onResume.
2013-09-30 14:11:41 -07:00
Dianne Hackborn
57d96f0e92 Merge "Fix issue #10948509: Crash in procstats when there is no data" into klp-dev 2013-09-30 00:21:48 +00:00
Dianne Hackborn
cb4285537b Fix issue #10948509: Crash in procstats when there is no data
Not dealing with the case where there is a null list.

Also fixed some bugs I found while looking at this:

- When resetting the stats, we would use a newly computed time stamp
  for the total durations rather than the one we used to reset the
  proc/service entries.  This would result in them being able to be
  slightly > 100%.
- There was a bug in how we split a single process state into its
  per-package representation, where we would but the cloned process
  state into the new package's entry (instead of properly for its
  own package entry), to be immediately overwritten by the new
  process state we make for that package.  This could result in
  bad data for processes that have multiple packages.
- There was a bug in resetting service stats, where we wouldn't
  update the overall run timestamp, allowing that time to sometimes
  be > 100%.
- There was a bug in computing pss data for processes with multiple
  packages, where the pss data was not distributed across all of the
  activity per-package process states.
- There was a bug in computing the zram information that would cause
  it to compute the wrong value, and then never be displayed.

Finally a little code refactoring so that ProcessState and ServiceState
can now share a common implementation for the table of duration values.

Change-Id: I5e0f4e9107829b81f395dad9419c33257b4f8902
2013-09-29 17:14:15 -07:00
Craig Mautner
64ce6b78cc Merge "Don't kill home process with the rest of its package." into klp-dev 2013-09-29 14:25:08 +00:00
Craig Mautner
8025935573 Remove home package name methods.
Do not use the shortcut of the package name to identify the home
activity.

Fixes bug 10963726.
Fixes bug 10920950.

Change-Id: I725781a26672b055a816994aee6ea458a7f07c88
2013-09-28 13:49:16 -07:00