diff options
| author | 2024-10-22 11:47:30 -0700 | |
|---|---|---|
| committer | 2024-10-25 23:02:03 +0000 | |
| commit | dfa33e98eee99228e83f8d855c89da368433fb38 (patch) | |
| tree | 7e51d48d82b46dd3336c23ebf829107d92f98ff3 | |
| parent | 5af7ec8fbeb52666d70873b62adbddb696716578 (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.java | 8 |
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 { |