Commit Graph

1150 Commits

Author SHA1 Message Date
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
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
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
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
Craig Mautner
f31ea07d64 Don't kill home process with the rest of its package.
Killing the GEL search results was killing everything in its package.
This fix keeps the home process from being killed when a task in its
package is killed.

Fixes bug 10927223.

Change-Id: I56e75f0a0118885a1604cbd70320bbdb4f8cf1a2
2013-09-28 13:46:38 -07:00
Craig Mautner
5314a40b96 Revert behavior to perform onResume.
Back out changes from CLs ag/363992 and ag/363859. These introduced
the bugs found in bug 10917435 which is now fixed. Note that backing
out these changes reintroduces bug 10732489.

Change-Id: Ic5105dd4cfc8bf79c6f06188283d1ee3680c370c
2013-09-26 14:24:02 -07:00
Jeff Sharkey
9f68c10424 am 66ee877f: am 8c6c0419: Merge "Tighten flags enforcement, API to test Uris." into klp-dev
* commit '66ee877f5d27b4dd4081702ad216359971e1b8b3':
  Tighten flags enforcement, API to test Uris.
2013-09-26 13:40:34 -07:00
Jeff Sharkey
66ee877f5d am 8c6c0419: Merge "Tighten flags enforcement, API to test Uris." into klp-dev
* commit '8c6c04197e58be6f3e46ba6a38f5d16e4fb091fa':
  Tighten flags enforcement, API to test Uris.
2013-09-26 13:37:21 -07:00
Jeff Sharkey
ee2f7df9ee Tighten flags enforcement, API to test Uris.
Check and throw if callers request invalid grant flags.  Add API to
test if a Uri is backend by a DocumentsProvider.

Bug: 10919391, 10935608
Change-Id: Ifa6afefb95983558c8c64dc15ddf650e9fe07080
2013-09-26 13:14:45 -07:00
Dianne Hackborn
f3647c7bdc am f9ad7b9d: am 66a9b2d7: Merge "Fix issue #10903002: com.facebook.katana keeps itself in A Services" into klp-dev
* commit 'f9ad7b9d92f0464bdffb36f4b9f9f63292ba9863':
  Fix issue #10903002: com.facebook.katana keeps itself in A Services
2013-09-25 16:50:14 -07:00
Jeff Sharkey
5023a4df73 resolved conflicts for merge of 687c6221 to master
Change-Id: I9e8a24d9151f31bc3284ad7f8686fa7f3c25c0d9
2013-09-25 16:48:01 -07:00
Dianne Hackborn
f9ad7b9d92 am 66a9b2d7: Merge "Fix issue #10903002: com.facebook.katana keeps itself in A Services" into klp-dev
* commit '66a9b2d7392a7f6334b5fe23d00ba718f3fa1851':
  Fix issue #10903002: com.facebook.katana keeps itself in A Services
2013-09-25 16:09:13 -07:00
Jeff Sharkey
687c6221c8 am be17a614: Merge "Require that persistable Uri permissions be taken." into klp-dev
* commit 'be17a61447e1a7992a6c855059a3c43ab3216610':
  Require that persistable Uri permissions be taken.
2013-09-25 16:05:36 -07:00
Dianne Hackborn
66a9b2d739 Merge "Fix issue #10903002: com.facebook.katana keeps itself in A Services" into klp-dev 2013-09-25 23:04:50 +00:00
Dianne Hackborn
cbd9a52f25 Fix issue #10903002: com.facebook.katana keeps itself in A Services
Now when memory low, if a service's process is above
a selected pss, then the process is not allowed to go
in to the service a list.

Also simplified the normal meminfo details dump to not
include the shared dirty and shared clean sizes by
default, since these can be very confusing.  You will
still get to see them with the "-a" flag.

Finally some small steps to better managing service
processes in the LRU list, so hopefully we can some
day be better about letting them drop down in the list
when there isn't really much interesting happening in
the process.  Not yet used at this point.

Change-Id: I654bfd6d05de2a63120185ebb15ffda8cbeb5dac
2013-09-25 15:45:56 -07:00
Jeff Sharkey
e66c1778f8 Require that persistable Uri permissions be taken.
Change our Intent flag to indicate that a Uri permission grant is
persistable, but don't actually persist it until explicitly taken by
the receiving app.  This prevents apps from spamming each other if
persisted permissions aren't really required.

Remember the last time a persisted grant was taken by an app, and
use this to prune away the oldest grants when the number of grants
grows too large.  Allow apps to query persisted grants they are
holding, and allow them to release previously persisted grants. Add
public UriPermission class to return grant details and timestamp.

Track various permission strengths separately, and combine together
after each mutation pass.  Persistable grants are currently treated
like global grants, but they could be moved to have owners in the
future.  Require that grant holders trying to extend a persistable
permission actually hold a persistable permission themselves.

Bug: 10835779
Change-Id: I95b2f797c04ce7fd2612f9a644685dbd44e03759
2013-09-25 15:16:41 -07:00
Dianne Hackborn
23ff9f6128 am 9b7d1484: am 5f86b90b: Merge "Fix issue #10848916: "Always" button is not working." into klp-dev
* commit '9b7d148466b1aedb24187294e0c59718afb104a0':
  Fix issue #10848916: "Always" button is not working.
2013-09-24 14:51:06 -07:00
Dianne Hackborn
9b7d148466 am 5f86b90b: Merge "Fix issue #10848916: "Always" button is not working." into klp-dev
* commit '5f86b90b8a224e21db89bacf78d4bd4d3f44342d':
  Fix issue #10848916: "Always" button is not working.
2013-09-24 14:49:17 -07:00
Dianne Hackborn
6d8dfbd814 Fix issue #10848916: "Always" button is not working.
The problem was that the ResolverActivity filters some activities
out of the list it shows, but it uses that display list as the
list of components the preference is set against when ultimately
setting it on the package manager...  but that filtered list is *not*
the right component set, since it is not the same as the package
manager's view on it.

The fix here is to retain the original set of matching components
and use that when setting the preferred activity.  Note that this
does mean that in very unusual cases where filtering is happeing
(such as one of the activities not being exported but being seen
as a possible completion from another app), then you will be setting
the preference for the complete set.  Ultimately we probably need
to have the package manager apply these filtering rules up-front so
this is all consistent, but this is a very rare case so not that
important.

And then most of the change here is just improving the debug
output for intent resolution.

Change-Id: Ie35ac2c05a45946439951bbf41433c8b7de79c05
2013-09-24 14:16:38 -07:00
Craig Mautner
15a0436ac4 am a52bfb9f: am 254f5ffc: Merge "Pause activities behind keyguard after boot." into klp-dev
* commit 'a52bfb9fe4d8f28ccb6bc3eda37250f0d3aeb8d4':
  Pause activities behind keyguard after boot.
2013-09-24 10:46:56 -07:00
Craig Mautner
a52bfb9fe4 am 254f5ffc: Merge "Pause activities behind keyguard after boot." into klp-dev
* commit '254f5ffc47fe26d48fe3fd9f3bc513805dd04ac5':
  Pause activities behind keyguard after boot.
2013-09-24 10:43:53 -07:00
Craig Mautner
254f5ffc47 Merge "Pause activities behind keyguard after boot." into klp-dev 2013-09-24 17:39:17 +00:00
Craig Mautner
2acc389d61 Pause activities behind keyguard after boot.
Following boot the initial activity was automatically resumed even if
a lockscreen is obscuring it. Refer to CL 363859 for why this breaks
things.

This fix pauses all activities the first time a lockscreen appears.

Completes the fix for bug 10732489.

Change-Id: I6fcac14b574c495aa0e16d798cddc1263c6b4c25
2013-09-24 10:36:05 -07:00
Dianne Hackborn
e941dee66f am 8db6517e: am ba0abd0a: Merge "Fix issue #10876433: java.lang.IllegalStateException in..." into klp-dev
* commit '8db6517e846a6ee43d4ce19f7b5b2c5a351a2122':
  Fix issue #10876433: java.lang.IllegalStateException in...
2013-09-24 10:22:34 -07:00
Dianne Hackborn
a0faa41254 am dc655c0e: am 4bf0fcef: Merge "Work on issue #10759595: preferred tag doesn\'t prevent..." into klp-dev
* commit 'dc655c0e0742bcc4834773a8aacb8b7d67a73aad':
  Work on issue #10759595: preferred tag doesn't prevent...
2013-09-24 10:22:25 -07:00
Dianne Hackborn
8db6517e84 am ba0abd0a: Merge "Fix issue #10876433: java.lang.IllegalStateException in..." into klp-dev
* commit 'ba0abd0abdaf3eedd42927eb5b51b202f0f348eb':
  Fix issue #10876433: java.lang.IllegalStateException in...
2013-09-23 18:59:36 -07:00