Commit Graph

3903 Commits

Author SHA1 Message Date
Kenny Guy
b1b302660c Support FBE for managed profiles.
Allow launcher to see and attempt to launch non-crypto
aware application when profile is locked.
Hide unlock notification until parent user is unlocked.
Have unlock notitication use confirm credentials to unlock
the profile.
Updated notification strings as per suggestions in mocks
to make it clearer between users and profiles.

Bug: 27038260

Change-Id: If2d2c8148670d814544f4edd44193d15da32a289
2016-02-12 14:29:37 +00:00
Wale Ogunwale
567704bca2 Merge "Force pre-N apps to be resizeable." into nyc-dev 2016-02-11 18:55:50 +00:00
Wale Ogunwale
d829d36f09 Force pre-N apps to be resizeable.
We feel this experience is better than the 2-finger gesture.
Added ActivityInfo.RESIZE_MODE_FORCE_RESIZEABLE resizeMode
to indicate we are force resizing an app.

Bug: 27132829
Bug: 26847884
Change-Id: I65db2de0d9f3f171cc3bb136cc1282b3ef3549b0
2016-02-11 05:02:14 -08:00
Jeff Sharkey
8212ae0aee Consistent naming for internal storage APIs.
Also completely remove a few confusingly named deprecated APIs.

Change-Id: Ia7e4ea3190a97f0a7dfa9bebf2118da0866ec38f
2016-02-10 15:03:33 -07:00
Adrian Roos
691546e5b7 Isolate Keyguard from main thread badness
Adds a bindService variant to run the ServiceConnection callbacks
on a dedicated Handler.

Changes KeyguardService binding to use the foreground thread
instead of the main thread and changes state to the
KeyguardScrim on the UI thread.

Bug: 26954967
Change-Id: I9d7bd85382816cd0e23772b14ff6518266a9d232
2016-02-10 18:17:29 +00:00
Felipe Leme
d4c6582a60 Merge "Whitelisted ACTION_OPEN_EXTERNAL_DIRECTORY to use file:// URIs." into nyc-dev 2016-02-10 18:02:21 +00:00
Felipe Leme
52fe147602 Whitelisted ACTION_OPEN_EXTERNAL_DIRECTORY to use file:// URIs.
BUG: 27109099
BUG: 26742218
Change-Id: I4848b30e6efbda72ff04a6786bac32f34d528f84
2016-02-10 09:48:01 -08:00
Svetoslav Ganov
e0feadcaac Merge "Add an API to query the package name of the services shared lib" into nyc-dev 2016-02-10 03:00:09 +00:00
Svet Ganov
d7b1f41109 Add an API to query the package name of the services shared lib
The servcies shared lib contains components apps can invoke such
as services to bind to, activities to start, UI choosers, etc.
This lib is built from AOSP code but an OEM may chage its
package name. For example, Google renames the package names for
GMS apps from android.foo.bar to com.google.android.foo.bar.
While we have more than one shared lib that are a part of the
platform (currently shared and services libs) the serivces lib
is the only one clients need to start components in, thus need
to know its package name. This change adds an API to query the
package name of the services shared lib. The API is hidden as
currently the only clients are a part of the system.

Change-Id: Ied48fa4819024522791764b22b3336d4f4b42cc3
2016-02-09 18:49:27 -08:00
Selim Gurun
75827b2fb6 Fix build break
Bug: 26874366
Change-Id: Ic7634cb9d823d4f74d2893f4c46a77a5af02a0a1
2016-02-09 10:55:33 -08:00
Selim Gurun
2d291d89f9 Introduce a use32bitAbi flag
Bug: 26874366

On Multiarch apps, it might be necessary to prioritize 32bit Abi ahead
of 64bit ones. The use32bitAbi flag enables this.

This CL also reverts the public api changes in  I2c1fd1d036efe72b28b5fe996416df69a583959f and Ie3ecea6d84e2cb1522e736a21c3a3a24ac62eb27. Previously
the same functionality was provided using a raw abi string that
utilized cpuabioverride flag.

Change-Id: Idce3cbfedd11ef9079ce8a2901e69d30b1cf9ef4
2016-02-09 10:20:21 -08:00
Svet Ganov
354cd3ce22 Multi packages per APK
This change introduces the ability to have multiple packages per
APK. The feature is currently restricted to privileged apps and
updates to such apps.

In essence the manifest can have multiple child package declarations.
A child package can declare everything an Android package can except
some tags or attributes that are not applicable and instead inherited
from the parent when needed. For example, the target SDK of the parent
applies to all children.

A child package can be updated only through the parent package.
A package with multiple child packages is installed, uninstalled
atomically - no partial installs where some child packages are not
installed.

The remaining work is to ensure broadcasts are also sent for child
packages. This will come in a subsequent change.

Sample app:ag/848432

Design doc: https://docs.google.com/document/d/18nFWtJuZchLxrHf5SBbJW03-Ky9Rh_G0-OVB14b6u78

Change-Id: I6fd021d981bf5786290e0c53502724a14c97358c
2016-02-08 15:14:07 -08:00
Jeff Sharkey
e4697136ed Migrate default app data on non-FBE devices.
When a system app requests "forceDeviceEncrypted" they expect their
default app storage to point at a consistent location regardless of
device FBE support.  So when booting upgraded non-FBE devices, we
may need to migrate any data from CE to DE.  Note that on non-FBE
devices these are just semantic locations with identical protection.

This migration *only* works for non-FBE devices; changing
forceDeviceEncrypted flags on an FBE device always requires a full
data wipe.

Bug: 26668510
Change-Id: Ic5dfeaaf2db26c385901a638ca8ec35eb3c52859
2016-02-06 20:45:15 -07:00
Jeff Sharkey
37355a9f5d Tweaks to file:// Uri StrictMode checks.
Whitelist two more legacy intent actions, and don't enforce the
StrictMode checks when resolving intents that might be coming from
legacy apps.  Newer apps would have already been yelled at directly
before getting to the resolver.

Bug: 26976516, 26977622
Change-Id: Ibf72a361ed68c52cfaac16c32ab40e79005a42e7
2016-02-05 16:19:13 -07:00
Makoto Onuki
911db2e19a Merge "Remove com.google.android.syncadapters.contacts from exception list" 2016-02-05 19:51:18 +00:00
Makoto Onuki
e798ba1033 Remove com.google.android.syncadapters.contacts from exception list
Bug 26902400
Bug 26481405

Change-Id: I3b4d0217ee033f727074f68ebe6a1c1461509d04
2016-02-05 11:45:02 -08:00
Roozbeh Pournader
fee4484637 Various LocaleList cleanups
- Remove the LocaleList#getPrimary() API. It had become confusing
  after locale negotiation was completely implemented. For example,
  it could create the confusion that calling getPrimary() on the
  default locale list would provide the default locale, etc.
- Use the adjusted locale list from LocaleList.getAdjustedDefault()
  in Paints created with no locale list provided.
- Change LocaleList#get() to treat out of bound indexes from both
  negative indexes and too large indexes the same way.

Bug: 26984092
Bug: 26193251
Bug: 26834387
Change-Id: I75f77aea6b75e38793ed8477e5e5a4420d5e6d85
2016-02-04 15:44:03 -08:00
Mikhail Naganov
278fb3b359 Make flags related for "external services" public
ServiceInfo.FLAG_EXTERNAL_SERVICE is set when the service is
exported with the new public manifest attribute "android:externalService"

Context.BIND_EXTERNAL_SERVICE is used by clients when they
are binding such service.

Bug: 22084679
Bug: 21643067
Change-Id: Ifd708f90b47a1571cd54c5ec9fc217f0567d5ff4
2016-02-03 16:22:33 -08:00
Andreas Gampe
fe54b11803 Merge "Frameworks/base: Add A/B OTA preopting" 2016-02-02 16:01:11 +00:00
Wale Ogunwale
f70fb29c83 Merge "Allow apps that target less than N SDK to be resizeable." 2016-02-01 23:58:32 +00:00
Selim Gurun
0829fd4b26 Merge "Run 32-bit app in multiArch APK." 2016-02-01 23:40:23 +00:00
Andreas Gampe
a89087542f Frameworks/base: Add A/B OTA preopting
Add an OTA Dexopt service. Refactor package manager service and
package dex optimizer to reuse some code. Add knowledge about
OTA flag to installer.

Bug: 25612095
Change-Id: I7dd6bb468fea44b9d3acf0ac7d7404fb02d0f30a
2016-02-01 15:38:21 -08:00
Tao Bai
c9a0237f5f Run 32-bit app in multiArch APK.
Bug: 26874366

Change-Id: I2c1fd1d036efe72b28b5fe996416df69a583959f
2016-02-01 14:54:37 -08:00
Wale Ogunwale
163828db30 Allow apps that target less than N SDK to be resizeable.
If an app says it is resizeable then make it resizeable
regardless of the SDK it is targetting.

Change-Id: I51a1c5417657c6b15ce035f8d5af202506f4120a
2016-02-01 11:48:19 -08:00
David Brazdil
8486786493 Merge "Add 'package compile' shell command" 2016-02-01 18:44:22 +00:00
David Brazdil
493411ace4 Add 'package compile' shell command
Bug: 26707406
Change-Id: I554969c9f3b3153179370d3d23a88fa7e8693885
2016-02-01 18:32:55 +00:00
Ruben Brunk
33e0a5f7ed Merge "Add feature tag for high-performance VR devices." 2016-02-01 18:20:00 +00:00
Shreyas Basarge
40a11e525c Merge "Updated Javadoc to reflect min period" 2016-02-01 16:07:21 +00:00
Shreyas Basarge
e96c3b7eff Updated Javadoc to reflect min period
Javadoc updated and logging added for
min period and min flex enforcements
in JobScheduler and SyncManager.

Bug: 26874152
Change-Id: Ifdd248b776a1bd04df21b7b9f0ac96bdef0f8bb6
2016-02-01 16:03:36 +00:00
Shreyas Basarge
a491c07f36 Merge "SyncManager on JobScheduler" 2016-02-01 15:32:58 +00:00
Wale Ogunwale
14a79bd12a Merge changes I8d546487,Ib62d357f
* changes:
  Allow resizeableActivity to be specified at the application level
  Renamed manifest attributes initialWidth/Height to defaultWidth/Height
2016-01-31 20:02:45 +00:00
Wale Ogunwale
174d36d87a Merge "Renamed FLAG_ACTIVITY_LAUNCH_TO_SIDE to FLAG_ACTIVITY_LAUNCH_ADJACENT" 2016-01-31 19:57:16 +00:00
Jeff Sharkey
a8b42780c2 Ignore null actions.
Bug: 26862905
Change-Id: I30a21e67b0f60ebca5eaccc843834059e52a6b78
2016-01-30 17:58:09 -07:00
Jeff Sharkey
634dc42c9e Throw when using deprecated file modes.
installd no longer grants o+x to private app data directories for
apps targeting N, so the long-deprecated MODE_WORLD_READABLE and
MODE_WORLD_WRITEABLE flags no longer have any effect, which may lead
to frustrating debugging sessions.

So to help clearly communicate that these flags no longer work, let's
throw when an app targeting N tries using them.

Bug: 26886867
Change-Id: I97dae6182fc3c55639ff37a39c4aae6dd0bed507
2016-01-30 17:48:32 -07:00
Jeff Sharkey
35871f2c2b Offer to migrate databases and SharedPreferences.
Databases and SharedPreferences often involve multiple files under
the hood, so developers wanting to migrate them between different
storage contexts should ask us to make sure all relevant files are
migrated correctly.

This makes a best-effort attempt to recover from battery pulls
during migration, while still trying to alert developers to
conflicting files.

Bug: 26668510, 25860525
Change-Id: I9ffa3e8cb6191dfd4237b9466a081d6d77df3ba0
2016-01-30 17:03:23 -07:00
Wale Ogunwale
6afdf91b17 Allow resizeableActivity to be specified at the application level
Makes it easier for developers to set a state for all their activities
vs. doing it individually.

Bug: 26508215
Change-Id: I8d546487b6461a03f75cce7760522e7af9fc2740
2016-01-30 13:01:33 -08:00
Wale Ogunwale
b12e1099ce Renamed manifest attributes initialWidth/Height to defaultWidth/Height
Per feedback from API council.

Bug: 26508215
Change-Id: Ib62d357f0e6309ad6f6305ba5ac376c5e3ab04e7
2016-01-30 12:24:44 -08:00
Wale Ogunwale
2a25a62739 Renamed FLAG_ACTIVITY_LAUNCH_TO_SIDE to FLAG_ACTIVITY_LAUNCH_ADJACENT
Per feedback from API council.

Bug: 26508215
Change-Id: Id17166fe981587c9c16c382ccbdf0846ed2ae5d6
2016-01-30 11:27:21 -08:00
Jaewan Kim
54fa566ab7 Merge "PIP: Use StatusBarService to handle PIP key" 2016-01-30 01:06:29 +00:00
Shreyas Basarge
8c834c0767 SyncManager on JobScheduler
SyncManager now uses JobScheduler for scheduling
and persistence purposes.

Change-Id: I38c92aedbf4d891ca297644d0b706835aaedfcd6
2016-01-29 22:15:15 +00:00
Wale Ogunwale
b1faf60b89 Use resizeMode integer instead of resizeable boolean.
Changes activity manager and window manager to use resizeMode
as defined by ActivityInfo#resizeMode instead of a boolean.

Bug: 26774816
Change-Id: I8cef46d9fba6bfdd21df7da63ed5d5330ad03d4b
2016-01-29 07:44:33 -08:00
Jaewan Kim
c552b04cb4 PIP: Use StatusBarService to handle PIP key
Bug: 26591829
Change-Id: I7051fab966e2fc0887b2a21ddbf11aff7e16804b
2016-01-29 18:40:47 +09:00
Jeff Sharkey
344744b496 Exposing file:// beyond your app is bad, m'kay?
For several releases now we've told developers that sharing raw files
between apps is a recipe for trouble.  There are at least three major
problems with sending raw files:

-- Apps sending generic intents can't know who is at the other end,
so they may not have access to shared storage locations.  This is
more likely now that runtime permissions require apps to explicitly
ask users for permission.

-- Apps making files in their private storage world-readable has been
deprecated for several releases, and now in N it's fully blocked.  If
we let these intents through, the receiving app would fail to open
the file, when the real blame rests on the sending app.

-- Devices with user profiles can't share raw files when using
cross-profile intent filters, since filesystem access is fully
locked down between users.

The time has finally come to communicate clearly that if you're
sharing content between apps, you need to use content:// Uris.  We
added the simple FileProvider several years ago to give apps a clean
way to migrate with minimal work on their part.

Bug: 26860922, 9069185
Change-Id: I075f627f6a0d6c7fca2c090ca133b9aae9801c64
2016-01-28 19:20:12 -07:00
Jeff Sharkey
c26d59f6ab Fix activity-alias encryption awareness bug.
Since the activity-alias is backed by the same code as the original
activity definition, they should both have an identical encryption
awareness.  This fixes a bug where we accidentally dropped that value.

Bug: 26731340
Change-Id: I6ad615332df7d16542893a49e6997c88fc24334b
2016-01-28 13:30:07 -07:00
Fyodor Kupolov
7b9f2e1d86 Merge "Added SystemApi for getting serial numbers of users" 2016-01-28 18:58:05 +00:00
Fyodor Kupolov
940e8577a1 Added SystemApi for getting serial numbers of users
Also added UserHandle version of queryBroadcastReceiversAsUser.

Bug: 25844894
Change-Id: I78ecbef186e4ced10425ae2899db72c2d91c5792
2016-01-28 10:55:28 -08:00
Jeff Sharkey
ec498e8ebe Merge "Report FBE through a feature string." 2016-01-28 18:20:03 +00:00
Jeff Sharkey
b92b05bb4b Report FBE through a feature string.
Since devices can be converted to enable/disable FBE across a
factory reset, we offer to add the features dynamically depending
on device status.

Bug: 26808417
Change-Id: I905140ba500a5e69756b547f2b1d6167b9a37dc6
2016-01-28 11:10:03 -07:00
Ryan Lothian
0a4b4cdf1c Merge "Update SharedPreferences javadoc" 2016-01-28 17:48:17 +00:00
Wale Ogunwale
d26176f360 Support different multi-window compatibility modes
- Change idea of activity resizablility from true or false to
unresizeable, cropped_windows, resizeable, and resizeable_and_pipable
- Default pre-N apps to cropped_windows mode and N or greater apps to
unresizeable or resizeable depending on the value of resizeableActivity
attribute.
- Mark legacy apps that specify fix orientation or immersive only mode
as unresizeable.
- Change to hide docked stack when unsupported app is the focus app.

Bug: 26774816
Change-Id: Ie473d36ca95f08e9332ab10fd2f0ec17ef50a02f
2016-01-28 08:33:46 -08:00