Merge "User switcher - Create user dialog fixes" into tm-dev am: 9667c0817d

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16985647

Change-Id: I4c16d1a1b8e6bcda979ba718f79f9148b41f7e11
This commit is contained in:
Matt Pietal
2022-02-24 17:53:54 +00:00
committed by Automerger Merge Worker
2 changed files with 6 additions and 11 deletions

View File

@@ -76,14 +76,11 @@ import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.qs.QSUserSwitcherEvent; import com.android.systemui.qs.QSUserSwitcherEvent;
import com.android.systemui.qs.user.UserSwitchDialogController.DialogShower; import com.android.systemui.qs.user.UserSwitchDialogController.DialogShower;
import com.android.systemui.settings.UserTracker; import com.android.systemui.settings.UserTracker;
import com.android.systemui.statusbar.phone.ShadeController;
import com.android.systemui.statusbar.phone.SystemUIDialog; import com.android.systemui.statusbar.phone.SystemUIDialog;
import com.android.systemui.telephony.TelephonyListenerManager; import com.android.systemui.telephony.TelephonyListenerManager;
import com.android.systemui.user.CreateUserActivity; import com.android.systemui.user.CreateUserActivity;
import com.android.systemui.util.settings.SecureSettings; import com.android.systemui.util.settings.SecureSettings;
import dagger.Lazy;
import java.io.FileDescriptor; import java.io.FileDescriptor;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
@@ -129,7 +126,6 @@ public class UserSwitcherController implements Dumpable {
private final InteractionJankMonitor mInteractionJankMonitor; private final InteractionJankMonitor mInteractionJankMonitor;
private final LatencyTracker mLatencyTracker; private final LatencyTracker mLatencyTracker;
private final DialogLaunchAnimator mDialogLaunchAnimator; private final DialogLaunchAnimator mDialogLaunchAnimator;
private final Lazy<ShadeController> mShadeController;
private ArrayList<UserRecord> mUsers = new ArrayList<>(); private ArrayList<UserRecord> mUsers = new ArrayList<>();
@VisibleForTesting @VisibleForTesting
@@ -178,7 +174,6 @@ public class UserSwitcherController implements Dumpable {
InteractionJankMonitor interactionJankMonitor, InteractionJankMonitor interactionJankMonitor,
LatencyTracker latencyTracker, LatencyTracker latencyTracker,
DumpManager dumpManager, DumpManager dumpManager,
Lazy<ShadeController> shadeController,
DialogLaunchAnimator dialogLaunchAnimator) { DialogLaunchAnimator dialogLaunchAnimator) {
mContext = context; mContext = context;
mActivityManager = activityManager; mActivityManager = activityManager;
@@ -207,7 +202,6 @@ public class UserSwitcherController implements Dumpable {
mActivityStarter = activityStarter; mActivityStarter = activityStarter;
mUserManager = userManager; mUserManager = userManager;
mDialogLaunchAnimator = dialogLaunchAnimator; mDialogLaunchAnimator = dialogLaunchAnimator;
mShadeController = shadeController;
IntentFilter filter = new IntentFilter(); IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_USER_ADDED); filter.addAction(Intent.ACTION_USER_ADDED);
@@ -1206,8 +1200,12 @@ public class UserSwitcherController implements Dumpable {
if (ActivityManager.isUserAMonkey()) { if (ActivityManager.isUserAMonkey()) {
return; return;
} }
mShadeController.get().collapsePanel(); // Use broadcast instead of ShadeController, as this dialog may have started in
getContext().startActivity(CreateUserActivity.createIntentForStart(getContext())); // another process and normal dagger bindings are not available
getContext().sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
getContext().startActivityAsUser(
CreateUserActivity.createIntentForStart(getContext()),
mUserTracker.getUserHandle());
} }
} }
} }

View File

@@ -48,7 +48,6 @@ import com.android.systemui.qs.QSUserSwitcherEvent
import com.android.systemui.qs.user.UserSwitchDialogController import com.android.systemui.qs.user.UserSwitchDialogController
import com.android.systemui.settings.UserTracker import com.android.systemui.settings.UserTracker
import com.android.systemui.statusbar.phone.NotificationShadeWindowView import com.android.systemui.statusbar.phone.NotificationShadeWindowView
import com.android.systemui.statusbar.phone.ShadeController
import com.android.systemui.telephony.TelephonyListenerManager import com.android.systemui.telephony.TelephonyListenerManager
import com.android.systemui.util.concurrency.FakeExecutor import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.settings.SecureSettings import com.android.systemui.util.settings.SecureSettings
@@ -95,7 +94,6 @@ class UserSwitcherControllerTest : SysuiTestCase() {
@Mock private lateinit var notificationShadeWindowView: NotificationShadeWindowView @Mock private lateinit var notificationShadeWindowView: NotificationShadeWindowView
@Mock private lateinit var threadedRenderer: ThreadedRenderer @Mock private lateinit var threadedRenderer: ThreadedRenderer
@Mock private lateinit var dialogLaunchAnimator: DialogLaunchAnimator @Mock private lateinit var dialogLaunchAnimator: DialogLaunchAnimator
@Mock private lateinit var shadeController: ShadeController
private lateinit var testableLooper: TestableLooper private lateinit var testableLooper: TestableLooper
private lateinit var bgExecutor: FakeExecutor private lateinit var bgExecutor: FakeExecutor
private lateinit var uiExecutor: FakeExecutor private lateinit var uiExecutor: FakeExecutor
@@ -171,7 +169,6 @@ class UserSwitcherControllerTest : SysuiTestCase() {
interactionJankMonitor, interactionJankMonitor,
latencyTracker, latencyTracker,
dumpManager, dumpManager,
{ shadeController },
dialogLaunchAnimator) dialogLaunchAnimator)
userSwitcherController.init(notificationShadeWindowView) userSwitcherController.init(notificationShadeWindowView)
} }