Loading packages/SystemUI/src/com/android/systemui/user/CreateUserActivity.java +16 −59 Original line number Original line Diff line number Diff line Loading @@ -32,11 +32,9 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.Nullable; import com.android.internal.logging.UiEventLogger; import com.android.internal.logging.UiEventLogger; import com.android.settingslib.users.EditUserInfoController; import com.android.settingslib.users.CreateUserDialogController; import com.android.settingslib.users.GrantAdminDialogController; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.user.utils.MultiUserActionsEvent; import javax.inject.Inject; import javax.inject.Inject; Loading @@ -61,20 +59,18 @@ public class CreateUserActivity extends Activity { private static final String EXTRA_IS_KEYGUARD_SHOWING = "extra_is_keyguard_showing"; private static final String EXTRA_IS_KEYGUARD_SHOWING = "extra_is_keyguard_showing"; private final UserCreator mUserCreator; private final UserCreator mUserCreator; private final EditUserInfoController mEditUserInfoController; private CreateUserDialogController mCreateUserDialogController; private final IActivityManager mActivityManager; private final IActivityManager mActivityManager; private final ActivityStarter mActivityStarter; private final ActivityStarter mActivityStarter; private final UiEventLogger mUiEventLogger; private final UiEventLogger mUiEventLogger; private Dialog mGrantAdminDialog; private Dialog mSetupUserDialog; private Dialog mSetupUserDialog; private final OnBackInvokedCallback mBackCallback = this::onBackInvoked; private final OnBackInvokedCallback mBackCallback = this::onBackInvoked; private boolean mGrantAdminRights; @Inject @Inject public CreateUserActivity(UserCreator userCreator, public CreateUserActivity(UserCreator userCreator, EditUserInfoController editUserInfoController, IActivityManager activityManager, CreateUserDialogController createUserDialogController, IActivityManager activityManager, ActivityStarter activityStarter, UiEventLogger uiEventLogger) { ActivityStarter activityStarter, UiEventLogger uiEventLogger) { mUserCreator = userCreator; mUserCreator = userCreator; mEditUserInfoController = editUserInfoController; mCreateUserDialogController = createUserDialogController; mActivityManager = activityManager; mActivityManager = activityManager; mActivityStarter = activityStarter; mActivityStarter = activityStarter; mUiEventLogger = uiEventLogger; mUiEventLogger = uiEventLogger; Loading @@ -86,19 +82,10 @@ public class CreateUserActivity extends Activity { setShowWhenLocked(true); setShowWhenLocked(true); setContentView(R.layout.activity_create_new_user); setContentView(R.layout.activity_create_new_user); if (savedInstanceState != null) { if (savedInstanceState != null) { mEditUserInfoController.onRestoreInstanceState(savedInstanceState); mCreateUserDialogController.onRestoreInstanceState(savedInstanceState); } } boolean isKeyguardShowing = getIntent().getBooleanExtra(EXTRA_IS_KEYGUARD_SHOWING, true); // Display grant admin dialog only on unlocked device to admin users if multiple admins // are allowed on this device. if (mUserCreator.isMultipleAdminEnabled() && mUserCreator.isUserAdmin() && !isKeyguardShowing) { mGrantAdminDialog = buildGrantAdminDialog(); mGrantAdminDialog.show(); } else { mSetupUserDialog = createDialog(); mSetupUserDialog = createDialog(); mSetupUserDialog.show(); mSetupUserDialog.show(); } getOnBackInvokedDispatcher().registerOnBackInvokedCallback( getOnBackInvokedDispatcher().registerOnBackInvokedCallback( OnBackInvokedDispatcher.PRIORITY_DEFAULT, OnBackInvokedDispatcher.PRIORITY_DEFAULT, mBackCallback); mBackCallback); Loading @@ -110,7 +97,7 @@ public class CreateUserActivity extends Activity { outState.putBundle(DIALOG_STATE_KEY, mSetupUserDialog.onSaveInstanceState()); outState.putBundle(DIALOG_STATE_KEY, mSetupUserDialog.onSaveInstanceState()); } } mEditUserInfoController.onSaveInstanceState(outState); mCreateUserDialogController.onSaveInstanceState(outState); super.onSaveInstanceState(outState); super.onSaveInstanceState(outState); } } Loading @@ -125,48 +112,21 @@ public class CreateUserActivity extends Activity { private Dialog createDialog() { private Dialog createDialog() { String defaultUserName = getString(com.android.settingslib.R.string.user_new_user_name); String defaultUserName = getString(com.android.settingslib.R.string.user_new_user_name); boolean isKeyguardShowing = getIntent().getBooleanExtra(EXTRA_IS_KEYGUARD_SHOWING, true); return mEditUserInfoController.createDialog( return mCreateUserDialogController.createDialog( this, this, this::startActivity, this::startActivity, null, (mUserCreator.isMultipleAdminEnabled() && mUserCreator.isUserAdmin() defaultUserName, && !isKeyguardShowing), getString(com.android.settingslib.R.string.user_add_user), this::addUserNow, this::addUserNow, this::finish this::finish ); ); } } /** * Returns dialog that allows to grant user admin rights. */ private Dialog buildGrantAdminDialog() { return new GrantAdminDialogController().createDialog( this, (grantAdminRights) -> { mGrantAdminDialog.dismiss(); mGrantAdminRights = grantAdminRights; if (mGrantAdminRights) { mUiEventLogger.log(MultiUserActionsEvent .GRANT_ADMIN_FROM_USER_SWITCHER_CREATION_DIALOG); } else { mUiEventLogger.log(MultiUserActionsEvent .NOT_GRANT_ADMIN_FROM_USER_SWITCHER_CREATION_DIALOG); } mSetupUserDialog = createDialog(); mSetupUserDialog.show(); }, () -> { mGrantAdminRights = false; finish(); } ); } @Override @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data); mEditUserInfoController.onActivityResult(requestCode, resultCode, data); mCreateUserDialogController.onActivityResult(requestCode, resultCode, data); } } @Override @Override Loading @@ -178,9 +138,6 @@ public class CreateUserActivity extends Activity { if (mSetupUserDialog != null) { if (mSetupUserDialog != null) { mSetupUserDialog.dismiss(); mSetupUserDialog.dismiss(); } } if (mGrantAdminDialog != null) { mGrantAdminDialog.dismiss(); } finish(); finish(); } } Loading @@ -190,7 +147,7 @@ public class CreateUserActivity extends Activity { super.onDestroy(); super.onDestroy(); } } private void addUserNow(String userName, Drawable userIcon) { private void addUserNow(String userName, Drawable userIcon, Boolean isAdmin) { mSetupUserDialog.dismiss(); mSetupUserDialog.dismiss(); userName = (userName == null || userName.trim().isEmpty()) userName = (userName == null || userName.trim().isEmpty()) ? getString(com.android.settingslib.R.string.user_new_user_name) ? getString(com.android.settingslib.R.string.user_new_user_name) Loading @@ -198,7 +155,7 @@ public class CreateUserActivity extends Activity { mUserCreator.createUser(userName, userIcon, mUserCreator.createUser(userName, userIcon, userInfo -> { userInfo -> { if (mGrantAdminRights) { if (isAdmin) { mUserCreator.setUserAdmin(userInfo.id); mUserCreator.setUserAdmin(userInfo.id); } } switchToUser(userInfo.id); switchToUser(userInfo.id); Loading Loading @@ -230,7 +187,7 @@ public class CreateUserActivity extends Activity { */ */ private void startActivity(Intent intent, int requestCode) { private void startActivity(Intent intent, int requestCode) { mActivityStarter.dismissKeyguardThenExecute(() -> { mActivityStarter.dismissKeyguardThenExecute(() -> { mEditUserInfoController.startingActivityForResult(); mCreateUserDialogController.startingActivityForResult(); startActivityForResult(intent, requestCode); startActivityForResult(intent, requestCode); return true; return true; }, /* cancel= */ null, /* afterKeyguardGone= */ true); }, /* cancel= */ null, /* afterKeyguardGone= */ true); Loading packages/SystemUI/src/com/android/systemui/user/domain/interactor/UserInteractor.kt +11 −7 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,7 @@ import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor import com.android.systemui.plugins.ActivityStarter import com.android.systemui.plugins.ActivityStarter import com.android.systemui.qs.user.UserSwitchDialogController import com.android.systemui.qs.user.UserSwitchDialogController import com.android.systemui.telephony.domain.interactor.TelephonyInteractor import com.android.systemui.telephony.domain.interactor.TelephonyInteractor import com.android.systemui.user.CreateUserActivity import com.android.systemui.user.data.model.UserSwitcherSettingsModel import com.android.systemui.user.data.model.UserSwitcherSettingsModel import com.android.systemui.user.data.repository.UserRepository import com.android.systemui.user.data.repository.UserRepository import com.android.systemui.user.data.source.UserRecord import com.android.systemui.user.data.source.UserRecord Loading Loading @@ -454,13 +455,16 @@ constructor( UserActionModel.ADD_USER -> { UserActionModel.ADD_USER -> { uiEventLogger.log(MultiUserActionsEvent.CREATE_USER_FROM_USER_SWITCHER) uiEventLogger.log(MultiUserActionsEvent.CREATE_USER_FROM_USER_SWITCHER) val currentUser = repository.getSelectedUserInfo() val currentUser = repository.getSelectedUserInfo() showDialog( dismissDialog() ShowDialogRequestModel.ShowAddUserDialog( activityStarter.startActivity( userHandle = currentUser.userHandle, CreateUserActivity.createIntentForStart( isKeyguardShowing = keyguardInteractor.isKeyguardShowing(), applicationContext, showEphemeralMessage = currentUser.isGuest && currentUser.isEphemeral, keyguardInteractor.isKeyguardShowing() dialogShower = dialogShower, ), ) /* dismissShade= */ true, /* animationController */ null, /* showOverLockscreenWhenLocked */ true, /* userHandle */ currentUser.getUserHandle(), ) ) } } UserActionModel.ADD_SUPERVISED_USER -> { UserActionModel.ADD_SUPERVISED_USER -> { Loading packages/SystemUI/tests/src/com/android/systemui/user/CreateUserActivityTest.kt +2 −3 Original line number Original line Diff line number Diff line Loading @@ -6,6 +6,7 @@ import android.testing.TestableLooper import androidx.test.ext.junit.rules.ActivityScenarioRule import androidx.test.ext.junit.rules.ActivityScenarioRule import androidx.test.filters.SmallTest import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.SysuiTestCase import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.nullable import com.android.systemui.util.mockito.nullable import com.android.systemui.util.mockito.whenever import com.android.systemui.util.mockito.whenever Loading @@ -27,9 +28,7 @@ class CreateUserActivityTest : SysuiTestCase() { createDialog( createDialog( /* activity = */ nullable(), /* activity = */ nullable(), /* activityStarter = */ nullable(), /* activityStarter = */ nullable(), /* oldUserIcon = */ nullable(), /* isMultipleAdminsEnabled = */ any(), /* defaultUserName = */ nullable(), /* title = */ nullable(), /* successCallback = */ nullable(), /* successCallback = */ nullable(), /* cancelCallback = */ nullable() /* cancelCallback = */ nullable() ) ) Loading packages/SystemUI/tests/src/com/android/systemui/user/domain/interactor/UserInteractorTest.kt +3 −16 Original line number Original line Diff line number Diff line Loading @@ -482,30 +482,17 @@ class UserInteractorTest : SysuiTestCase() { } } @Test @Test fun executeAction_addUser_dialogShown() = fun executeAction_addUser_dismissesDialogAndStartsActivity() = testScope.runTest { testScope.runTest { val userInfos = createUserInfos(count = 2, includeGuest = false) val userInfos = createUserInfos(count = 2, includeGuest = false) userRepository.setUserInfos(userInfos) userRepository.setUserInfos(userInfos) userRepository.setSelectedUserInfo(userInfos[0]) userRepository.setSelectedUserInfo(userInfos[0]) keyguardRepository.setKeyguardShowing(false) keyguardRepository.setKeyguardShowing(false) val dialogRequest = collectLastValue(underTest.dialogShowRequests) val dialogShower: UserSwitchDialogController.DialogShower = mock() underTest.executeAction(UserActionModel.ADD_USER, dialogShower) underTest.executeAction(UserActionModel.ADD_USER) verify(uiEventLogger, times(1)) verify(uiEventLogger, times(1)) .log(MultiUserActionsEvent.CREATE_USER_FROM_USER_SWITCHER) .log(MultiUserActionsEvent.CREATE_USER_FROM_USER_SWITCHER) assertThat(dialogRequest()) .isEqualTo( ShowDialogRequestModel.ShowAddUserDialog( userHandle = userInfos[0].userHandle, isKeyguardShowing = false, showEphemeralMessage = false, dialogShower = dialogShower, ) ) underTest.onDialogShown() underTest.onDialogShown() assertThat(dialogRequest()).isNull() } } @Test @Test Loading Loading
packages/SystemUI/src/com/android/systemui/user/CreateUserActivity.java +16 −59 Original line number Original line Diff line number Diff line Loading @@ -32,11 +32,9 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.Nullable; import com.android.internal.logging.UiEventLogger; import com.android.internal.logging.UiEventLogger; import com.android.settingslib.users.EditUserInfoController; import com.android.settingslib.users.CreateUserDialogController; import com.android.settingslib.users.GrantAdminDialogController; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.user.utils.MultiUserActionsEvent; import javax.inject.Inject; import javax.inject.Inject; Loading @@ -61,20 +59,18 @@ public class CreateUserActivity extends Activity { private static final String EXTRA_IS_KEYGUARD_SHOWING = "extra_is_keyguard_showing"; private static final String EXTRA_IS_KEYGUARD_SHOWING = "extra_is_keyguard_showing"; private final UserCreator mUserCreator; private final UserCreator mUserCreator; private final EditUserInfoController mEditUserInfoController; private CreateUserDialogController mCreateUserDialogController; private final IActivityManager mActivityManager; private final IActivityManager mActivityManager; private final ActivityStarter mActivityStarter; private final ActivityStarter mActivityStarter; private final UiEventLogger mUiEventLogger; private final UiEventLogger mUiEventLogger; private Dialog mGrantAdminDialog; private Dialog mSetupUserDialog; private Dialog mSetupUserDialog; private final OnBackInvokedCallback mBackCallback = this::onBackInvoked; private final OnBackInvokedCallback mBackCallback = this::onBackInvoked; private boolean mGrantAdminRights; @Inject @Inject public CreateUserActivity(UserCreator userCreator, public CreateUserActivity(UserCreator userCreator, EditUserInfoController editUserInfoController, IActivityManager activityManager, CreateUserDialogController createUserDialogController, IActivityManager activityManager, ActivityStarter activityStarter, UiEventLogger uiEventLogger) { ActivityStarter activityStarter, UiEventLogger uiEventLogger) { mUserCreator = userCreator; mUserCreator = userCreator; mEditUserInfoController = editUserInfoController; mCreateUserDialogController = createUserDialogController; mActivityManager = activityManager; mActivityManager = activityManager; mActivityStarter = activityStarter; mActivityStarter = activityStarter; mUiEventLogger = uiEventLogger; mUiEventLogger = uiEventLogger; Loading @@ -86,19 +82,10 @@ public class CreateUserActivity extends Activity { setShowWhenLocked(true); setShowWhenLocked(true); setContentView(R.layout.activity_create_new_user); setContentView(R.layout.activity_create_new_user); if (savedInstanceState != null) { if (savedInstanceState != null) { mEditUserInfoController.onRestoreInstanceState(savedInstanceState); mCreateUserDialogController.onRestoreInstanceState(savedInstanceState); } } boolean isKeyguardShowing = getIntent().getBooleanExtra(EXTRA_IS_KEYGUARD_SHOWING, true); // Display grant admin dialog only on unlocked device to admin users if multiple admins // are allowed on this device. if (mUserCreator.isMultipleAdminEnabled() && mUserCreator.isUserAdmin() && !isKeyguardShowing) { mGrantAdminDialog = buildGrantAdminDialog(); mGrantAdminDialog.show(); } else { mSetupUserDialog = createDialog(); mSetupUserDialog = createDialog(); mSetupUserDialog.show(); mSetupUserDialog.show(); } getOnBackInvokedDispatcher().registerOnBackInvokedCallback( getOnBackInvokedDispatcher().registerOnBackInvokedCallback( OnBackInvokedDispatcher.PRIORITY_DEFAULT, OnBackInvokedDispatcher.PRIORITY_DEFAULT, mBackCallback); mBackCallback); Loading @@ -110,7 +97,7 @@ public class CreateUserActivity extends Activity { outState.putBundle(DIALOG_STATE_KEY, mSetupUserDialog.onSaveInstanceState()); outState.putBundle(DIALOG_STATE_KEY, mSetupUserDialog.onSaveInstanceState()); } } mEditUserInfoController.onSaveInstanceState(outState); mCreateUserDialogController.onSaveInstanceState(outState); super.onSaveInstanceState(outState); super.onSaveInstanceState(outState); } } Loading @@ -125,48 +112,21 @@ public class CreateUserActivity extends Activity { private Dialog createDialog() { private Dialog createDialog() { String defaultUserName = getString(com.android.settingslib.R.string.user_new_user_name); String defaultUserName = getString(com.android.settingslib.R.string.user_new_user_name); boolean isKeyguardShowing = getIntent().getBooleanExtra(EXTRA_IS_KEYGUARD_SHOWING, true); return mEditUserInfoController.createDialog( return mCreateUserDialogController.createDialog( this, this, this::startActivity, this::startActivity, null, (mUserCreator.isMultipleAdminEnabled() && mUserCreator.isUserAdmin() defaultUserName, && !isKeyguardShowing), getString(com.android.settingslib.R.string.user_add_user), this::addUserNow, this::addUserNow, this::finish this::finish ); ); } } /** * Returns dialog that allows to grant user admin rights. */ private Dialog buildGrantAdminDialog() { return new GrantAdminDialogController().createDialog( this, (grantAdminRights) -> { mGrantAdminDialog.dismiss(); mGrantAdminRights = grantAdminRights; if (mGrantAdminRights) { mUiEventLogger.log(MultiUserActionsEvent .GRANT_ADMIN_FROM_USER_SWITCHER_CREATION_DIALOG); } else { mUiEventLogger.log(MultiUserActionsEvent .NOT_GRANT_ADMIN_FROM_USER_SWITCHER_CREATION_DIALOG); } mSetupUserDialog = createDialog(); mSetupUserDialog.show(); }, () -> { mGrantAdminRights = false; finish(); } ); } @Override @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data); mEditUserInfoController.onActivityResult(requestCode, resultCode, data); mCreateUserDialogController.onActivityResult(requestCode, resultCode, data); } } @Override @Override Loading @@ -178,9 +138,6 @@ public class CreateUserActivity extends Activity { if (mSetupUserDialog != null) { if (mSetupUserDialog != null) { mSetupUserDialog.dismiss(); mSetupUserDialog.dismiss(); } } if (mGrantAdminDialog != null) { mGrantAdminDialog.dismiss(); } finish(); finish(); } } Loading @@ -190,7 +147,7 @@ public class CreateUserActivity extends Activity { super.onDestroy(); super.onDestroy(); } } private void addUserNow(String userName, Drawable userIcon) { private void addUserNow(String userName, Drawable userIcon, Boolean isAdmin) { mSetupUserDialog.dismiss(); mSetupUserDialog.dismiss(); userName = (userName == null || userName.trim().isEmpty()) userName = (userName == null || userName.trim().isEmpty()) ? getString(com.android.settingslib.R.string.user_new_user_name) ? getString(com.android.settingslib.R.string.user_new_user_name) Loading @@ -198,7 +155,7 @@ public class CreateUserActivity extends Activity { mUserCreator.createUser(userName, userIcon, mUserCreator.createUser(userName, userIcon, userInfo -> { userInfo -> { if (mGrantAdminRights) { if (isAdmin) { mUserCreator.setUserAdmin(userInfo.id); mUserCreator.setUserAdmin(userInfo.id); } } switchToUser(userInfo.id); switchToUser(userInfo.id); Loading Loading @@ -230,7 +187,7 @@ public class CreateUserActivity extends Activity { */ */ private void startActivity(Intent intent, int requestCode) { private void startActivity(Intent intent, int requestCode) { mActivityStarter.dismissKeyguardThenExecute(() -> { mActivityStarter.dismissKeyguardThenExecute(() -> { mEditUserInfoController.startingActivityForResult(); mCreateUserDialogController.startingActivityForResult(); startActivityForResult(intent, requestCode); startActivityForResult(intent, requestCode); return true; return true; }, /* cancel= */ null, /* afterKeyguardGone= */ true); }, /* cancel= */ null, /* afterKeyguardGone= */ true); Loading
packages/SystemUI/src/com/android/systemui/user/domain/interactor/UserInteractor.kt +11 −7 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,7 @@ import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor import com.android.systemui.plugins.ActivityStarter import com.android.systemui.plugins.ActivityStarter import com.android.systemui.qs.user.UserSwitchDialogController import com.android.systemui.qs.user.UserSwitchDialogController import com.android.systemui.telephony.domain.interactor.TelephonyInteractor import com.android.systemui.telephony.domain.interactor.TelephonyInteractor import com.android.systemui.user.CreateUserActivity import com.android.systemui.user.data.model.UserSwitcherSettingsModel import com.android.systemui.user.data.model.UserSwitcherSettingsModel import com.android.systemui.user.data.repository.UserRepository import com.android.systemui.user.data.repository.UserRepository import com.android.systemui.user.data.source.UserRecord import com.android.systemui.user.data.source.UserRecord Loading Loading @@ -454,13 +455,16 @@ constructor( UserActionModel.ADD_USER -> { UserActionModel.ADD_USER -> { uiEventLogger.log(MultiUserActionsEvent.CREATE_USER_FROM_USER_SWITCHER) uiEventLogger.log(MultiUserActionsEvent.CREATE_USER_FROM_USER_SWITCHER) val currentUser = repository.getSelectedUserInfo() val currentUser = repository.getSelectedUserInfo() showDialog( dismissDialog() ShowDialogRequestModel.ShowAddUserDialog( activityStarter.startActivity( userHandle = currentUser.userHandle, CreateUserActivity.createIntentForStart( isKeyguardShowing = keyguardInteractor.isKeyguardShowing(), applicationContext, showEphemeralMessage = currentUser.isGuest && currentUser.isEphemeral, keyguardInteractor.isKeyguardShowing() dialogShower = dialogShower, ), ) /* dismissShade= */ true, /* animationController */ null, /* showOverLockscreenWhenLocked */ true, /* userHandle */ currentUser.getUserHandle(), ) ) } } UserActionModel.ADD_SUPERVISED_USER -> { UserActionModel.ADD_SUPERVISED_USER -> { Loading
packages/SystemUI/tests/src/com/android/systemui/user/CreateUserActivityTest.kt +2 −3 Original line number Original line Diff line number Diff line Loading @@ -6,6 +6,7 @@ import android.testing.TestableLooper import androidx.test.ext.junit.rules.ActivityScenarioRule import androidx.test.ext.junit.rules.ActivityScenarioRule import androidx.test.filters.SmallTest import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.SysuiTestCase import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.nullable import com.android.systemui.util.mockito.nullable import com.android.systemui.util.mockito.whenever import com.android.systemui.util.mockito.whenever Loading @@ -27,9 +28,7 @@ class CreateUserActivityTest : SysuiTestCase() { createDialog( createDialog( /* activity = */ nullable(), /* activity = */ nullable(), /* activityStarter = */ nullable(), /* activityStarter = */ nullable(), /* oldUserIcon = */ nullable(), /* isMultipleAdminsEnabled = */ any(), /* defaultUserName = */ nullable(), /* title = */ nullable(), /* successCallback = */ nullable(), /* successCallback = */ nullable(), /* cancelCallback = */ nullable() /* cancelCallback = */ nullable() ) ) Loading
packages/SystemUI/tests/src/com/android/systemui/user/domain/interactor/UserInteractorTest.kt +3 −16 Original line number Original line Diff line number Diff line Loading @@ -482,30 +482,17 @@ class UserInteractorTest : SysuiTestCase() { } } @Test @Test fun executeAction_addUser_dialogShown() = fun executeAction_addUser_dismissesDialogAndStartsActivity() = testScope.runTest { testScope.runTest { val userInfos = createUserInfos(count = 2, includeGuest = false) val userInfos = createUserInfos(count = 2, includeGuest = false) userRepository.setUserInfos(userInfos) userRepository.setUserInfos(userInfos) userRepository.setSelectedUserInfo(userInfos[0]) userRepository.setSelectedUserInfo(userInfos[0]) keyguardRepository.setKeyguardShowing(false) keyguardRepository.setKeyguardShowing(false) val dialogRequest = collectLastValue(underTest.dialogShowRequests) val dialogShower: UserSwitchDialogController.DialogShower = mock() underTest.executeAction(UserActionModel.ADD_USER, dialogShower) underTest.executeAction(UserActionModel.ADD_USER) verify(uiEventLogger, times(1)) verify(uiEventLogger, times(1)) .log(MultiUserActionsEvent.CREATE_USER_FROM_USER_SWITCHER) .log(MultiUserActionsEvent.CREATE_USER_FROM_USER_SWITCHER) assertThat(dialogRequest()) .isEqualTo( ShowDialogRequestModel.ShowAddUserDialog( userHandle = userInfos[0].userHandle, isKeyguardShowing = false, showEphemeralMessage = false, dialogShower = dialogShower, ) ) underTest.onDialogShown() underTest.onDialogShown() assertThat(dialogRequest()).isNull() } } @Test @Test Loading