From 628fc5322f06352c2aa7e0809465fa064b6b59ac Mon Sep 17 00:00:00 2001 From: Aaron Liu Date: Tue, 19 Apr 2022 16:45:35 +0000 Subject: [PATCH] [MultiUser] Ensure sysyuig activities use user 0 Use packagename to determine if intent is in the same package and which user should be used when launching the activity. Bug: 229730387 Test: Manual on device Change-Id: I1f1033dc875899567edd42a6fc67f9e6124fce73 Merged-In: I1f1033dc875899567edd42a6fc67f9e6124fce73 --- packages/SystemUI/res/values/config.xml | 6 ++++++ .../systemui/statusbar/phone/CentralSurfaces.java | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index ae5b8d8ae451a..447bc0e436633 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -725,4 +725,10 @@ @*android:string/status_bar_alarm_clock @*android:string/status_bar_call_strength + + + + com.android.keyguard + com.android.systemui + diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java index 5e81b5da24558..dfde8eaedb745 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java @@ -4509,9 +4509,12 @@ public class CentralSurfaces extends CoreStartable implements * @return UserHandle */ private UserHandle getActivityUserHandle(Intent intent) { - if (intent.getComponent() != null - && mContext.getPackageName().equals(intent.getComponent().getPackageName())) { - return new UserHandle(UserHandle.myUserId()); + String[] packages = mContext.getResources().getStringArray(R.array.system_ui_packages); + for (String pkg : packages) { + if (intent.getComponent() == null) break; + if (pkg.equals(intent.getComponent().getPackageName())) { + return new UserHandle(UserHandle.myUserId()); + } } return UserHandle.CURRENT; }