Merge "Add UI metrics for granting admin rights from User Switcher"
diff --git a/packages/SystemUI/src/com/android/systemui/user/CreateUserActivity.java b/packages/SystemUI/src/com/android/systemui/user/CreateUserActivity.java
index c570ec8..977cf0e 100644
--- a/packages/SystemUI/src/com/android/systemui/user/CreateUserActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/user/CreateUserActivity.java
@@ -31,10 +31,12 @@
 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 @@
     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 @@
     @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 @@
         );
     }
 
+    /**
+     * 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();
                 },
diff --git a/packages/SystemUI/src/com/android/systemui/user/utils/MultiUserActionsEvent.kt b/packages/SystemUI/src/com/android/systemui/user/utils/MultiUserActionsEvent.kt
index ec79b6d..c1c2419 100644
--- a/packages/SystemUI/src/com/android/systemui/user/utils/MultiUserActionsEvent.kt
+++ b/packages/SystemUI/src/com/android/systemui/user/utils/MultiUserActionsEvent.kt
@@ -29,7 +29,11 @@
     @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
diff --git a/packages/SystemUI/tests/src/com/android/systemui/user/CreateUserActivityTest.kt b/packages/SystemUI/tests/src/com/android/systemui/user/CreateUserActivityTest.kt
index 51afbcb..2b86cfd 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/user/CreateUserActivityTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/user/CreateUserActivityTest.kt
@@ -38,6 +38,7 @@
             },
             /* activityManager = */ mock(),
             /* activityStarter = */ mock(),
+            mock(),
         )
 
     @get:Rule val activityRule = ActivityScenarioRule(CreateUserActivityTestable::class.java)