Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b38d4932 authored by Tetiana Meronyk's avatar Tetiana Meronyk
Browse files

Add UI metrics for granting admin rights from User Switcher

Bug: 260697326
Test: manual
Change-Id: I5515264fa2e2b21407194ae7cab3c4691df5fc55
parent 3140901f
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -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();
                },
+5 −1
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ class CreateUserActivityTest : SysuiTestCase() {
            },
            /* activityManager = */ mock(),
            /* activityStarter = */ mock(),
            mock(),
        )

    @get:Rule val activityRule = ActivityScenarioRule(CreateUserActivityTestable::class.java)