Commit Graph

2975 Commits

Author SHA1 Message Date
Jeff Brown
bba231d7a6 Explicitly bind AsyncTask to main looper.
It seems we were sort of trying to do this by forcing the AsyncTask
static initializer to run at certain times but it was not sufficiently
reliable.  In particular, this resulted in occasional system
server crashes.

Bug: 18192406
Change-Id: Ief73210c60e7680fbed6df74e3e58809b7ec7e4d
2014-11-14 17:22:31 -08:00
Narayan Kamath
eed1fba6b5 Merge "Add detailed javadoc for AssetManager.getLocales." into lmp-mr1-dev 2014-11-13 09:33:12 +00:00
Adam Lesinski
db3d76ab68 Merge "Fix ParceledListSlice to enforce the same concrete types among its elements." into lmp-mr1-dev 2014-11-13 00:33:00 +00:00
Jeff Sharkey
521ca5f8fb am 2e700004: am d68b87cd: Recover apps with malformed certificates.
* commit '2e7000040e3d836bb591e29515974817afc49488':
  Recover apps with malformed certificates.
2014-11-12 22:24:24 +00:00
Jeff Sharkey
2e7000040e am d68b87cd: Recover apps with malformed certificates.
* commit 'd68b87cdd402d46013170d9316a31c82be4e4816':
  Recover apps with malformed certificates.
2014-11-12 22:20:46 +00:00
Jeff Sharkey
d68b87cdd4 Recover apps with malformed certificates.
There was a window of time in Lollipop where we persisted certificates
after they had passed through a decode/encode cycle.  The well-written
OpenSSL library was liberal when decoding (allowing slightly malformed
certs to be parsed), but then strict when encoding, giving us
different bytes for effectively the same certificate.

A related libcore change (0c990ab4a90b8a5492a67b2b728ac9a4a1ccfa1b)
now returns the original bytes verbatim, fixing both pre-Lollipop
installs and installs after that change.

This change recovers any apps that had been installed during the
window of time described above by doing a one-time check to see if
the certs are effectively equal.

Bug: 18228011
Change-Id: Ib82bd6db718d0490d7a26c9c1014b7c8457a7f2d
2014-11-12 13:16:06 -08:00
Alan Viverette
4fc2ea8402 Merge "Ensure time picker dialog fits on small screens" into lmp-mr1-dev 2014-11-12 17:32:31 +00:00
Alan Viverette
d9f3fdf45b Ensure time picker dialog fits on small screens
Also fixes dialog padding in landscape mode and a bug in the
ColorStateList method used to apply a selected color.

BUG: 18251582
Change-Id: Id5b8c7893ec42fd4d5f4a7520e6ac170839d3143
2014-11-12 09:31:22 -08:00
Narayan Kamath
11bce123b9 Add detailed javadoc for AssetManager.getLocales.
bug: 18218661
Change-Id: Idcbd8678b6dd1b28f993c4dab000e284db76edc0
2014-11-12 13:28:20 +00:00
Adam Lesinski
3df1c38ee0 Fix ParceledListSlice to enforce the same concrete types among its elements.
Bug:17671747
Change-Id: I896f75738e5b464ccb6c03290f139cc2fa72f966
2014-11-12 02:28:11 +00:00
Dianne Hackborn
85d558cd48 Add Activity API to get referrer information.
This expands the use of EXTRA_REFERRER to be relevant anywhere,
allowing apps to supply referrer information if they want.  However,
if they don't explicitly supply it, then the platform now keeps
track of package names that go with Intents when delivering them
to apps, which it can be returned as the default value.

The new method Activity.getReferrer() is used to retrieve this
referrer information.  It knows about EXTRA_REFERRER, it can return
the default package name tracked internally, and it also can return
a new EXTRA_REFERRER_NAME if that exists.  The latter is needed
because we can't use EXTRA_REFERRER in some cases since it is a Uri,
and things like #Intent; URI extras can only generate primitive type
extras.  We really need to support this syntax for referrers, so we
need to have this additional extra field as an option.

When a referrer is to a native app, we are adopting the android-app
scheme.  Since we are doing this, Intent's URI creation and parsing
now supports this scheme, and we improve its syntax to be able to build
intents with custom actions and stuff, instead of being all hung up
on custom schemes.

While doing this, fixed a problem when parsing both intent: and new
android-app: schemes with a selector portion, where we were not
respecting any scheme that was specified.

Change-Id: I06e55221e21a8156c1d6ac755a254fea386917a2
2014-11-11 00:42:18 +00:00
Jeff Hao
2e594cfe98 Change boot screen title to "Android is starting" when not upgrading.
Bug: 17565501
Bug: 18247218

(cherry picked from commit 9f60c08a44)

Change-Id: I1ec32b318b6221277fc3ffbc19966bf3330c2d93
2014-11-05 23:51:42 +00:00
Amith Yamasani
7d2d4fd55e Fix singleUser provider grants
Fake the Uri for grant check, if we're checking access to
a singleUser provider. Inject the userId in the authority
so that the grant can be matched properly.

Bug: 18194892
Change-Id: I4a55ce593ac21722f394e89e13350aa205d76336
2014-11-05 15:46:09 -08:00
Nicolas Prevot
ac7774e8c1 Merge "Do not fix uris inside the system." into lmp-mr1-dev 2014-11-04 10:47:25 +00:00
Kenny Guy
88cfb428d4 Merge "Tidy up unused hidden methods in LauncherApps" into lmp-mr1-dev 2014-10-31 12:47:38 +00:00
Nicolas Prevot
c4fc00a58d Do not fix uris inside the system.
When we fix uris by adding the user id they belong to, the extras
of the intent are unpacked and repacked. This must not happen
inside the system process. It happened when ResolverActivity was
handling an activity intent coming from a different user.

BUG:18198630

Change-Id: I869897013bb2e5522584b404e87a8f20e7943b60
2014-10-31 12:40:11 +00:00
Kenny Guy
dd6cb55b0e Tidy up unused hidden methods in LauncherApps
Bug: 17483329
Change-Id: Ic4fbb180bafaa4d2c5ba332fe228c3d9baf4761c
2014-10-31 11:23:12 +00:00
Alan Viverette
7f4a63d1eb Ensure we don't pass null values in to Theme.resolveAttributes
BUG: 18182274
Change-Id: I08acf877cb81478cc205254edf92a31fcf05991d
2014-10-30 10:29:03 -07:00
Alan Viverette
f296940502 Distinguish unspecified and explicit null values in resources
BUG: 17919345
Change-Id: Ic4f04f7dd0f986f58a749b5950d80c1cfdb074ea
2014-10-29 17:09:36 -07:00
Adam Lesinski
720a5c51be Merge "Add dumpsys output to UsageStatsService, along with --checkin support" into lmp-mr1-dev 2014-10-29 23:11:54 +00:00
Jeff Hao
9f60c08a44 Change boot screen title to "Android is starting" when not upgrading.
Bug: 17565501
Change-Id: Id5741e6e7a40750feee1cd7306e79f7baeec67de
2014-10-29 14:42:39 -07:00
Adam Lesinski
1bb18c435d Add dumpsys output to UsageStatsService, along with --checkin support
Bug:17814138
Change-Id: If414ae5f4b8e4a2838f63f52d80e764915cee934
2014-10-24 18:01:04 -07:00
Jeff Sharkey
9f837a99d4 Reduce PackageManager RAM usage: ArrayMap/Set.
Transition PackageManager internals away from heavier HashMap/HashSet
to use drop-in ArrayMap/ArraySet replacements.  Saves ~38% RAM and
thousands of objects on a typical device.

Bug: 18115729
Change-Id: Ie107d2fee4b7baa4e3c3923231b4be877d1a5d2f
2014-10-24 12:26:45 -07:00
Yigit Boyar
d422dc358f Added a generic configuration and theme based cache
For now, only animators use it but we can consider migrating
drawable cache to it as well.

Bug: 17456416
Change-Id: I571b96856805edb171f0fc52e6bff5a365f46b70
2014-10-23 11:46:01 -07:00
Adam Powell
0b3c11260a Intent chooser callback
Let an app specify an IntentSender as an extra for ACTION_CHOOSER that
will be notified of the user's chosen target. Apps can use this to
implement things like one-touch last used affordances without
implementing their own one-off chooser UI.

Bug 17363684

Change-Id: Ic5d1d0e0c7a0bae3eda6b1d6ade993f3ba865cfa
2014-10-21 12:17:50 -07:00
Adam Lesinski
9086562a6a Minor resource notation/compatibility fixes
- Change the format of mnc/mcc when printing a resource-qualifier
  formatted string from a Configuration object.
- Correctly bump the SDK to 21 when using anydpi in a resource qualifier.

Change-Id: I3c31e344dc5384d45398d6e9f264a073abab65d1
2014-10-17 01:21:50 +00:00
Jeff Sharkey
2df7628591 am 203ed4db: am 88a6ed54: Merge "Reduce PackageInstaller Binder memory pressure." into lmp-dev
* commit '203ed4db9656cc3047c65e12e3969d21652d4ccf':
  Reduce PackageInstaller Binder memory pressure.
2014-10-15 16:58:49 +00:00
Jeff Sharkey
203ed4db96 am 88a6ed54: Merge "Reduce PackageInstaller Binder memory pressure." into lmp-dev
* commit '88a6ed5477eb6fa0453f9f29adef4c11b6eeade0':
  Reduce PackageInstaller Binder memory pressure.
2014-10-15 16:53:09 +00:00
Jeff Sharkey
97d47ed036 Reduce PackageInstaller Binder memory pressure.
When restoring hundreds of apps on low-DPI devices, we end up sending
icon Bitmaps inline in the response instead of splitting into ashmem
regions.  To avoid triggering TransactionTooLargeException, switch to
using ParceledListSlice under the hood.

Bug: 17926122
Change-Id: Ib4da6775e79d2fcb4aaea15f58ed998df203a5f9
2014-10-15 09:19:54 -07:00
Jeff Hao
1201d2a018 am dbfbb175: Backport of ordering apps for boot dexopt.
* commit 'dbfbb17512fe6a5b3c7198d60b6a149969174a71':
  Backport of ordering apps for boot dexopt.
2014-10-14 22:31:16 +00:00
Jeff Hao
dbfbb17512 Backport of ordering apps for boot dexopt.
This is a squashed commit of the following changes:

1. Order apps by priority when performing boot dexopt.
   (cherry picked from commit 65cde7d42d)

2. Improve priority ordering of apps when performing boot dexopt.
   Added core apps and updated system apps.
   (cherry picked from commit 272bf3a274)

3. Stop boot dexopt when low on memory.
   (cherry picked from commit 1d892dcb6b)

Bug: 17641843
Change-Id: Ie32f1c21047d3462aaf728f7633fecf647ba2b47
2014-10-14 15:02:37 -07:00
Jeff Hao
6b7515dd0d Merge "Improve priority ordering of apps when performing boot dexopt." into lmp-mr1-dev 2014-10-09 18:06:48 +00:00
Dianne Hackborn
d83e9e4280 am 0761b1b5: am 89b19695: Merge "Put in real "code" (aka marketing) name." into lmp-dev
* commit '0761b1b5ebb453a411e3289c1c972dbfddcee880':
  Put in real "code" (aka marketing) name.
2014-10-09 13:03:21 +00:00
Jeff Sharkey
b424849533 am b01a5ba2: am 562262cc: Merge "Bring along more ApplicationInfo fields." into lmp-dev
* commit 'b01a5ba2b7c1bc22e30d6cc16c30f8e1215701cd':
  Bring along more ApplicationInfo fields.
2014-10-09 13:03:07 +00:00
Dianne Hackborn
0761b1b5eb am 89b19695: Merge "Put in real "code" (aka marketing) name." into lmp-dev
* commit '89b196958fee07475765bd3c458098464ba16f2e':
  Put in real "code" (aka marketing) name.
2014-10-09 00:14:54 +00:00
Jeff Sharkey
b01a5ba2b7 am 562262cc: Merge "Bring along more ApplicationInfo fields." into lmp-dev
* commit '562262cc89838529316ff2f3e511c0d876b08677':
  Bring along more ApplicationInfo fields.
2014-10-09 00:14:25 +00:00
Jeff Hao
272bf3a274 Improve priority ordering of apps when performing boot dexopt.
Added core apps and updated system apps.

Bug: 17641843
Change-Id: Ia00ea3399cf1e1acaef45ff8df8f754442de5185
2014-10-08 20:36:24 +00:00
Dianne Hackborn
89b196958f Merge "Put in real "code" (aka marketing) name." into lmp-dev 2014-10-08 17:59:19 +00:00
Jeff Sharkey
7f1a57a3e7 Bring along more ApplicationInfo fields.
When we added scan paths, we forgot to bring them along through
Parcel and copy constructor.

Bug: 17900178
Change-Id: I0ee9374f909d375768045976fd88cee7431f7d4d
2014-10-08 10:14:53 -07:00
Dianne Hackborn
955d8d69ea Put in real "code" (aka marketing) name.
Change-Id: Idb3976edfae37293ed75cb5b869b4b42d8042bbe
2014-10-07 20:17:19 -07:00
Alan Viverette
0660042a26 Merge "Mutate and apply theme if needed before caching themed drawables" into lmp-mr1-dev 2014-10-07 22:09:49 +00:00
Alan Viverette
727cae197b Mutate and apply theme if needed before caching themed drawables
This ensures that drawables are completely separated from their cached
constant states before applying a theme. After this, we can remove the
implicit (and incomplete) mutation in the clone constructors.

Also implements missing mutate() method on ClipDrawable.

BUG: 17646144
Change-Id: If0d66b0a85724d76e0a4f506758c7ba3c0aa3410
2014-10-07 15:08:47 -07:00
Jeff Sharkey
fcc059dcf0 am 1d5ef81e: am 99586dc0: Merge "Reduce PackageInstaller I/O pressure." into lmp-dev
* commit '1d5ef81e29279f769d79315f2a38e747ea92e10f':
  Reduce PackageInstaller I/O pressure.
2014-10-07 00:32:19 +00:00
Jeff Sharkey
1d5ef81e29 am 99586dc0: Merge "Reduce PackageInstaller I/O pressure." into lmp-dev
* commit '99586dc0108d0f4311c8af4d06ed113bbf40a6ee':
  Reduce PackageInstaller I/O pressure.
2014-10-06 23:59:43 +00:00
Jeff Sharkey
99586dc010 Merge "Reduce PackageInstaller I/O pressure." into lmp-dev 2014-10-06 23:51:56 +00:00
Jeff Sharkey
02bd78490d Reduce PackageInstaller I/O pressure.
When performing a restore during initial device setup, we could be
installing hundreds of packages.  Currently, we're writing all
metadata (including heavy icons) for every session mutation!  Because
we're holding the mSessions lock while writing all this heavy data,
we end up causing ANRs when apps call other PackageInstaller APIs.

This patch mitigates by moving the heavy icon data into separate
per-session PNG files, which we only persist when changed.

Bug: 17881962, 17567794
Change-Id: I4dee15d4a65a8eb65c381e6bb7477728b6cc30d2
2014-10-06 16:38:15 -07:00
Dianne Hackborn
2f577e83cb am 90d557b7: am 7f7d240b: Merge "Fix issue #17752399: Multiple apps broken by GET_TASKS permission change" into lmp-dev
* commit '90d557b7a68e64e049a44560b76b959ef87f13d7':
  Fix issue #17752399: Multiple apps broken by GET_TASKS permission change
2014-10-06 19:22:53 +00:00
Dianne Hackborn
90d557b7a6 am 7f7d240b: Merge "Fix issue #17752399: Multiple apps broken by GET_TASKS permission change" into lmp-dev
* commit '7f7d240b13b96b617e298c6178af0425308f5ef9':
  Fix issue #17752399: Multiple apps broken by GET_TASKS permission change
2014-10-06 19:17:10 +00:00
Benjamin Franz
31409c0ccd Merge "Introduce new API to get an unbadged icon and unbadge permissions." into lmp-mr1-dev 2014-10-06 16:26:27 +00:00
Dianne Hackborn
2d7576b082 Fix issue #17752399: Multiple apps broken by GET_TASKS permission change
Keep around GET_TASKS as a permission available to apps, so apps still
think they have it and don't get all uppity because they don't.

Add a new REAL_GET_TASKS that is the actual permission now.

Plus some temporary compatibility code until everyone can transition
fromn GET_TASKS to REAL_GET_TASKS.

Change-Id: I12c1102eed24844685dcbd2fa3b612811603958f
2014-10-03 16:26:04 -07:00