summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mayank Garg <gargmayank@google.com> 2024-10-22 11:47:30 -0700
committer Android Build Coastguard Worker <android-build-coastguard-worker@google.com> 2024-10-25 23:02:03 +0000
commitdfa33e98eee99228e83f8d855c89da368433fb38 (patch)
tree7e51d48d82b46dd3336c23ebf829107d92f98ff3
parent5af7ec8fbeb52666d70873b62adbddb696716578 (diff)
Always allow System user to change device config in case of Multi-user-multi-display (MUMD)
When visible background user (aka MUMD) is enabled, background users are visible on other displays. In this config, some namespaces (right now game_overlay) are not allowed to be updated by any user other than current user. The CL allows SYSTEM user to change that namespace config. Flag: EXEMPT bug fix Bug: 375232833 Bug: 361502556 Bug: 328686115 Test: atest GameManagerStatsTests Test: atest AndroidCarApiTest:android.car.apitest.DeviceConfigTest Test: atest --user-type secondary_user_on_secondary_display AndroidCarApiTest:android.car.apitest.DeviceConfigTest (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f14825b16b41e97e10deff3c39924a518ecba157) Merged-In: I73cd0fae216ab9aecefc2fdb49a719e919c6437a Change-Id: I73cd0fae216ab9aecefc2fdb49a719e919c6437a
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index 749ad0a993b3..6f8947c9bea1 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -2479,10 +2479,10 @@ public class SettingsProvider extends ContentProvider {
final long identity = Binder.clearCallingIdentity();
try {
int currentUser = ActivityManager.getCurrentUser();
- if (callingUser == currentUser) {
- // enforce the deny list only if the caller is not current user. Currently only auto
- // uses background visible user, and auto doesn't support profiles so profiles of
- // current users is not checked here.
+ if (callingUser == currentUser || callingUser == UserHandle.USER_SYSTEM) {
+ // enforce the deny list only if the caller is not current user or not a system
+ // user. Currently only auto uses background visible user, and auto doesn't
+ // support profiles so profiles of current users is not checked here.
return;
}
} finally {