Remove isCurrentProcessAdminUser()

Removed CarUserManagerHelper.isCurrentProcessAdminUser() and replaced
it with UserManager.isAdminUser().

Some classes were also updated to use UserHandle.myUserId() instead
of CarUserManagerHelper.getCurrentProcessUserInfo().  This was done
mostly so that we can remove some CarUserManagerHelper dependencies
and make the tests easier to understand.

Bug: 137136907
Test: atest CarSettingsRoboTests
Test: atest CarUserManagerHelperTest

Change-Id: Icb763b2d08d657c7b6af8adb29f4a2e1ca1d1e56
diff --git a/src/com/android/car/settings/development/DevelopmentSettingsUtil.java b/src/com/android/car/settings/development/DevelopmentSettingsUtil.java
index 64720b5..496de5b 100644
--- a/src/com/android/car/settings/development/DevelopmentSettingsUtil.java
+++ b/src/com/android/car/settings/development/DevelopmentSettingsUtil.java
@@ -17,7 +17,6 @@
 package com.android.car.settings.development;
 
 import android.app.ActivityManager;
-import android.car.userlib.CarUserManagerHelper;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.pm.PackageManager;
@@ -58,15 +57,13 @@
      * Checks that the development settings should be enabled. Returns true if global toggle is set,
      * debugging is allowed for user, and the user is an admin or a demo user.
      */
-    public static boolean isDevelopmentSettingsEnabled(Context context,
-            CarUserManagerHelper carUserManagerHelper, UserManager userManager) {
+    public static boolean isDevelopmentSettingsEnabled(Context context, UserManager userManager) {
         boolean settingEnabled = Settings.Global.getInt(context.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, Build.IS_ENG ? 1 : 0) != 0;
         boolean hasRestriction = userManager.hasUserRestriction(
                 UserManager.DISALLOW_DEBUGGING_FEATURES,
-                carUserManagerHelper.getCurrentProcessUserInfo().getUserHandle());
-        boolean isAdminOrDemo = carUserManagerHelper.isCurrentProcessAdminUser()
-                || userManager.isDemoUser();
+                UserHandle.of(UserHandle.myUserId()));
+        boolean isAdminOrDemo = userManager.isAdminUser() || userManager.isDemoUser();
         return isAdminOrDemo && !hasRestriction && settingEnabled;
     }
 
@@ -77,12 +74,10 @@
     }
 
     private static boolean showDeveloperOptions(Context context) {
-        CarUserManagerHelper carUserManagerHelper = new CarUserManagerHelper(context);
         UserManager userManager = UserManager.get(context);
         boolean showDev = DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context)
                 && !isMonkeyRunning();
-        boolean isAdminOrDemo = carUserManagerHelper.isCurrentProcessAdminUser()
-                || userManager.isDemoUser();
+        boolean isAdminOrDemo = userManager.isAdminUser() || userManager.isDemoUser();
         if (UserHandle.MU_ENABLED && !isAdminOrDemo) {
             showDev = false;
         }
diff --git a/src/com/android/car/settings/system/BuildNumberPreferenceController.java b/src/com/android/car/settings/system/BuildNumberPreferenceController.java
index f12e1fa..bc89d43 100644
--- a/src/com/android/car/settings/system/BuildNumberPreferenceController.java
+++ b/src/com/android/car/settings/system/BuildNumberPreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.car.settings.system;
 
 import android.car.drivingstate.CarUxRestrictions;
-import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
 import android.os.Build;
 import android.os.UserManager;
@@ -33,7 +32,6 @@
 /** Updates the build number entry summary with the build number. */
 public class BuildNumberPreferenceController extends PreferenceController<Preference> {
 
-    private final CarUserManagerHelper mCarUserManagerHelper;
     private UserManager mUserManager;
     private Toast mDevHitToast;
     private int mDevHitCountdown;
@@ -41,7 +39,6 @@
     public BuildNumberPreferenceController(Context context, String preferenceKey,
             FragmentController fragmentController, CarUxRestrictions uxRestrictions) {
         super(context, preferenceKey, fragmentController, uxRestrictions);
-        mCarUserManagerHelper = new CarUserManagerHelper(context);
         mUserManager = UserManager.get(context);
     }
 
@@ -57,8 +54,9 @@
     @Override
     protected void onResumeInternal() {
         mDevHitToast = null;
-        mDevHitCountdown = DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(getContext(),
-                mCarUserManagerHelper, mUserManager) ? -1 : getTapsToBecomeDeveloper();
+        mDevHitCountdown =
+                DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(getContext(), mUserManager)
+                        ? -1 : getTapsToBecomeDeveloper();
     }
 
     @Override
@@ -68,7 +66,7 @@
 
     @Override
     protected boolean handlePreferenceClicked(Preference preference) {
-        if (!mCarUserManagerHelper.isCurrentProcessAdminUser() && !mUserManager.isDemoUser()) {
+        if (!mUserManager.isAdminUser() && !mUserManager.isDemoUser()) {
             return false;
         }
 
diff --git a/src/com/android/car/settings/system/DeveloperOptionsEntryPreferenceController.java b/src/com/android/car/settings/system/DeveloperOptionsEntryPreferenceController.java
index cb1e497..92c32b1 100644
--- a/src/com/android/car/settings/system/DeveloperOptionsEntryPreferenceController.java
+++ b/src/com/android/car/settings/system/DeveloperOptionsEntryPreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.car.settings.system;
 
 import android.car.drivingstate.CarUxRestrictions;
-import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
 import android.os.UserManager;
 
@@ -30,13 +29,11 @@
 /** Controls the visibility of the developer options setting. */
 public class DeveloperOptionsEntryPreferenceController extends PreferenceController<Preference> {
 
-    private CarUserManagerHelper mCarUserManagerHelper;
     private UserManager mUserManager;
 
     public DeveloperOptionsEntryPreferenceController(Context context, String preferenceKey,
             FragmentController fragmentController, CarUxRestrictions uxRestrictions) {
         super(context, preferenceKey, fragmentController, uxRestrictions);
-        mCarUserManagerHelper = new CarUserManagerHelper(context);
         mUserManager = UserManager.get(context);
     }
 
@@ -47,7 +44,7 @@
 
     @Override
     protected int getAvailabilityStatus() {
-        return DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(getContext(),
-                mCarUserManagerHelper, mUserManager) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+        return DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(getContext(), mUserManager)
+                ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 }
diff --git a/src/com/android/car/settings/system/MasterClearEntryPreferenceController.java b/src/com/android/car/settings/system/MasterClearEntryPreferenceController.java
index 5293273..1d04a9b 100644
--- a/src/com/android/car/settings/system/MasterClearEntryPreferenceController.java
+++ b/src/com/android/car/settings/system/MasterClearEntryPreferenceController.java
@@ -55,7 +55,7 @@
     }
 
     private boolean isUserRestricted() {
-        return !(mCarUserManagerHelper.isCurrentProcessAdminUser() || isDemoUser())
+        return !(mUserManager.isAdminUser() || isDemoUser())
                 || mCarUserManagerHelper.isCurrentProcessUserHasRestriction(DISALLOW_FACTORY_RESET);
     }
 
diff --git a/src/com/android/car/settings/system/ResetNetworkEntryPreferenceController.java b/src/com/android/car/settings/system/ResetNetworkEntryPreferenceController.java
index b8ca854..8f3312e 100644
--- a/src/com/android/car/settings/system/ResetNetworkEntryPreferenceController.java
+++ b/src/com/android/car/settings/system/ResetNetworkEntryPreferenceController.java
@@ -21,6 +21,7 @@
 import android.car.drivingstate.CarUxRestrictions;
 import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
+import android.os.UserManager;
 
 import androidx.preference.Preference;
 
@@ -31,11 +32,13 @@
 public class ResetNetworkEntryPreferenceController extends PreferenceController<Preference> {
 
     private final CarUserManagerHelper mCarUserManagerHelper;
+    private final UserManager mUserManager;
 
     public ResetNetworkEntryPreferenceController(Context context, String preferenceKey,
             FragmentController fragmentController, CarUxRestrictions uxRestrictions) {
         super(context, preferenceKey, fragmentController, uxRestrictions);
         mCarUserManagerHelper = new CarUserManagerHelper(context);
+        mUserManager = UserManager.get(context);
     }
 
     @Override
@@ -49,7 +52,7 @@
     }
 
     private boolean isUserRestricted() {
-        return !mCarUserManagerHelper.isCurrentProcessAdminUser()
+        return !mUserManager.isAdminUser()
                 || mCarUserManagerHelper.isCurrentProcessUserHasRestriction(DISALLOW_NETWORK_RESET);
     }
 }
diff --git a/src/com/android/car/settings/system/SystemUpdatePreferenceController.java b/src/com/android/car/settings/system/SystemUpdatePreferenceController.java
index a3389c3..09200f5 100644
--- a/src/com/android/car/settings/system/SystemUpdatePreferenceController.java
+++ b/src/com/android/car/settings/system/SystemUpdatePreferenceController.java
@@ -19,13 +19,13 @@
 import static android.content.Context.CARRIER_CONFIG_SERVICE;
 
 import android.car.drivingstate.CarUxRestrictions;
-import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.os.PersistableBundle;
+import android.os.UserManager;
 import android.telephony.CarrierConfigManager;
 import android.text.TextUtils;
 
@@ -49,13 +49,13 @@
 
     private static final Logger LOG = new Logger(SystemUpdatePreferenceController.class);
 
-    private final CarUserManagerHelper mCarUserManagerHelper;
+    private final UserManager mUserManager;
     private boolean mActivityFound;
 
     public SystemUpdatePreferenceController(Context context, String preferenceKey,
             FragmentController fragmentController, CarUxRestrictions uxRestrictions) {
         super(context, preferenceKey, fragmentController, uxRestrictions);
-        mCarUserManagerHelper = new CarUserManagerHelper(context);
+        mUserManager = UserManager.get(context);
     }
 
     @Override
@@ -68,7 +68,7 @@
         if (!getContext().getResources().getBoolean(R.bool.config_show_system_update_settings)) {
             return UNSUPPORTED_ON_DEVICE;
         }
-        return mCarUserManagerHelper.isCurrentProcessAdminUser() ? AVAILABLE : DISABLED_FOR_USER;
+        return mUserManager.isAdminUser() ? AVAILABLE : DISABLED_FOR_USER;
     }
 
     @Override
diff --git a/src/com/android/car/settings/users/UserUtils.java b/src/com/android/car/settings/users/UserUtils.java
index 2abff07..6baa36f 100644
--- a/src/com/android/car/settings/users/UserUtils.java
+++ b/src/com/android/car/settings/users/UserUtils.java
@@ -59,9 +59,8 @@
      * Returns whether or not the current user is an admin and whether the user info they are
      * viewing is of a non-admin.
      */
-    public static boolean isAdminViewingNonAdmin(CarUserManagerHelper carUserManagerHelper,
-            UserInfo userInfo) {
-        return carUserManagerHelper.isCurrentProcessAdminUser() && !userInfo.isAdmin();
+    public static boolean isAdminViewingNonAdmin(UserManager userManager, UserInfo userInfo) {
+        return userManager.isAdminUser() && !userInfo.isAdmin();
     }
 
     /**
diff --git a/src/com/android/car/settings/users/UsersEntryPreferenceController.java b/src/com/android/car/settings/users/UsersEntryPreferenceController.java
index a4f8b8f..2b11766 100644
--- a/src/com/android/car/settings/users/UsersEntryPreferenceController.java
+++ b/src/com/android/car/settings/users/UsersEntryPreferenceController.java
@@ -17,8 +17,9 @@
 package com.android.car.settings.users;
 
 import android.car.drivingstate.CarUxRestrictions;
-import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
+import android.os.UserHandle;
+import android.os.UserManager;
 
 import androidx.preference.Preference;
 
@@ -34,12 +35,12 @@
 
     private static final Logger LOG = new Logger(UsersEntryPreferenceController.class);
 
-    private final CarUserManagerHelper mCarUserManagerHelper;
+    private final UserManager mUserManager;
 
     public UsersEntryPreferenceController(Context context, String preferenceKey,
             FragmentController fragmentController, CarUxRestrictions uxRestrictions) {
         super(context, preferenceKey, fragmentController, uxRestrictions);
-        mCarUserManagerHelper = new CarUserManagerHelper(context);
+        mUserManager = UserManager.get(context);
     }
 
     @Override
@@ -49,15 +50,15 @@
 
     @Override
     public boolean handlePreferenceClicked(Preference preference) {
-        if (mCarUserManagerHelper.isCurrentProcessAdminUser()) {
+        if (mUserManager.isAdminUser()) {
             // Admins can see a full list of users in Settings.
             LOG.v("Creating UsersListFragment for admin user.");
             getFragmentController().launchFragment(new UsersListFragment());
         } else {
             // Non-admins can only manage themselves in Settings.
             LOG.v("Creating UserDetailsFragment for non-admin.");
-            getFragmentController().launchFragment(UserDetailsFragment.newInstance(
-                    mCarUserManagerHelper.getCurrentProcessUserId()));
+            getFragmentController().launchFragment(
+                    UserDetailsFragment.newInstance(UserHandle.myUserId()));
         }
         return true;
     }
diff --git a/src/com/android/car/settings/users/UsersListPreferenceController.java b/src/com/android/car/settings/users/UsersListPreferenceController.java
index 793e759..28470d2 100644
--- a/src/com/android/car/settings/users/UsersListPreferenceController.java
+++ b/src/com/android/car/settings/users/UsersListPreferenceController.java
@@ -19,6 +19,7 @@
 import android.car.drivingstate.CarUxRestrictions;
 import android.content.Context;
 import android.content.pm.UserInfo;
+import android.os.UserManager;
 
 import com.android.car.settings.common.FragmentController;
 
@@ -32,7 +33,7 @@
 
     @Override
     protected void userClicked(UserInfo userInfo) {
-        if (UserUtils.isAdminViewingNonAdmin(getCarUserManagerHelper(), userInfo)) {
+        if (UserUtils.isAdminViewingNonAdmin(UserManager.get(getContext()), userInfo)) {
             // Admin viewing non admin.
             getFragmentController().launchFragment(
                     UserDetailsPermissionsFragment.newInstance(userInfo.id));