Commit Graph

3843 Commits

Author SHA1 Message Date
Polina Bondarenko
8b8b242985 Merge "HardwarePropertiesManager: Add API for hardware properties retrieval" 2016-01-27 13:18:09 +00:00
Roozbeh Pournader
486117bf5b Merge "Move locale negotiation to ResourcesManager" 2016-01-27 01:48:39 +00:00
Vladislav Kaznacheev
a74e729fa9 Merge "Fix SecurityException in Editor.onDrop" 2016-01-27 00:38:38 +00:00
Vinit Deshpande
9465a03831 Merge "Remove older passpoint code that we never made to work" into mm-wireless-dev
am: 82c8b7edd0

* commit '82c8b7edd0656bcab79411c8dbfe3651a314a559':
  Remove older passpoint code that we never made to work
2016-01-26 22:41:15 +00:00
Vladislav Kaznacheev
c14df8e73d Fix SecurityException in Editor.onDrop
When a content URI is dropped onto EditText, it tries making sense
of the contents, and in the process it accesses the content provider.
If this content provider requires a permission grant, SecurityException
occurs.

This fix does two things:
1. Editor.onDrop now requests DropPermissions and releases is
when it is done. This required the introduction of a new hidden method
DropPermissions.takeTransient, because the existing method required
access to an Activity instance.

2. If the drag originator neglected to allow the permission grant,
DropPermission request would not help, so a try/catch block
is added to Editor.onDrop to avoid breaking the recipient app.

Bug: 26694948
Change-Id: I714429a507e62c83a150d91fbcdee791bced3ad3
2016-01-26 11:53:00 -08:00
Vinit Deshpande
cb90cfbe16 Remove older passpoint code that we never made to work
Since we are hiding MO trees et al; there is no reason to
keep this code anymore.

Change-Id: Ic92131b5949c3b97b7a55fa7d3e0cd8f9e933aa0
2016-01-25 20:15:25 -08:00
Roozbeh Pournader
834641b390 Move locale negotiation to ResourcesManager
Previously, locale resolution happened at Resources level, which
could result in different Resources in the same app using different
locales.

This change moves the locale negotiation to ResourcesManager, which
remembers the locales supported by each Resources as they are
created, and negotiates the locale based on their union.

It also makes sure that the old model of apps getting the default
locale by accessing it through the Configuration's locale attribute
continues to work, since the negotiated locale will be moved to the
top of the list before Resources are created and when they are
updated with a Configuration change.

Bug: 25800576
Bug: 26404653
Change-Id: I0dd81df288327fd8d1229188c9544ee2209c161a
2016-01-25 19:23:38 -08:00
Kweku Adams
8de29ca4f3 Fixing typo in ApplicationInfo documentation.
Change-Id: I6d1d2e5d8bdfefa5ac28e3be46cca78b3a4b09e7
2016-01-26 00:55:52 +00:00
Dianne Hackborn
bfb94e21d3 Merge "Add and implement JobScheduler content observer APIs." 2016-01-25 20:34:41 +00:00
Rubin Xu
795c458c89 Merge "Turn off profile by stopping the user." 2016-01-25 17:33:43 +00:00
Rubin Xu
f13c980169 Turn off profile by stopping the user.
Bug: 22541941
Change-Id: I713ab9b87f3dd1b7bd6206af137562d20a44d76d
2016-01-25 16:29:29 +00:00
Martijn Coenen
f82ab8bea4 Merge "Implementation of HCE for NFC-F." am: e168012ff2
am: cf2f9d0966

* commit 'cf2f9d0966af01eb269b9ce6f2d08870647dd22f':
  Implementation of HCE for NFC-F.
2016-01-25 10:00:32 +00:00
Martijn Coenen
cf2f9d0966 Merge "Implementation of HCE for NFC-F."
am: e168012ff2

* commit 'e168012ff21408f8be85040bb4ac977061519f62':
  Implementation of HCE for NFC-F.
2016-01-25 09:56:20 +00:00
Tomasz Mikolajewski
c46d891170 Merge "Make ACTION_QUICK_VIEW public." 2016-01-25 01:04:02 +00:00
Dianne Hackborn
1a30bd9b13 Add and implement JobScheduler content observer APIs.
Allows one to schedule jobs to run when content URIs
change, and find out what changed when the job executes.

This required adding a new API to StateController to
tell it when we are about to start executing a job, so
we can transfer the currently collected changes out of
its internal state to fill it in to the JobParameters.

Also some additional dumpsys debug output to help
understand what is going on in the job scheduler.

Change-Id: I91f51b226ff4add7a271a8333beffa5e86c7bf18
2016-01-22 18:25:02 -08:00
Felipe Leme
21f255dea9 Merge "Created a new API to grant scoped directory access to applications." 2016-01-22 19:13:10 +00:00
Felipe Leme
c7b1f89e9e Created a new API to grant scoped directory access to applications.
The Storage Access Framework currently provides an
API (OPEN_DOCUMENT_TREE) that lets the user pick a directory to be used
by the application. Although this APIs is very powerful (for example, it
allows the user to create sub-directories, delete and share files,
etc...), it's too complex for simpler use cases like a camera
application trying to have access to the standard Pictures directory.

The new API (OPEN_EXTERNAL_DIRECTORY) simplifies this scenario by
letting the application select a standard, pre-defined directory (as
defined by android.os.Environment). The user still needs to grant access
to the requested directory, but the resulting UI will be simpler and
more straightforward.

Usage example:

  // ...
  int requestCode = 42;
  Intent intent = new Intent(Intent.ACTION_OPEN_EXTERNAL_DIRECTORY);
  intent.setData(Uri.fromFile(
    new File(Environment.getExternalStorageDirectory(),
             Environment.DIRECTORY_PICTURES)));
  startActivityForResult(intent, requestCode);
  // ...

  @Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode != Activity.RESULT_OK) {
      return;
    }
    Uri uri = data.getData();
    int modeFlags = data.getFlags()
        & (Intent.FLAG_GRANT_READ_URI_PERMISSION
        | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
    getContentResolver().takePersistableUriPermission(uri, modeFlags);
  }

BUG: 23011462
Change-Id: Ie832026532f74e681ef220b761667eb66ff3c8b0
2016-01-22 10:59:29 -08:00
Polina Bondarenko
965ecbbb3e HardwarePropertiesManager: Add API for hardware properties retrieval
Add serive "hardwareproperties" and methods getDeviceTemperatures,
getCpuUsages and getFanSpeeds to retrieve hardware properties:
device temperatures (CPU, GPU and battery), CPU usages and fan speeds.
This is a public API.

Bug: 22407109
Change-Id: If7efcbba7b160256d41704b60d93a7218dcc79d7
2016-01-22 17:33:37 +01:00
Tomasz Mikolajewski
319fb497db Make ACTION_QUICK_VIEW public.
Bug: 20822219
Change-Id: I301031c513d31890d46819c2c911c342978bdc2e
2016-01-22 18:17:17 +09:00
Yoshinobu Ito
c52adfe124 Implementation of HCE for NFC-F.
This impementation includes HCE(Host-based Card Emulation) for NFC-F
which emulates NFC Forum Type 3 Tag on a smartphone.

Signed-off-by: Daisuke Ito <DaisukeE.Ito@jp.sony.com>
               Yoshinobu Ito <Yoshinobu.Ito@jp.sony.com>

Change-Id: I1618a7fba801e0705ff3cc078206a1446b3dd56d
2016-01-22 18:14:18 +09:00
Selim Cinek
e6ff946cd4 Switched the work profile badge used in the notifications
Change-Id: I62616f1ae8fcda9953853b9859c69a9f1e6f44ca
2016-01-21 19:42:49 -08:00
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