Commit Graph

7914 Commits

Author SHA1 Message Date
TreeHugger Robot
dc73a09889 Merge "Apply app data isolation on isolated or app zygote processes" into rvc-dev am: 8434b9fc88
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11689593

Change-Id: Iee4baeba4580c74275ef54a93260050804a8c9cd
2020-06-08 11:07:57 +00:00
TreeHugger Robot
8434b9fc88 Merge "Apply app data isolation on isolated or app zygote processes" into rvc-dev 2020-06-08 11:03:56 +00:00
Ricky Wai
e986bc4cad Apply app data isolation on isolated or app zygote processes
Fix: 158088415
Test: atest AppDataIsolationTests
Change-Id: Ic55464397039645938822ac20eb12e375bbe4a72
2020-06-05 11:50:50 +01:00
TreeHugger Robot
224ce04e42 Merge "Get the instance count as the initial value" into rvc-dev am: d5fb11a761
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11473225

Change-Id: I5277cd97e46659df8c0398371f86c9880efca9ef
2020-06-05 03:36:49 +00:00
TreeHugger Robot
d5fb11a761 Merge "Get the instance count as the initial value" into rvc-dev 2020-06-05 03:34:32 +00:00
Jeff Sharkey
5bb776d88b Merge "Logging to aid bug investigation." into rvc-dev am: bb9ea4e1fa
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11745078

Change-Id: I72ef1b7bf14215c76ff67aea1941ab43a27f0e02
2020-06-04 23:51:12 +00:00
Jeff Sharkey
0a8e32c124 Logging to aid bug investigation.
We're trying to figure out where volumes are disappearing.

Bug: 158059178
Test: none
Change-Id: I68959f0a163e2fece13fcb08a6c9f55ec1beb0f6
2020-06-04 17:35:38 -06:00
Peiyong Lin
760338ed90 Merge "Allow to load implicit layer from /vendor/app." into rvc-dev am: 1371b76afd
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11688191

Change-Id: I34257bdfd340334bcdfc19a3f6a9c5d9aeebe842
2020-06-04 00:53:47 +00:00
Peiyong Lin
1371b76afd Merge "Allow to load implicit layer from /vendor/app." into rvc-dev 2020-06-04 00:40:15 +00:00
Peiyong Lin
eb1c5a4c28 Allow to load implicit layer from /vendor/app.
Currently when loading implicit layers from apks, NativeLoaderNamespace
doesn't allow to dlopen the binaries if they come from apks from
/vendor/app. Implicit layers ship within /vendor/app should work like
other implicit layers. This patch extracts the construction of library
paths of the implicit layers and includes those paths when
NativeLoaderNamespace is created as the part of the permitted library
paths.

Bug: b/157832445
Test: atest android.gputools.cts.CtsRootlessGpuDebugHostTest
Test: setup debug layer and use adb logcat to check vulkan loader output
Change-Id: Ie2ca989bcab890578b5aa540d07f2aee2a0182bd
2020-06-03 21:30:08 +00:00
Zhen Zhang
08c915ea4c Merge "Allow low ram device to have multiple users and managed profies" into rvc-dev am: 2260f7102f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11667418

Change-Id: Id93d5b5bea8571ef5f8e177d5c17963d5ba8e746
2020-06-03 17:31:40 +00:00
Zhen Zhang
2260f7102f Merge "Allow low ram device to have multiple users and managed profies" into rvc-dev 2020-06-03 17:19:30 +00:00
Treehugger Robot
61538a7ff8 Merge "Use device SKU for Build.SKU instead of product/odm SKU" am: d1acd32722 am: 5dbd259527
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1318696

Change-Id: I60137d2247a7a7033d04f669f4f90c5e2644c218
2020-06-02 21:17:20 +00:00
Treehugger Robot
5dbd259527 Merge "Use device SKU for Build.SKU instead of product/odm SKU" am: d1acd32722
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1318696

Change-Id: Ida9865813088b5b1c6a0d0a728acb93dbe75cfda
2020-06-02 21:01:22 +00:00
Treehugger Robot
d1acd32722 Merge "Use device SKU for Build.SKU instead of product/odm SKU" 2020-06-02 20:48:33 +00:00
Martijn Coenen
5dab822067 Merge "Use killProcessGroup when killing app zygote." into rvc-dev am: 0a8ef2b45f
Original change: undetermined

Change-Id: I6033bc141efd30efb832c8cde26a2312d4f3c177
2020-06-02 07:08:35 +00:00
Martijn Coenen
0a8ef2b45f Merge "Use killProcessGroup when killing app zygote." into rvc-dev 2020-06-02 06:54:46 +00:00
Jeff Sharkey
459f2c806b Merge "Revert "Apps shouldn't be disabling StrictMode checks."" into rvc-dev am: c99a508218
Change-Id: I5d4a4161fa0c9e9ab8bef9a543c357bab4576408
2020-06-01 16:04:05 +00:00
Jeff Sharkey
c99a508218 Merge "Revert "Apps shouldn't be disabling StrictMode checks."" into rvc-dev 2020-06-01 15:55:14 +00:00
Jeff Sharkey
3080fb7c9e Revert "Apps shouldn't be disabling StrictMode checks."
This reverts commit 14e961870a.

Reason for revert: satayev@
Bug: 156336269

Change-Id: Ic0d3a650156c06f58fce4c28157191f4497469f0
2020-06-01 15:54:41 +00:00
Jeff Sharkey
e42cbb8704 Merge "Support getStorageVolume() for synthetic volumes." into rvc-dev am: fd71805e1c
Change-Id: I5f6675f1514ed308014e833d28e1b3a3cbe8c93a
2020-06-01 14:38:01 +00:00
Jeff Sharkey
f05d514436 Merge "Apps shouldn't be disabling StrictMode checks." into rvc-dev am: 4d96602de0
Change-Id: Iaf92a5949c9196d5d4194322e360d114325a4eea
2020-06-01 14:37:23 +00:00
Jeff Sharkey
fd71805e1c Merge "Support getStorageVolume() for synthetic volumes." into rvc-dev 2020-06-01 14:18:32 +00:00
Jeff Sharkey
4d96602de0 Merge "Apps shouldn't be disabling StrictMode checks." into rvc-dev 2020-06-01 14:16:54 +00:00
TreeHugger Robot
4af2991795 Merge "Fixed how ShellCommand show exceptions." into rvc-dev am: 725f9cea7f
Change-Id: I2b8d3c4941c79663d5f02e16b244801bbd7d97ea
2020-05-29 23:01:16 +00:00
Zhen Zhang
bd16014d0b Allow low ram device to have multiple users and managed profies
Remove these runtime restrictions of low ram device.
This change wouldn't bring the features onto low ram device, because
manufacturers need to change some configs to enable the features, but
would allow the usage.

Bug: 153016458
Test: build successful; multiple users and managed profiles can be
enabled with config changes

Change-Id: Ibe59219dab7e138d7dae19df77d36477e9e76b8e
2020-05-29 22:29:01 +00:00
Treehugger Robot
df04459b1d Merge "Add ParcelableHolder type" am: 7d2fc62868 am: 841a116b7e
Change-Id: Ibb9629999638c868e453889592b8290673be04c9
2020-05-29 22:08:18 +00:00
Treehugger Robot
841a116b7e Merge "Add ParcelableHolder type" am: 7d2fc62868
Change-Id: If7258d57ff14020c3127aa7eadd892ed51301cd4
2020-05-29 21:42:41 +00:00
felipeal
283e3c388d Fixed how ShellCommand show exceptions.
Prior to this change, it was duplicating the exception. Example:

$ adb shell cmd car_service create-user --flags 4444 --timeout 100 --hal-only Dude

Exception occurred while executing: new user flags mismatch on existing users on {.requestId = 2, .newUserInfo = {.userId = 11, .flags = 0x115c}, .newUserName = Dude, .usersInfo = {.currentUser = {.userId = 11, .flags = NONE}, .numberUsers = 3, .existingUsers = [{.userId = 0, .flags = 0x9}, {.userId = 10, .flags = ADMIN}, {.userId = 11, .flags = NONE}]}}
java.lang.IllegalArgumentException: new user flags mismatch on existing users on {.requestId = 2, .newUserInfo = {.userId = 11, .flags = 0x115c}, .newUserName = Dude, .usersInfo = {.currentUser = {.userId = 11, .flags = NONE}, .numberUsers = 3, .existingUsers = [{.userId = 0, .flags = 0x9}, {.userId = 10, .flags = ADMIN}, {.userId = 11, .flags = NONE}]}}
	at com.android.internal.util.Preconditions.checkArgument(Preconditions.java:69)
	at android.car.userlib.UserHalHelper.toVehiclePropValue(UserHalHelper.java:503)
	at com.android.car.hal.UserHalService.createUser(UserHalService.java:339)

Now it's showing the failed command instead:

Exception occurred while executing 'create-user --flags 4444 --timeout 100 --hal-only Dude':
java.lang.IllegalArgumentException: new user flags mismatch on existing users on {.requestId = 2, .newUserInfo = {.userId = 11, .flags = 0x115c}, .newUserName = Dude, .usersInfo = {.currentUser = {.userId = 11, .flags = NONE}, .numberUsers = 3, .existingUsers = [{.userId = 0, .flags = 0x9}, {.userId = 10, .flags = ADMIN}, {.userId = 11, .flags = NONE}]}}
	at com.android.internal.util.Preconditions.checkArgument(Preconditions.java:69)
	at android.car.userlib.UserHalHelper.toVehiclePropValue(UserHalHelper.java:503)
	at com.android.car.hal.UserHalService.createUser(UserHalService.java:339)

Test: manual verification
Bug: 150408921

Change-Id: I42221fbe2410770b0755c32d16620acc71d8d5d2
2020-05-29 21:21:56 +00:00
Martijn Coenen
6bec07ec39 Use killProcessGroup when killing app zygote.
To make sure we kill all untracked children, too.

Bug: 156741968
Bug: 157598956
Test: manual inspection, PoC no longer works.
Change-Id: I5d8efeb05ddec08a7fc7c00eabca6590c4cfdd8c
2020-05-29 14:49:25 +02:00
Treehugger Robot
7d2fc62868 Merge "Add ParcelableHolder type" 2020-05-29 04:05:46 +00:00
Jeff Sharkey
88818fe7b2 Support getStorageVolume() for synthetic volumes.
The MediaStore.VOLUME_EXTERNAL volume is a synthetic collection of
all currently mounted storage volumes, so if someone wants to find
the underlying StorageVolume for one of these Uris, we need to query
to resolve the real volume name.

Bug: 153664437
Test: atest android.provider.cts.MediaStoreTest
Change-Id: I7b28ba3bfd5b7a4cc577830940de4a2e1cbd1932
2020-05-28 19:18:40 -06:00
Jeff Sharkey
14e961870a Apps shouldn't be disabling StrictMode checks.
Since Android N we've helpfully guided apps towards using content://
Uris when sharing data, but some obstinate apps have tried bypassing
these helpful checks.  Since we're finally changing the storage model
in Android R, we really to communicate strongly that apps must be
using content://, and these methods should not be used.

Bug: 156336269
Test: manual
Change-Id: Id8707ecb51f3a24747b4c84d86c70591fb5f7ffc
2020-05-28 15:34:11 -06:00
Robin Lee
7b772fdcd1 Use device SKU for Build.SKU instead of product/odm SKU
Change-Id: I9c8bebf04cf0fa1a9cfd5211ea53c38bfb0affa7
Test: atest android.os.cts.BuildTest
Bug: 155840001
Bug: 151157621
2020-05-28 07:39:54 +00:00
Songchun Fan
b8e087607b Merge "[incremental] respect extractNativeLibs in native lib config" into rvc-dev am: f2a6af4b8a
Change-Id: Ibc96844cf6737663c48c9133b49bc9c972ed632f
2020-05-28 00:59:35 +00:00
Songchun Fan
f2a6af4b8a Merge "[incremental] respect extractNativeLibs in native lib config" into rvc-dev 2020-05-27 22:17:23 +00:00
Songchun Fan
14f6c3c735 [incremental] respect extractNativeLibs in native lib config
Makes sure the behavior is consistent with legacy installs:

When the flag is on, the native libs will be extracted to subdirs under
lib/.
When the flag is off, the lib/ subdirs will be created but the native
libs are not extracted.
When the flag is off, check if the native libs are uncompressed and well
aligned.

Test: atest android.extractnativelibs.cts.CtsExtractNativeLibsHostTest
BUG: 157173358
Change-Id: Idb57fd7ca1115f787faf5cde3056c32ff3f60890
2020-05-27 22:16:57 +00:00
Adam Bookatz
4440fc60bf Merge "Unify multiuser switcher enabled setting" into rvc-dev am: 203a17d955
Change-Id: If70ef74c9dcaf1071324cf093aeec1db7196786b
2020-05-27 17:32:20 +00:00
Adam Bookatz
203a17d955 Merge "Unify multiuser switcher enabled setting" into rvc-dev 2020-05-27 17:15:33 +00:00
Alex Johnston
5abed10363 Merge "Per-profile user restrictions in org-owned managed profile" into rvc-dev am: 155d909a08
Change-Id: I93687c3754b13bd72a53de49ce058211266bca64
2020-05-27 13:25:39 +00:00
Alex Johnston
155d909a08 Merge "Per-profile user restrictions in org-owned managed profile" into rvc-dev 2020-05-27 13:12:43 +00:00
Alex Buynytskyy
53ea003df2 Merge "Lifecycle: detecting blocked and unhealthy." into rvc-dev am: 4e5ff2eb7d
Change-Id: If0f24b8549fbf78aecf4586551528606064ecfe7
2020-05-27 04:17:10 +00:00
Brad Ebinger
b9677fd658 Merge "Add clearAll method to RegistrantList for easier cleanup" am: e3f505a02d
Change-Id: I0f3d742b83488a649bac48bf52863fb188242cfc
2020-05-26 23:30:16 +00:00
Adam Bookatz
d626fd310c Unify multiuser switcher enabled setting
This does the following:
1. The multiuser switcher (in Settings and SysUI)
is now disabled by default. In order for it to be enabled
one of the following must be true:
  a. the user has explicitly toggled it on in Settings
  b. a new user gets created (via any means)
  c. config_showUserSwitcherByDefault overrides this default

2. Even if a new user is added, if the user had explicitly
*disabled* the switcher, the switcher still won't be enabled.

3. SystemUI and Settings (et al.) all use
UserManager.isUserSwitcherEnabled as the source of
truth in this regard.
No one else reads USER_SWITCHER_ENABLED directly.

4. If the switcher is enabled, then SystemUI will show the
switcher avatar, even if there are no other users on the device,
as long as new users can be created. This way, if the user
has enabled the switcher, the user can use the avatar to add
guest/secondary users (which would not be possible if enabled
status was tied solely to the existence of other users).

Bug: 137943217
Bug: 141372193
Bug: 149973281
Bug: 130270878

Test: manual: Settings > Multiuser doesn't turn on the systemui avatar
Test: manual: Settings > Multiuser is initially disabled
Test: manual: adb shell pm create-user A, does turn on sysui avatar
              even if the user didn't enable, but not if they disabled

Change-Id: Ia440b4db78792da76f94322a563d93db0c68e933
2020-05-26 23:01:55 +00:00
Brad Ebinger
a659f19f39 Add clearAll method to RegistrantList for easier cleanup
Bug: 155320231
Fixes: 155819930
Test: atest FrameworksTelephonyTests
Change-Id: I6f1896ae163e77cff30e89a5b01b41162fc58200
Merged-In: I6f1896ae163e77cff30e89a5b01b41162fc58200
2020-05-26 14:45:13 -07:00
Alex Buynytskyy
8ef61aebee Lifecycle: detecting blocked and unhealthy.
Part 1: interfaces and PM implementation.

Bug: 153874006
Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest
Change-Id: I312dd919d2bb552bea3d72fb49fd1579882da14b
2020-05-26 19:34:39 +00:00
Collin Fijalkovich
d47bed436d Merge "Cache isUserUnlockingOrUnlocked Binder calls" into rvc-dev am: adfe0e9193
Change-Id: Ia4488c0150fc811bbd476d275b6c8f5adec792da
2020-05-26 17:57:15 +00:00
Collin Fijalkovich
adfe0e9193 Merge "Cache isUserUnlockingOrUnlocked Binder calls" into rvc-dev 2020-05-26 17:49:51 +00:00
Alex Johnston
97b68a53fb Per-profile user restrictions in org-owned managed profile
Background
* Some user restrictions should be per-profile
  instead of per-device to allow for more
  granularity.
* For this reason, the profile owner of an
  organization-owned managed profile should
  apply user restrictions the same way as the
  profile owner on the personal user
  (instead of the device owner).

Changes
* Move per-profile user restrictions from
  PROFILE_OWNER_ORGANIZATION_OWNED_GLOBAL_RESTRICTIONS
  to PROFILE_OWNER_ORGANIZATION_OWNED_LOCAL_RESTRICTIONS
  in UserRestrictionsUtils
* Update UserManager javadocs
* Update DevicePolicyManagerTest

Bug: 148453838
Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest
      atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testDevicePolicyManagerParentSupport
      atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testUserRestrictionSetOnParentLogged
      atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testUserRestrictionsSetOnParentAreNotPersisted
      atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testPerProfileUserRestrictionOnParent
      atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testPerDeviceUserRestrictionOnParent
      atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testCameraDisabledOnParentIsEnforced
      atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testCameraDisabledOnParentLogged
Change-Id: I431f7b9bf45a24b77f62899794561d6098f2a54b
2020-05-26 14:32:01 +01:00
Jeongik Cha
a98415b043 Add ParcelableHolder type
To give a way to extend a stable parcelable object, a wraper for a
parcelable is necessary.
The reason why it needs to be wrapped is allowing to trasfer an extended
parcelable even though some of modules using the parcelable don't
know the type of an extension.

Whenever setParcelable() is called, it checks stability level

Bug: 146611855
Test: atest aidl_integration_test aidl_unittests

Change-Id: I6895976658fd7450b2ee47076a03079995777143
2020-05-26 22:05:30 +09:00