Commit Graph

3822 Commits

Author SHA1 Message Date
Kenny Guy
772427555f Update PackageMonitor and LauncherApps for suspended apps.
Allow launchers to read ApplicationInfo from LauncherApps
to support suspended flag.
Provide callback to launchers via LauncherApps for suspend
/unsuspend broadcasts.

Change-Id: I772a121c45f60f926e8343bb6f181bef4e8929d3
2016-01-21 15:15:04 +00:00
David Brazdil
a0e10434c4 Extract APKs on install or OTA
ART will unzip APKs in memory during launch if an OAT file is not
present. To save the time and memory, this patch will invoke dex2oat
with '--compiler-filter=verify-at-runtime' to unzip the APK during
install or after an OTA.

Change-Id: I16583f9450ad60356123a29f7a6a649b2ab9999f
2016-01-21 09:36:12 +00:00
Raph Levien
1f0945e9f6 Update mResolvedLocale more aggressively
A client that mutates the locale of the Configuration being updated
can cause failure of the test that mResolvedLocale needs to be
recomputed. This patch stashes the previous locale list privately
so that updates can be detected even in this case.

Bug: 25993843
Change-Id: I1ea17dffd722177fb5b65ee77b9f5ce9a943f15b
2016-01-20 20:18:57 +00:00
Matthew Williams
506e47fcc4 Redact Account info from getCurrentSyncs am: f39549e389 am: 1a0aed3257 am: 0e7cd0a9fb am: be136b7a3e am: a947baa87c am: 0f292147f3 am: ce3842eb1a am: 85f169d19f am: c77a2228aa am: 4cc10825f0
am: 88d641ce26

* commit '88d641ce265fe1c6b188b5fa2a2397f3fa8e15ba':
  Redact Account info from getCurrentSyncs
2016-01-20 18:48:47 +00:00
Matthew Williams
88d641ce26 Redact Account info from getCurrentSyncs am: f39549e389 am: 1a0aed3257 am: 0e7cd0a9fb am: be136b7a3e am: a947baa87c am: 0f292147f3 am: ce3842eb1a am: 85f169d19f am: c77a2228aa
am: 4cc10825f0

* commit '4cc10825f0234d365016a18e1f86d61cbd2fd030':
  Redact Account info from getCurrentSyncs
2016-01-20 18:44:07 +00:00
Matthew Williams
85f169d19f Redact Account info from getCurrentSyncs am: f39549e389 am: 1a0aed3257 am: 0e7cd0a9fb am: be136b7a3e am: a947baa87c am: 0f292147f3
am: ce3842eb1a

* commit 'ce3842eb1a5184331ee4aad3e36d5f11f999cf2e':
  Redact Account info from getCurrentSyncs
2016-01-20 18:08:33 +00:00
Andrei Stingaceanu
69d5ebc59e Suspend apps - broadcast intent and API
Send a protected broadcast to registered receivers only
when packages get suspended.

Bug: 22776761
Change-Id: I043053ed45bdc202ead18518a0c1e39cce47947c
2016-01-20 17:52:41 +00:00
Matthew Williams
ce3842eb1a Redact Account info from getCurrentSyncs am: f39549e389 am: 1a0aed3257 am: 0e7cd0a9fb am: be136b7a3e am: a947baa87c
am: 0f292147f3

* commit '0f292147f3ac803a8701afd7362ad3e0487fd496':
  Redact Account info from getCurrentSyncs
2016-01-20 11:55:52 +00:00
Matthew Williams
0f292147f3 Redact Account info from getCurrentSyncs am: f39549e389 am: 1a0aed3257 am: 0e7cd0a9fb am: be136b7a3e
am: a947baa87c

* commit 'a947baa87caeb6733846d6de4ef2bf84f7ab0fa1':
  Redact Account info from getCurrentSyncs
2016-01-20 11:51:42 +00:00
Matthew Williams
a947baa87c Redact Account info from getCurrentSyncs am: f39549e389 am: 1a0aed3257 am: 0e7cd0a9fb
am: be136b7a3e

* commit 'be136b7a3e3f117dea283d194d1e6979fb47662b':
  Redact Account info from getCurrentSyncs
2016-01-20 11:46:39 +00:00
Matthew Williams
0e7cd0a9fb Redact Account info from getCurrentSyncs am: f39549e389
am: 1a0aed3257

* commit '1a0aed3257ad1b8216930928090885cf4210bd87':
  Redact Account info from getCurrentSyncs
2016-01-20 11:37:17 +00:00
Matthew Williams
1a0aed3257 Redact Account info from getCurrentSyncs
am: f39549e389

* commit 'f39549e389edf62f43bacd95a1b8580d75ad77ed':
  Redact Account info from getCurrentSyncs
2016-01-20 11:32:56 +00:00
Matthew Williams
309a75556a Revert "Redact Account info from getCurrentSyncs"
This reverts commit b63057e698.

Reverting this b/c http://droidmerger-01.mtv.corp.google.com:8888/googleplex/branch/lmp-dev
claims there's an automerge path from lmp-dev all the way to master.

Change-Id: Ia99a20410153442436ea836b5223a524b640dcbf
2016-01-20 00:12:25 +00:00
Matthew Williams
f39549e389 Redact Account info from getCurrentSyncs
BUG:26094635
If the caller to ContentResolver#getCurrentSyncs does not hold the
GET_ACCOUNTS permission, return a SyncInfo object that does not
contain any Account information.

Change-Id: I5628ebe1f56c8e3f784aaf1b3281e6b829d19314
(cherry picked from commit b63057e698)
2016-01-20 00:02:58 +00:00
Matthew Williams
b63057e698 Redact Account info from getCurrentSyncs
BUG:26094635
If the caller to ContentResolver#getCurrentSyncs does not hold the
GET_ACCOUNTS permission, return a SyncInfo object that does not
contain any Account information.

Change-Id: I5628ebe1f56c8e3f784aaf1b3281e6b829d19314
2016-01-19 23:19:18 +00:00
Amith Yamasani
12747879b0 User creation with an intent
New API for an app to request creating a new user with
a given user name and seed account information for the
SetupWizard to use when that user is switched into.

Also adds system APIs to read the seed account data from
UserManager.

Bug: 22776757
Change-Id: I0bc3f11ee19c15e0ee2a908c88d98b13296cc30d
2016-01-15 17:06:35 -08:00
Mikhail Naganov
2a0a2e0129 Merge "Mark Context.BIND_EXTERNAL_SERVICE as SystemApi" 2016-01-15 23:44:23 +00:00
Youngsang Cho
11a27b19d1 Merge "PIP: Use long press HOME for PIP on Android TV (2/2)" 2016-01-15 19:56:55 +00:00
Mikhail Naganov
8a790c0469 Mark Context.BIND_EXTERNAL_SERVICE as SystemApi
This way, it can be used in WebView's Chromium code.

Bug: 22084679
Bug: 21643067
Change-Id: Ia34f08857d02876f94b24df79c46212d34b01036
2016-01-15 11:32:14 -08:00
Christopher Tate
e9fd1fa31a Back up / restore runtime permission grants
Only user-originated grant actions are backed up/restored.  This
includes outright grants, one-time denials, and "never ask again"
type denials.

Bug 19870549

Change-Id: I78b4a8abb713dc5d74b93cb53217b212d57b26e4
2016-01-15 10:44:48 -08:00
Jaewan Kim
52632e21fa PIP: Use long press HOME for PIP on Android TV (2/2)
Bug: 25580820
Change-Id: Ic269132ec7de1e725989ad57a1ee205b3334e3bb
2016-01-15 09:29:34 -08:00
Etan Cohen
3da7357951 Merge "NAN: baseline NAN manager for discovery." into mm-wireless-dev
am: e540b64aaf

* commit 'e540b64aaf58460f7930a5e4937cee660215c948':
  NAN: baseline NAN manager for discovery.
2016-01-15 01:29:48 +00:00
Alex Klyubin
224af9e3f8 Merge "Verify APKs using APK Signature Scheme v2." 2016-01-14 23:14:46 +00:00
Etan Cohen
20d329b08d NAN: baseline NAN manager for discovery.
Initial framework for user API (all @hide for now). Supports:
- NAN configuration
- Publish/Subscribe = Discovery
- Message passing
- Notifications

Bug: 26216681
Change-Id: I72e467756a02f7b80c52fae916b9a47c8174af42
2016-01-14 11:34:07 -08:00
Dongwon Kang
32cb9ab5cc Fix javadoc related to ACTION_MEDIA_RESOURCE_GRANTED
This addresses comments left in If506a533c5c7b567e770217a9430bf68b539677a

Change-Id: I6f952db6a8fa246d974bab556be3e21fe1b7f3da
2016-01-13 18:11:10 -08:00
Dongwon Kang
ab064b3b36 Merge "Add a way for SystemUI to receive media resource (e.g. A/V codec) usage" 2016-01-13 18:21:00 +00:00
Alex Klyubin
e415718502 Verify APKs using APK Signature Scheme v2.
This makes Package Manager check whether an APK is signed using APK
Signature Scheme v2 and, if it is, verify the APK's signatures using
that scheme rather than the usual JAR signature scheme.

APK Signature Scheme v2 is a whole-file signature scheme which aims
to protect every single bit of the APK as opposed to the JAR signature
scheme which protects only the names and uncompressed contents of ZIP
entries.

The two main goals of APK Signature Scheme v2 are:
1. Detect any unauthorized modifications to the APK. This is achieved
   by making the signature cover every byte of the APK being signed.
2. Enable much faster signature and integrity verification. This is
   achieved by requiring only a minimal amount of APK parsing before
   the signature is verified, thus completely bypassing ZIP entry
   decompression and by making integrity verification parallelizable
   by employing a hash tree.

Bug: 25794543
Change-Id: If59fe013f2e62bac7677bb20e65f6061b91eec2e
2016-01-13 09:36:41 -08:00
Robert Sesek
81d867f5db Merge "Add external services, a way to run isolated processes as a different package." 2016-01-13 17:23:36 +00:00
Jeff Sharkey
c3132513bf Parsing a static archive should be stateless.
When the caller hasn't specific encryption-related matching flags,
we should match both aware and unaware components.

Bug: 26508249
Change-Id: I2c35f6e00e451ba3f5fa0810223b7a3d80dee233
2016-01-12 14:07:00 -07:00
Dongwon Kang
2034a4c4c5 Add a way for SystemUI to receive media resource (e.g. A/V codec) usage
Bug: 26175834
Change-Id: If506a533c5c7b567e770217a9430bf68b539677a
2016-01-12 10:54:34 -08:00
Robert Sesek
b9a8666eb5 Add external services, a way to run isolated processes as a different package.
This adds android:externalService boolean attribute to <service>. If that
attribute is true, then bindService() may be called with
BIND_EXTERNAL_SERVICE to create the new service process under the calling
package's name and uid. The service will execute the code from the package in
which it is declared, but will appear to run as the calling application.

External services may only be used if android:exported="false" and
android:isolatedProcess="true".

Bug: 22084679
Bug: 21643067
Change-Id: I3c3a5f0ef58738316c5efeab9044e43e09220d01
2016-01-12 13:00:42 -05:00
Jeff Sharkey
9229ee5959 Merge "Install non-EA providers once user is unlocked." 2016-01-12 03:16:22 +00:00
Todd Kennedy
12705131b9 Hide ephemerality
Change-Id: Ibf60366b3f00b1920e330cd804bcc1c550f8882a

Bug: 26404647
2016-01-11 16:21:03 -08:00
Jeff Sharkey
5eeefba37c Merge "Temporary patch to work around broken casting." 2016-01-11 03:41:22 +00:00
Jeff Sharkey
6c4b87be9e Temporary patch to work around broken casting.
Bug: 26481405
Change-Id: If91ecfbfda94a2cb694098d456126f87311e1d05
2016-01-10 20:40:08 -07:00
Jeff Sharkey
bc215b8426 Merge "Fix NPE when UID has no packages." 2016-01-10 20:18:20 +00:00
Jeff Sharkey
377ded0fce Fix NPE when UID has no packages.
Bug: 25224723
Change-Id: I637214666a1f02bd23474c27a285eea9152cfa9d
2016-01-10 13:15:43 -07:00
Jeff Sharkey
2bd31dbd02 Install non-EA providers once user is unlocked.
When starting encryption-aware apps while the device is locked, we
can only spin up ContentProviders that have been marked as
encryption-aware.  Once the user is unlocked, we need to go back and
install non-encryption-aware providers in already running apps.

Fix bugs in getPackageInfo() where only one of the various MATCH_
flags was being consulted (!).  Move matching logic to single unified
location in PackageUserState so we have consistent behavior.

Fix another class of bugs where Safe Mode wasn't correctly filtering
package details (!).  These bugs are fixed by splicing in the new
MATCH_SYSTEM_ONLY flag as part of state-based flag mutation that was
added for encryption.

Bug: 25944787
Change-Id: I39c8da74b1f9ba944cc817176983f50ba322329c
2016-01-09 19:28:09 -07:00
Jeff Sharkey
3ea44a52f0 Device encrypted storage is always available.
In order to support backup/restore on devices without native FBE
support, we always need to make the DE storage area available.  Add
docs clarifying the lifecycle.

Bug: 26279618
Change-Id: I789915f295b10aca6bf80ca58406aea212835ffd
2016-01-09 15:34:44 -07:00
Jeff Sharkey
5aa86938b8 Fix docs build by removing bad links.
Also define InstallFlags and DeleteFlags, and point installPackage()
users towards new PackageInstaller APIs.  Remove old movePackage()
API that is no longer used.

Change-Id: I661a65149e4778a7591dbd912b72b4dd81b266da
2016-01-08 19:13:43 -07:00
Amith Yamasani
2b60ca45a1 Fix typo in javadoc
Change-Id: I7a61f84f9d19d5ebc64c3a6e01eea42c3fac4fed
2016-01-08 17:53:18 -08:00
Jeff Sharkey
cd65448ccd Even more PackageManager caller triage.
Finish moving all UID/GID callers to single AIDL method that requires
callers to provide flags.

Triage AppWidgets and PrintServices, which currently can only live on
internal storage; we should revisit that later.

Fix two bugs where we'd drop pending install sessions and persisted
Uri grants for apps installed on external storage.

Bug: 26471205
Change-Id: I66fdfc737fda0042050d81ff8839de55c2b4effd
2016-01-08 18:35:54 -07:00
Jeff Sharkey
629f98466a Fix build.
Change-Id: If128c90225a2237ea015063cec526a64af5bf576
2016-01-08 16:36:54 -07:00
Jeff Sharkey
c4fd3c9871 Merge "Update javadoc for flags" 2016-01-08 23:18:13 +00:00
Todd Kennedy
6b9bfa1d16 Update javadoc for flags
Bug: 25997037
Change-Id: Ia44634b0271ad0195d857ef13afec2a1ef022fae
2016-01-08 16:16:25 -07:00
Jeff Sharkey
0ab0bdde2b Merge "More progress on triaging PackageManager callers." 2016-01-08 23:14:25 +00:00
Jeff Sharkey
c5967e9862 More progress on triaging PackageManager callers.
Catch a bunch of simple cases where the PackageManager flags are
obvious.  Add the ability to use the MATCH_SYSTEM_ONLY flag on
PackageInfo and ApplicationInfo queries.

Re-examine recent tasks after a user is unlocked, since some of the
activities may now be available and runnable.

Bug: 26471205, 26253870
Change-Id: I989d9f8409070e5cae13202b47e2c7de85bf4a5b
2016-01-08 16:10:33 -07:00
Todd Kennedy
0271416563 Merge "Update PackageInstaller install handing"
am: 47950e588c

* commit '47950e588c59ff58d12b3429d285e3330b9dfe01':
  Update PackageInstaller install handing
2016-01-08 18:11:33 +00:00
Jeff Sharkey
bd94022893 Oh look, GmsCore is using more hidden APIs.
Bug: 26429932
Change-Id: Ie949d4bbdead8864aaed16282a591258ef528ca8
2016-01-08 11:10:32 -07:00
Jeff Sharkey
703fe24e25 Null cursors don't need to be wrapped.
Change-Id: I59b604a60a066c2d808a796658757af952ef913c
2016-01-07 18:52:26 -07:00