Add UI metrics for granting admin rights from User Switcher

Bug: 260697326
Test: manual
Change-Id: I5515264fa2e2b21407194ae7cab3c4691df5fc55
This commit is contained in:
Tetiana Meronyk
2023-01-04 15:46:48 +00:00
parent 3140901fe8
commit b38d493207
3 changed files with 21 additions and 3 deletions

View File

@@ -31,10 +31,12 @@ import android.window.OnBackInvokedDispatcher;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.internal.logging.UiEventLogger;
import com.android.settingslib.users.EditUserInfoController;
import com.android.settingslib.users.GrantAdminDialogController;
import com.android.systemui.R;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.user.utils.MultiUserActionsEvent;
import javax.inject.Inject;
@@ -60,7 +62,7 @@ public class CreateUserActivity extends Activity {
private final EditUserInfoController mEditUserInfoController;
private final IActivityManager mActivityManager;
private final ActivityStarter mActivityStarter;
private final UiEventLogger mUiEventLogger;
private Dialog mGrantAdminDialog;
private Dialog mSetupUserDialog;
private final OnBackInvokedCallback mBackCallback = this::onBackInvoked;
@@ -68,11 +70,12 @@ public class CreateUserActivity extends Activity {
@Inject
public CreateUserActivity(UserCreator userCreator,
EditUserInfoController editUserInfoController, IActivityManager activityManager,
ActivityStarter activityStarter) {
ActivityStarter activityStarter, UiEventLogger uiEventLogger) {
mUserCreator = userCreator;
mEditUserInfoController = editUserInfoController;
mActivityManager = activityManager;
mActivityStarter = activityStarter;
mUiEventLogger = uiEventLogger;
}
@Override
@@ -128,12 +131,22 @@ public class CreateUserActivity extends Activity {
);
}
/**
* 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();
},

View File

@@ -29,7 +29,11 @@ enum class MultiUserActionsEvent(val value: Int) : UiEventLogger.UiEventEnum {
@UiEvent(doc = "Switch to Guest User tap from User Switcher.")
SWITCH_TO_GUEST_FROM_USER_SWITCHER(1267),
@UiEvent(doc = "Switch to Restricted User tap from User Switcher.")
SWITCH_TO_RESTRICTED_USER_FROM_USER_SWITCHER(1268);
SWITCH_TO_RESTRICTED_USER_FROM_USER_SWITCHER(1268),
@UiEvent(doc = "Grant admin privileges to user on creation from User Switcher.")
GRANT_ADMIN_FROM_USER_SWITCHER_CREATION_DIALOG(1278),
@UiEvent(doc = "Not grant admin privileges to user on creation from User Switcher")
NOT_GRANT_ADMIN_FROM_USER_SWITCHER_CREATION_DIALOG(1279);
override fun getId(): Int {
return value

View File

@@ -38,6 +38,7 @@ class CreateUserActivityTest : SysuiTestCase() {
},
/* activityManager = */ mock(),
/* activityStarter = */ mock(),
mock(),
)
@get:Rule val activityRule = ActivityScenarioRule(CreateUserActivityTestable::class.java)