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));
diff --git a/tests/robotests/src/com/android/car/settings/development/DevelopmentSettingsUtilTest.java b/tests/robotests/src/com/android/car/settings/development/DevelopmentSettingsUtilTest.java
index cfaaa80..a9c4271 100644
--- a/tests/robotests/src/com/android/car/settings/development/DevelopmentSettingsUtilTest.java
+++ b/tests/robotests/src/com/android/car/settings/development/DevelopmentSettingsUtilTest.java
@@ -18,62 +18,42 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.when;
-
-import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
 import android.content.pm.UserInfo;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
 
-import com.android.car.settings.testutils.ShadowCarUserManagerHelper;
-import com.android.car.settings.testutils.ShadowLocalBroadcastManager;
-
-import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
-import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowUserManager;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowCarUserManagerHelper.class, ShadowLocalBroadcastManager.class})
 public class DevelopmentSettingsUtilTest {
 
     private Context mContext;
     private UserManager mUserManager;
 
-    @Mock
-    private CarUserManagerHelper mCarUserManagerHelper;
-
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        ShadowCarUserManagerHelper.setMockInstance(mCarUserManagerHelper);
         mContext = RuntimeEnvironment.application;
         mUserManager = UserManager.get(mContext);
     }
 
-    @After
-    public void tearDown() {
-        ShadowCarUserManagerHelper.reset();
-        ShadowLocalBroadcastManager.reset();
-    }
-
     @Test
     public void isEnabled_settingsOff_isAdmin_notDemo_shouldReturnFalse() {
         setCurrentUserWithFlags(UserInfo.FLAG_ADMIN);
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
 
-        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext,
-                mCarUserManagerHelper, mUserManager)).isFalse();
+        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext, mUserManager))
+                .isFalse();
     }
 
     @Test
@@ -82,8 +62,8 @@
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
 
-        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext,
-                mCarUserManagerHelper, mUserManager)).isTrue();
+        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext, mUserManager))
+                .isTrue();
     }
 
     @Test
@@ -93,8 +73,8 @@
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
 
-        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext,
-                mCarUserManagerHelper, mUserManager)).isFalse();
+        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext, mUserManager))
+                .isFalse();
     }
 
     @Test
@@ -104,8 +84,8 @@
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
 
-        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext,
-                mCarUserManagerHelper, mUserManager)).isTrue();
+        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext, mUserManager))
+                .isTrue();
     }
 
     @Test
@@ -115,8 +95,8 @@
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
 
-        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext,
-                mCarUserManagerHelper, mUserManager)).isFalse();
+        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext, mUserManager))
+                .isFalse();
     }
 
     @Test
@@ -131,8 +111,8 @@
                 UserManager.DISALLOW_DEBUGGING_FEATURES,
                 true);
 
-        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext,
-                mCarUserManagerHelper, mUserManager)).isFalse();
+        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext, mUserManager))
+                .isFalse();
     }
 
     @Test
@@ -147,8 +127,8 @@
                 UserManager.DISALLOW_DEBUGGING_FEATURES,
                 false);
 
-        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext,
-                mCarUserManagerHelper, mUserManager)).isTrue();
+        assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext, mUserManager))
+                .isTrue();
     }
 
     @Test
@@ -188,11 +168,7 @@
     }
 
     private void setCurrentUserWithFlags(int flags) {
-        UserInfo userInfo = new UserInfo(UserHandle.myUserId(), null, flags);
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser())
-                .thenReturn(UserInfo.FLAG_ADMIN == (flags & UserInfo.FLAG_ADMIN));
-        when(mCarUserManagerHelper.getCurrentProcessUserInfo()).thenReturn(userInfo);
-        getShadowUserManager().addUser(userInfo.id, userInfo.name, userInfo.flags);
+        getShadowUserManager().addUser(UserHandle.myUserId(), "test name", flags);
     }
 
     private ShadowUserManager getShadowUserManager() {
diff --git a/tests/robotests/src/com/android/car/settings/system/BuildNumberPreferenceControllerTest.java b/tests/robotests/src/com/android/car/settings/system/BuildNumberPreferenceControllerTest.java
index 0f3ca97..6f8bb1d 100644
--- a/tests/robotests/src/com/android/car/settings/system/BuildNumberPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/car/settings/system/BuildNumberPreferenceControllerTest.java
@@ -18,9 +18,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.when;
-
-import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
 import android.content.pm.UserInfo;
 import android.os.UserHandle;
@@ -39,17 +36,14 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
-import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowToast;
 import org.robolectric.shadows.ShadowUserManager;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowCarUserManagerHelper.class})
 public class BuildNumberPreferenceControllerTest {
 
     private Context mContext;
@@ -57,13 +51,10 @@
             mPreferenceControllerHelper;
     private BuildNumberPreferenceController mController;
     private Preference mPreference;
-    @Mock
-    private CarUserManagerHelper mCarUserManagerHelper;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        ShadowCarUserManagerHelper.setMockInstance(mCarUserManagerHelper);
         mContext = RuntimeEnvironment.application;
         mPreference = new Preference(mContext);
         mPreferenceControllerHelper = new PreferenceControllerTestHelper<>(mContext,
@@ -74,9 +65,11 @@
         setCurrentUserWithFlags(UserInfo.FLAG_ADMIN);
 
         // By default, no restrictions on debugging features.
-        Shadows.shadowOf(UserManager.get(mContext))
-                .setUserRestriction(UserHandle.of(UserHandle.myUserId()),
-                        UserManager.DISALLOW_DEBUGGING_FEATURES, false);
+        getShadowUserManager()
+                .setUserRestriction(
+                        UserHandle.of(UserHandle.myUserId()),
+                        UserManager.DISALLOW_DEBUGGING_FEATURES,
+                        false);
 
         // By default device is provisioned.
         Settings.Global.putInt(mContext.getContentResolver(),
@@ -154,7 +147,7 @@
             mPreference.performClick();
         }
         assertThat(DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(mContext,
-                mCarUserManagerHelper, UserManager.get(mContext))).isTrue();
+                UserManager.get(mContext))).isTrue();
     }
 
     @Test
@@ -188,9 +181,6 @@
 
     private void setCurrentUserWithFlags(int flags) {
         UserInfo userInfo = new UserInfo(UserHandle.myUserId(), null, flags);
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser())
-                .thenReturn(UserInfo.FLAG_ADMIN == (flags & UserInfo.FLAG_ADMIN));
-        when(mCarUserManagerHelper.getCurrentProcessUserInfo()).thenReturn(userInfo);
         getShadowUserManager().addUser(userInfo.id, userInfo.name, userInfo.flags);
     }
 
diff --git a/tests/robotests/src/com/android/car/settings/system/DeveloperOptionsEntryPreferenceControllerTest.java b/tests/robotests/src/com/android/car/settings/system/DeveloperOptionsEntryPreferenceControllerTest.java
index 42ea73d..3d8b55f 100644
--- a/tests/robotests/src/com/android/car/settings/system/DeveloperOptionsEntryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/car/settings/system/DeveloperOptionsEntryPreferenceControllerTest.java
@@ -21,58 +21,41 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.when;
-
-import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
 import android.content.pm.UserInfo;
+import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
 
 import androidx.preference.Preference;
 
 import com.android.car.settings.common.PreferenceControllerTestHelper;
-import com.android.car.settings.testutils.ShadowCarUserManagerHelper;
 
-import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
-import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowUserManager;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowCarUserManagerHelper.class})
 public class DeveloperOptionsEntryPreferenceControllerTest {
 
     private Context mContext;
     private DeveloperOptionsEntryPreferenceController mController;
-    private UserInfo mUserInfo;
-    @Mock
-    private CarUserManagerHelper mShadowCarUserManagerHelper;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        ShadowCarUserManagerHelper.setMockInstance(mShadowCarUserManagerHelper);
         mContext = RuntimeEnvironment.application;
         mController = new PreferenceControllerTestHelper<>(mContext,
                 DeveloperOptionsEntryPreferenceController.class,
                 new Preference(mContext)).getController();
 
         // Setup admin user who is able to enable developer settings.
-        mUserInfo = new UserInfo(10, null, 0);
-        when(mShadowCarUserManagerHelper.isCurrentProcessAdminUser()).thenReturn(true);
-        when(mShadowCarUserManagerHelper.getCurrentProcessUserInfo()).thenReturn(mUserInfo);
-    }
-
-    @After
-    public void tearDown() {
-        ShadowCarUserManagerHelper.reset();
+        getShadowUserManager().addUser(UserHandle.myUserId(), "test name", UserInfo.FLAG_ADMIN);
     }
 
     @Test
@@ -93,8 +76,14 @@
     public void testGetAvailabilityStatus_devOptionsEnabled_hasUserRestriction_isUnavailable() {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
-        Shadows.shadowOf(UserManager.get(mContext)).setUserRestriction(
-                mUserInfo.getUserHandle(), UserManager.DISALLOW_DEBUGGING_FEATURES, true);
+        getShadowUserManager().setUserRestriction(
+                UserHandle.of(UserHandle.myUserId()),
+                UserManager.DISALLOW_DEBUGGING_FEATURES,
+                true);
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
     }
+
+    private ShadowUserManager getShadowUserManager() {
+        return Shadows.shadowOf(UserManager.get(mContext));
+    }
 }
diff --git a/tests/robotests/src/com/android/car/settings/system/MasterClearEntryPreferenceControllerTest.java b/tests/robotests/src/com/android/car/settings/system/MasterClearEntryPreferenceControllerTest.java
index 38b9f90..d4b4e1a 100644
--- a/tests/robotests/src/com/android/car/settings/system/MasterClearEntryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/car/settings/system/MasterClearEntryPreferenceControllerTest.java
@@ -23,9 +23,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.when;
-
-import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
 import android.content.pm.UserInfo;
 import android.os.UserHandle;
@@ -35,34 +32,28 @@
 import androidx.preference.Preference;
 
 import com.android.car.settings.common.PreferenceControllerTestHelper;
-import com.android.car.settings.testutils.ShadowCarUserManagerHelper;
 
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
-import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowUserManager;
 
 /** Unit test for {@link MasterClearEntryPreferenceController}. */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowCarUserManagerHelper.class})
 public class MasterClearEntryPreferenceControllerTest {
+    private static final int SECONDARY_USER_ID = 10;
 
     private Context mContext;
     private MasterClearEntryPreferenceController mController;
-    @Mock
-    private CarUserManagerHelper mCarUserManagerHelper;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        ShadowCarUserManagerHelper.setMockInstance(mCarUserManagerHelper);
         mContext = RuntimeEnvironment.application;
 
         mController = new PreferenceControllerTestHelper<>(mContext,
@@ -74,35 +65,34 @@
     public void tearDown() {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVICE_DEMO_MODE, 0);
-        ShadowCarUserManagerHelper.reset();
     }
 
     @Test
     public void getAvailabilityStatus_nonAdminUser_disabledForUser() {
-        setCurrentUserWithFlags(/* flags= */ 0);
+        createAndSwitchToSecondaryUserWithFlags(/* flags= */ 0);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_FOR_USER);
     }
 
     @Test
     public void getAvailabilityStatus_adminUser_available() {
-        setCurrentUserWithFlags(UserInfo.FLAG_ADMIN);
+        createAndSwitchToSecondaryUserWithFlags(UserInfo.FLAG_ADMIN);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
     public void getAvailabilityStatus_adminUser_restricted_disabledForUser() {
-        setCurrentUserWithFlags(UserInfo.FLAG_ADMIN);
-        when(mCarUserManagerHelper.isCurrentProcessUserHasRestriction(
-                DISALLOW_FACTORY_RESET)).thenReturn(true);
+        createAndSwitchToSecondaryUserWithFlags(UserInfo.FLAG_ADMIN);
+        getShadowUserManager().setUserRestriction(
+                UserHandle.of(SECONDARY_USER_ID), DISALLOW_FACTORY_RESET, true);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_FOR_USER);
     }
 
     @Test
     public void getAvailabilityStatus_demoMode_demoUser_available() {
-        setCurrentUserWithFlags(UserInfo.FLAG_DEMO);
+        createAndSwitchToSecondaryUserWithFlags(UserInfo.FLAG_DEMO);
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVICE_DEMO_MODE, 1);
 
@@ -111,20 +101,18 @@
 
     @Test
     public void getAvailabilityStatus_demoMode_demoUser_restricted_disabledForUser() {
-        setCurrentUserWithFlags(UserInfo.FLAG_DEMO);
-        when(mCarUserManagerHelper.isCurrentProcessUserHasRestriction(
-                DISALLOW_FACTORY_RESET)).thenReturn(true);
+        createAndSwitchToSecondaryUserWithFlags(UserInfo.FLAG_DEMO);
+        getShadowUserManager().setUserRestriction(
+                UserHandle.of(SECONDARY_USER_ID), DISALLOW_FACTORY_RESET, true);
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVICE_DEMO_MODE, 1);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_FOR_USER);
     }
 
-    private void setCurrentUserWithFlags(int flags) {
-        UserInfo userInfo = new UserInfo(UserHandle.myUserId(), null, flags);
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser())
-                .thenReturn(UserInfo.FLAG_ADMIN == (flags & UserInfo.FLAG_ADMIN));
-        getShadowUserManager().addUser(userInfo.id, userInfo.name, userInfo.flags);
+    private void createAndSwitchToSecondaryUserWithFlags(int flags) {
+        getShadowUserManager().addUser(SECONDARY_USER_ID, "test name", flags);
+        getShadowUserManager().switchUser(SECONDARY_USER_ID);
     }
 
     private ShadowUserManager getShadowUserManager() {
diff --git a/tests/robotests/src/com/android/car/settings/system/ResetNetworkEntryPreferenceControllerTest.java b/tests/robotests/src/com/android/car/settings/system/ResetNetworkEntryPreferenceControllerTest.java
index 7f22d16..c78cc47 100644
--- a/tests/robotests/src/com/android/car/settings/system/ResetNetworkEntryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/car/settings/system/ResetNetworkEntryPreferenceControllerTest.java
@@ -27,13 +27,15 @@
 
 import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
 
 import androidx.preference.Preference;
 
 import com.android.car.settings.common.PreferenceControllerTestHelper;
 import com.android.car.settings.testutils.ShadowCarUserManagerHelper;
 
-import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -41,6 +43,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 
 /** Unit test for {@link ResetNetworkEntryPreferenceController}. */
@@ -51,43 +54,45 @@
     @Mock
     private CarUserManagerHelper mCarUserManagerHelper;
     private ResetNetworkEntryPreferenceController mController;
+    private Context mContext;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         ShadowCarUserManagerHelper.setMockInstance(mCarUserManagerHelper);
-        Context context = RuntimeEnvironment.application;
+        mContext = RuntimeEnvironment.application;
 
-        mController = new PreferenceControllerTestHelper<>(context,
+        mController = new PreferenceControllerTestHelper<>(
+                mContext,
                 ResetNetworkEntryPreferenceController.class,
-                new Preference(context)).getController();
-    }
-
-    @After
-    public void tearDown() {
-        ShadowCarUserManagerHelper.reset();
+                new Preference(mContext)).getController();
     }
 
     @Test
     public void getAvailabilityStatus_nonAdminUser_disabledForUser() {
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser()).thenReturn(false);
+        setCurrentUserWithFlags(/* flags= */ 0);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_FOR_USER);
     }
 
     @Test
     public void getAvailabilityStatus_adminUser_available() {
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser()).thenReturn(true);
+        setCurrentUserWithFlags(UserInfo.FLAG_ADMIN);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
     public void getAvailabilityStatus_adminUser_restricted_disabledForUser() {
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser()).thenReturn(true);
+        setCurrentUserWithFlags(UserInfo.FLAG_ADMIN);
         when(mCarUserManagerHelper.isCurrentProcessUserHasRestriction(
                 DISALLOW_NETWORK_RESET)).thenReturn(true);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_FOR_USER);
     }
+
+    private void setCurrentUserWithFlags(int flags) {
+        Shadows.shadowOf(UserManager.get(mContext))
+                .addUser(UserHandle.myUserId(), "test user", flags);
+    }
 }
diff --git a/tests/robotests/src/com/android/car/settings/system/SystemUpdatePreferenceControllerTest.java b/tests/robotests/src/com/android/car/settings/system/SystemUpdatePreferenceControllerTest.java
index 41c76e4..67f356c 100644
--- a/tests/robotests/src/com/android/car/settings/system/SystemUpdatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/car/settings/system/SystemUpdatePreferenceControllerTest.java
@@ -21,15 +21,15 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.when;
-
-import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.ResolveInfo;
+import android.content.pm.UserInfo;
 import android.os.PersistableBundle;
+import android.os.UserHandle;
+import android.os.UserManager;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
 
@@ -44,7 +44,6 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
@@ -58,11 +57,9 @@
 
 /** Unit test for {@link SystemUpdatePreferenceController}. */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowCarUserManagerHelper.class, ShadowCarrierConfigManager.class})
+@Config(shadows = {ShadowCarrierConfigManager.class})
 public class SystemUpdatePreferenceControllerTest {
 
-    @Mock
-    private CarUserManagerHelper mCarUserManagerHelper;
     private Context mContext;
     private Preference mPreference;
     private PreferenceControllerTestHelper<SystemUpdatePreferenceController> mControllerHelper;
@@ -71,10 +68,9 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        ShadowCarUserManagerHelper.setMockInstance(mCarUserManagerHelper);
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser()).thenReturn(true);
-
         mContext = RuntimeEnvironment.application;
+        setCurrentUserWithFlags(UserInfo.FLAG_ADMIN);
+
         mPreference = new Preference(mContext);
         mControllerHelper = new PreferenceControllerTestHelper<>(mContext,
                 SystemUpdatePreferenceController.class, mPreference);
@@ -88,14 +84,14 @@
 
     @Test
     public void getAvailabilityStatus_adminUser_available() {
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser()).thenReturn(true);
+        setCurrentUserWithFlags(UserInfo.FLAG_ADMIN);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
     public void getAvailabilityStatus_nonAdminUser_disabledForUser() {
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser()).thenReturn(false);
+        setCurrentUserWithFlags(/* flags= */ 0);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_FOR_USER);
     }
@@ -174,4 +170,9 @@
     private ShadowCarrierConfigManager getShadowCarrierConfigManager() {
         return Shadow.extract(mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE));
     }
+
+    private void setCurrentUserWithFlags(int flags) {
+        Shadows.shadowOf(UserManager.get(mContext))
+                .addUser(UserHandle.myUserId(), "test name", flags);
+    }
 }
diff --git a/tests/robotests/src/com/android/car/settings/testutils/ShadowCarUserManagerHelper.java b/tests/robotests/src/com/android/car/settings/testutils/ShadowCarUserManagerHelper.java
index a83d425..ff5e172 100644
--- a/tests/robotests/src/com/android/car/settings/testutils/ShadowCarUserManagerHelper.java
+++ b/tests/robotests/src/com/android/car/settings/testutils/ShadowCarUserManagerHelper.java
@@ -119,11 +119,6 @@
     }
 
     @Implementation
-    protected boolean isCurrentProcessAdminUser() {
-        return sMockInstance.isCurrentProcessAdminUser();
-    }
-
-    @Implementation
     protected boolean isCurrentProcessUserHasRestriction(String restriction) {
         return sMockInstance.isCurrentProcessUserHasRestriction(restriction);
     }
diff --git a/tests/robotests/src/com/android/car/settings/users/UsersEntryPreferenceControllerTest.java b/tests/robotests/src/com/android/car/settings/users/UsersEntryPreferenceControllerTest.java
index d9febed..386d723 100644
--- a/tests/robotests/src/com/android/car/settings/users/UsersEntryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/car/settings/users/UsersEntryPreferenceControllerTest.java
@@ -20,59 +20,49 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
 
-import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
 
 import androidx.lifecycle.Lifecycle;
 import androidx.preference.Preference;
 
 import com.android.car.settings.common.PreferenceControllerTestHelper;
-import com.android.car.settings.testutils.ShadowCarUserManagerHelper;
 
-import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
+import org.robolectric.Shadows;
+import org.robolectric.shadows.ShadowUserManager;
 
 /** Unit test for {@link UsersEntryPreferenceController}. */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowCarUserManagerHelper.class})
 public class UsersEntryPreferenceControllerTest {
-
-    @Mock
-    private CarUserManagerHelper mCarUserManagerHelper;
+    private Context mContext;
     private Preference mPreference;
     private PreferenceControllerTestHelper<UsersEntryPreferenceController> mControllerHelper;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        ShadowCarUserManagerHelper.setMockInstance(mCarUserManagerHelper);
 
-        Context context = RuntimeEnvironment.application;
-        mPreference = new Preference(context);
-        mControllerHelper = new PreferenceControllerTestHelper<>(context,
+        mContext = RuntimeEnvironment.application;
+        mPreference = new Preference(mContext);
+        mControllerHelper = new PreferenceControllerTestHelper<>(mContext,
                 UsersEntryPreferenceController.class, mPreference);
         mControllerHelper.markState(Lifecycle.State.STARTED);
     }
 
-    @After
-    public void tearDown() {
-        ShadowCarUserManagerHelper.reset();
-    }
-
     @Test
     public void preferenceClicked_adminUser_handled() {
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser()).thenReturn(true);
+        setCurrentUserWithFlags(UserInfo.FLAG_ADMIN);
 
         assertThat(
                 mPreference.getOnPreferenceClickListener().onPreferenceClick(mPreference)).isTrue();
@@ -80,7 +70,7 @@
 
     @Test
     public void preferenceClicked_adminUser_launchesUsersListFragment() {
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser()).thenReturn(true);
+        setCurrentUserWithFlags(UserInfo.FLAG_ADMIN);
 
         mPreference.performClick();
 
@@ -90,7 +80,7 @@
 
     @Test
     public void preferenceClicked_nonAdminUser_handled() {
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser()).thenReturn(false);
+        setCurrentUserWithFlags(/* flags= */ 0);
 
         assertThat(
                 mPreference.getOnPreferenceClickListener().onPreferenceClick(mPreference)).isTrue();
@@ -98,9 +88,7 @@
 
     @Test
     public void preferenceClicked_nonAdminUser_launchesUserDetailsFragment() {
-        int userId = 1234;
-        when(mCarUserManagerHelper.getCurrentProcessUserId()).thenReturn(userId);
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser()).thenReturn(false);
+        setCurrentUserWithFlags(/* flags= */ 0);
 
         mPreference.performClick();
 
@@ -110,6 +98,15 @@
                 fragmentCaptor.capture());
         UserDetailsFragment launchedFragment = fragmentCaptor.getValue();
         assertThat(launchedFragment.getArguments()).isNotNull();
-        assertThat(launchedFragment.getArguments().getInt(Intent.EXTRA_USER_ID)).isEqualTo(userId);
+        assertThat(launchedFragment.getArguments().getInt(Intent.EXTRA_USER_ID))
+                .isEqualTo(UserHandle.myUserId());
+    }
+
+    private void setCurrentUserWithFlags(int flags) {
+        getShadowUserManager().addUser(UserHandle.myUserId(), "test name", flags);
+    }
+
+    private ShadowUserManager getShadowUserManager() {
+        return Shadows.shadowOf(UserManager.get(mContext));
     }
 }
diff --git a/tests/robotests/src/com/android/car/settings/users/UsersListPreferenceControllerTest.java b/tests/robotests/src/com/android/car/settings/users/UsersListPreferenceControllerTest.java
index 832653d..c8acf0f 100644
--- a/tests/robotests/src/com/android/car/settings/users/UsersListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/car/settings/users/UsersListPreferenceControllerTest.java
@@ -26,6 +26,7 @@
 import android.car.userlib.CarUserManagerHelper;
 import android.content.Context;
 import android.content.pm.UserInfo;
+import android.os.UserManager;
 
 import androidx.lifecycle.Lifecycle;
 import androidx.preference.PreferenceGroup;
@@ -43,7 +44,9 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowUserManager;
 
 import java.util.Collections;
 
@@ -58,21 +61,24 @@
 
     private PreferenceControllerTestHelper<UsersListPreferenceController> mControllerHelper;
     private PreferenceGroup mPreferenceGroup;
+    private Context mContext;
     @Mock
     private CarUserManagerHelper mCarUserManagerHelper;
 
     @Before
     public void setUp() {
-        Context context = RuntimeEnvironment.application;
+        mContext = RuntimeEnvironment.application;
         MockitoAnnotations.initMocks(this);
         ShadowCarUserManagerHelper.setMockInstance(mCarUserManagerHelper);
-        mPreferenceGroup = new LogicalPreferenceGroup(context);
-        mControllerHelper = new PreferenceControllerTestHelper<>(context,
+        mPreferenceGroup = new LogicalPreferenceGroup(mContext);
+        mControllerHelper = new PreferenceControllerTestHelper<>(mContext,
                 UsersListPreferenceController.class, mPreferenceGroup);
 
+        getShadowUserManager().addUser(TEST_CURRENT_USER.id, TEST_CURRENT_USER.name,
+                TEST_CURRENT_USER.flags);
+        getShadowUserManager().switchUser(TEST_CURRENT_USER.id);
         when(mCarUserManagerHelper.getCurrentProcessUserInfo()).thenReturn(TEST_CURRENT_USER);
         when(mCarUserManagerHelper.isCurrentProcessUser(TEST_CURRENT_USER)).thenReturn(true);
-        when(mCarUserManagerHelper.isCurrentProcessAdminUser()).thenReturn(true);
         when(mCarUserManagerHelper.getAllSwitchableUsers()).thenReturn(
                 Collections.singletonList(TEST_OTHER_USER));
 
@@ -106,4 +112,8 @@
 
         verify(mControllerHelper.getMockFragmentController(), never()).launchFragment(any());
     }
+
+    private ShadowUserManager getShadowUserManager() {
+        return Shadows.shadowOf(UserManager.get(mContext));
+    }
 }