Commit Graph

2920 Commits

Author SHA1 Message Date
Andy Hung
1aba5230c5 Merge "Add Android permissions for audioserver" 2015-12-11 20:08:49 +00:00
Jeff Sharkey
b642387b43 Cleaner API for requesting locked status.
Change-Id: I1a5a6703737fb838347eaa292004430f2b9d29c3
2015-12-11 11:15:37 -07:00
Jeff Sharkey
98cb23dccf Merge "Slight API renaming, better behavior." 2015-12-09 22:51:43 +00:00
Jeff Sharkey
e13529a4ad Slight API renaming, better behavior.
Rename APIs to reflect that they're storage-related.  Also move
credential-storage APIs to be system API.

Return a null Context when device-encrypted storage isn't
supported.  This is the easiest way to keep legacy apps working when
upgrading from M to N.

Reduce strictness of path checking so we don't crash when working
with special packages like "android".

Bug: 22358539, 26104027
Change-Id: I38c24fc003488186210a6ae3b64270f86e1efe56
2015-12-09 15:22:54 -07:00
Andy Hung
ed0ea40a41 Add Android permissions for audioserver
audioserver has the same permissions as mediaserver.

TBD: Pare down permissions.

Bug: 24511453
Change-Id: Id7abddd79a730ad95b554a94207df3aa4b676f2a
2015-12-08 15:35:00 -08:00
Christopher Wiley
f26709c7af Merge "Rethrow remote\'s ServiceSpecificException" am: 85eaca25fe
am: b7b3415899

* commit 'b7b341589929b9d8c46f772c253803c97ac1ffb0':
  Rethrow remote's ServiceSpecificException
2015-12-08 23:32:36 +00:00
Christopher Wiley
b7b3415899 Merge "Rethrow remote\'s ServiceSpecificException"
am: 85eaca25fe

* commit '85eaca25fe2a89f883e9a87d8f411cfb315f3e03':
  Rethrow remote's ServiceSpecificException
2015-12-08 23:26:40 +00:00
Christopher Wiley
85eaca25fe Merge "Rethrow remote's ServiceSpecificException" 2015-12-08 23:15:52 +00:00
Xiaohui Chen
13b80b2303 Merge "UserManager: get/set user account name" 2015-12-08 21:42:22 +00:00
Lenka Trochtova
c4dd021322 Introduce ephemeral users.
BUG: 24883058

Change-Id: I2e1d6aa184142c2a3dc0415c0cd407573453cf41
2015-12-08 15:47:10 +01:00
Zoltan Szatmary-Ban
ed6c8cd6ca Merge "Make base user restrictions queriable for system apps" 2015-12-08 10:24:08 +00:00
Jeff Sharkey
e0b2f2e270 Merge "Mount storage after unlock, fix leaving emulation." 2015-12-08 01:35:28 +00:00
Jeff Sharkey
ce14cd0141 Mount storage after unlock, fix leaving emulation.
Delay mounting of storage devices until after the user is unlocked,
which means any emulated storage areas will be ready for use.  Track
separate per-user unlocked states for local versus system lifecycle
state.

Switch to explicitly lock or unlock user keys during boot of a
device without native FBE support.  This allows us to recover when
the user has disabled emulated FBE.

Force reboot when changing FBE emulation state.

Bug: 26010607, 26027473
Change-Id: Idaf8b63e69f886ddbd848a9fab6d143a5fd10500
2015-12-07 18:02:10 -07:00
Samuel Tan
650c4af010 Merge "Add support for reading and writing double array values" am: 61c0b7cd4d am: ff8ef28e73
am: e769f25fa4

* commit 'e769f25fa496827bf1ba9d74518bafd40082ceb6':
  Add support for reading and writing double array values
2015-12-08 00:00:45 +00:00
Samuel Tan
e769f25fa4 Merge "Add support for reading and writing double array values" am: 61c0b7cd4d
am: ff8ef28e73

* commit 'ff8ef28e73c0959a4993fea975d0bdefbc27a20b':
  Add support for reading and writing double array values
2015-12-07 23:38:14 +00:00
Samuel Tan
ff8ef28e73 Merge "Add support for reading and writing double array values"
am: 61c0b7cd4d

* commit '61c0b7cd4d73381a2f4e3d3836389b130b5006d9':
  Add support for reading and writing double array values
2015-12-07 23:15:15 +00:00
Rubin Xu
cc586c5ab1 Merge "Introduce quiet mode state to managed profile users" 2015-12-07 21:52:40 +00:00
Xiaohui Chen
b3b9258ab6 UserManager: get/set user account name
Bug: 25935510
Change-Id: I0b621fb300be74209534e08a11f1d1a7c049cd5a
2015-12-07 11:32:50 -08:00
Samuel Tan
61c0b7cd4d Merge "Add support for reading and writing double array values" 2015-12-07 18:56:01 +00:00
Rubin Xu
0a29ecd8a5 Introduce quiet mode state to managed profile users
Quiet mode means the user will be free from visual and audio interruptions
from apps inside the managed profile, including notifications, widgets and
others. This CL adds the underlying state bit to users and exposes various
APIs to control and query the quiet mode state.

Bug: 22541941
Change-Id: If5f8e5a897843050e83b6ec26cb39561098f12b9
2015-12-07 18:17:46 +00:00
Todd Kennedy
c72b3101ee Merge "Add ephemeral installs" 2015-12-07 15:33:05 +00:00
Zoltan Szatmary-Ban
3bbceddb94 Make base user restrictions queriable for system apps
Needed by e.g. Settings > Location

Bug:22541939
Change-Id: I6cdd5f1c32cde143232eb53f531bbf3a737d8a9a
2015-12-07 10:43:24 +00:00
Christopher Wiley
80fd1208b9 Rethrow remote's ServiceSpecificException
Certain system services would like to throw exceptions
with specific error codes, so that the framework can catch
these specific conditions and express them appropriately.

Bug: 25800533
Change-Id: I94b3d30fa131f5e14bba893c971615840085459f
2015-12-04 16:06:08 -08:00
Jeff Sharkey
9d8a1048bb Handle non-encryption-aware accounts and sync.
The system can now boot in a "locked" state where only encryption
aware (EA) components can be safely started.  When in this state,
PackageManager already filters away non-EA components, but system
services like AccountManager and SyncManager need to carefully handle
these temporarily "missing" components.

As a guiding principle, all known Accounts are still present when
the device is locked, but communication with underlying non-EA
authenticators is blocked.

To keep things simple for now, all SyncManager requests are kept
dormant until the user enters the unlocked state.

The core of this logic is that RegisteredServicesCache now works
with all components regardless of EA status, which prevents us from
accidentally thinking a service was removed when the user is locked.

Bug: 25945136
Change-Id: I8714121f6236b00821769023c4df7de1c8a99944
2015-12-04 09:36:39 -07:00
Todd Kennedy
2699f06555 Add ephemeral installs
* Add a new --ephemeral argument to 'adb install'
* Add plumbing to internally track ephemeralness
* Create new app directory for ephemeral installs

Bug: 25119046
Change-Id: I1d379f5ccd42e9444c9051eef2d025a37bd824fe
2015-12-03 14:47:01 -08:00
Jeff Sharkey
f4a6dc52b1 Merge "StrictMode: fix deserialization of ViolationInfo on large stacks" am: 29e0b6e789 am: af588a31bc
am: 630f658108

* commit '630f65810860cbd15012a1d5e83a275695e332cd':
  StrictMode: fix deserialization of ViolationInfo on large stacks
2015-12-03 19:18:15 +00:00
Chris Tate
c169181747 Merge "Improve docs for Parcelable.describeContents()" 2015-12-03 19:00:47 +00:00
Jeff Sharkey
630f658108 Merge "StrictMode: fix deserialization of ViolationInfo on large stacks" am: 29e0b6e789
am: af588a31bc

* commit 'af588a31bc62b791014b3cc4e655107e9446e3d0':
  StrictMode: fix deserialization of ViolationInfo on large stacks
2015-12-03 17:13:43 +00:00
Jeff Sharkey
af588a31bc Merge "StrictMode: fix deserialization of ViolationInfo on large stacks"
am: 29e0b6e789

* commit '29e0b6e7891091614a9e9dd6083017d0c9d454ae':
  StrictMode: fix deserialization of ViolationInfo on large stacks
2015-12-03 17:06:24 +00:00
Jeff Sharkey
29e0b6e789 Merge "StrictMode: fix deserialization of ViolationInfo on large stacks" 2015-12-03 16:59:13 +00:00
Neil Fuller
568f4de11a Merge "Fix @code escapes" 2015-12-03 09:44:01 +00:00
Christopher Tate
d1f09e2b43 Improve docs for Parcelable.describeContents()
Make the meaning of CONTENTS_FILE_DESCRIPTOR more explicit, and
emphasize that describeContents() applies to the current object
instance, not to the class generically.

Change-Id: Ie5010e24c2e57bdc6c982249adb9d4c871d46f5a
2015-12-02 16:30:15 -08:00
Jeff Sharkey
f23b5d3d6d Merge "API to determine user locked/unlocked state." 2015-12-02 20:16:37 +00:00
Jeff Sharkey
0825ab284c API to determine user locked/unlocked state.
Bug: 25946804
Change-Id: I2b8c8c75fda161a446d79fac811fdd446aa3a4db
2015-12-02 13:14:51 -07:00
Dianne Hackborn
a864049aae Merge "Fix reporting of uid state in battery stats." 2015-12-02 20:05:57 +00:00
Fyodor Kupolov
9cbfc9e212 Added DISALLOW_RUN_IN_BACKGROUND user restriction
It forces the user to stop instead of going into the background. Also
changed behavior of stopUser method. Now it also attempts to stop related
users along with the specified userId.

Based on ag/807976, with the only difference that it's now a user restriction.

Bug: 24579258
Bug: 24708668
Change-Id: I357298908816fc58feeed83b7e9979fc33d25da6
2015-12-02 10:22:23 -08:00
Neil Fuller
71fbb81b14 Fix @code escapes
The body of {@code} must not be HTML escaped. This is one of
several changes that fix the source in conjunction with a
doclava fix.

Bug: 25757239
Change-Id: Ib38a0fa2dd2a3d68e467f78a812071e763d7e881
2015-12-02 14:24:11 +00:00
Svet Ganov
9c165d7601 Add optional permission review for legacy apps - framework
For some markets we have to allow the user to review permissions
for legacy apps at runtime despite them not supporting the new
permission model. This is achieved by showing a review UI before
launching any app component. If an update is installed the user
should see a permission review UI for the newly requested
permissions.

To allow distinguishing which permissions need a review we set
a special flag in the permission flags that a review is required.
This flag is set if a runtime permission is granted to a legacy
app and the system does not launch any app components until this
flag is cleared. Since install permissions are shared across all
users the dangerous permissions for legacy apps in review mode
are represented as always granted runtime permissions since the
reivew requirement is on a per user basis.

Whether the build supports permission review for legacy apps is
determined by a build constant allowing us to compile away the
unnecessary code for markets that do not require a permissions
review.

If an app launches an activity in another app that has some
permissions needing review, we launch the permissions review
UI and pass it a pending intent to launch the activity after
the review is completed.

If an app sends a broadcast to another app that has some permissions
needing review, we do not deliver the broadcast and if the sending
app is in the foreground plus the broadcast is explicit (has a
component) we launch the review UI giving it a pending intent to
send the broadcast after the review is completed.

If an app starts a service in another app that has some permissions
needing review, we do not start the service and if the calling app
is in the foreground we launch the review UI and pass it a pending
intent to start the service after the review is completed.

If an app binds to a service in another app that has some permissions
needing review, we schedule the binding but do not spin the target
service's process and we launch the review UI and pass it a callback
to invoke after the review is completed which spins the service
process and completes the binding.

If an app requests a content provider in another app that has some
permissions needing review we do not return the provider and if
the calling app is in the foreground we show the review UI.

Change-Id: I550f5ff6cadc46a98a1d1a7b8415eca551203acf
2015-12-02 04:23:02 +00:00
Chong Zhang
e7f24e2291 Merge "AMS: add API to IProcessInfoServive for retrieving oom scores" 2015-12-02 01:25:58 +00:00
Chong Zhang
58c270c01b AMS: add API to IProcessInfoServive for retrieving oom scores
bug: 25853091
Change-Id: Ic915191b959afd34d31e8731a7e4aa631a78e45e
2015-12-01 17:21:24 -08:00
Dianne Hackborn
a8d10945a6 Fix reporting of uid state in battery stats.
Now that the activity manager keeps track of per-uid process states,
we can push that already rolled-up data into battery stats to directly
track the times in those states.

The problem with the reporting was actually that we weren't dealing
correctly with negative process states, which is now fixed.  (It was
interpreting them as FOREGROUND rather than not running.)

Also split out a number of new states -- TOP, FOREGROUND_SERVICE,
TOP_SLEEPING -- from FOREGROUND.  This should allow us to get a much
better idea of how much an app has been actively in use: TOP is when
it is directly visible to the user or in use by such, FOREGROUND_SERVICE
is when it is running in the background in a way the user is aware of.
Also when reporting these numbers, they are no longer added together as
reported but kept as separate times.

Change-Id: I6d307503a4b4ad5c0d5d49305ef63f8eb858e2c9
2015-12-01 16:53:28 -08:00
Fyodor Kupolov
8286a6d85f Merge "Correctly set default restrictions when creating guest" 2015-12-01 20:08:15 +00:00
Fyodor Kupolov
e04462caa4 Correctly set default restrictions when creating guest
Use restrictions from mGuestRestrictions when creating a guest. Initially
phone calls, SMS and installing from unknown sources is not allowed.

Bug: 25904144
Bug: 25729516
Change-Id: I461c492ad64842d3707f73dfd83b533aa31b63ef
2015-11-30 17:22:20 -08:00
John Reck
2b0ebb3d5d Tweak AsyncTask#THREAD_POOL_EXECUTOR settings
Bug: 24821101
Bug: 23722178
Change-Id: I73741eb4f812e754d5823b27efec98fca9938329
2015-11-30 16:39:09 -08:00
Samuel Tan
a8036660ea Add support for reading and writing double array values
Add support for reading and writing double arrays in
Parcel.readValue() and Parcel.writeValue.

Also, remove some trailing whitespaces in Parcel.java.

BUG: 25848659
Change-Id: Ib5430f492df4195051b83d9bf2b5163ec684bbff
2015-11-30 13:14:01 -08:00
Makoto Onuki
e7927da1b6 Don't call DPM from UserManager to avoid lock inversion
- Also make sure DPMS.mOwners is always guarded with DPMS.this.
(and remove synchronization from Owners.)

Bug 25796840

Change-Id: I83f7b78e7b437d9c2a2b1d6e714346cd15f95330
2015-11-25 11:17:08 -08:00
Makoto Onuki
42490c074d Merge "Remove UserManager.setSystemControlledUserRestriction()" 2015-11-23 18:42:55 +00:00
Makoto Onuki
ac65e1e1db Remove UserManager.setSystemControlledUserRestriction()
Now that we don't have UM.setUserRestriction*s*() that could remove
all existing restrictions, there's almost no point handling
DISALLOW_RECORD_AUDIO differently.

Now DISALLOW_RECORD_AUDIO is handled just like other restrictions,
except we don't persist it.

Bug 24954662

Change-Id: I27875b4a74dd95a3ce6bb774081eeaf718eaec15
2015-11-23 10:41:42 -08:00
Przemyslaw Szczepaniak
9ad08ec5be Switch RecoverySystem impl to use sun.security.pkcs
Due to org.apache.harmony.security package removal,
RecoverySystem#verifyPackage was rewritten to use
sun.security.pkcs package for verifining package
signature.

(cherry-picked from 84acbd76f7e1300e8404ac1b94f008826f9cc0fb)

Change-Id: I3a2058982beadab1aaae793c25db5c6f7387a72b
2015-11-21 14:51:05 +00:00
Makoto Onuki
1fae502824 Merge "More work on layered user restrictions." 2015-11-19 22:53:37 +00:00