Clean up CarUserManagerHelper methods only used in Settings [1]
Started cleaning up methods only used in the Settings app.
- #isForegroundUserGuest
- #hasUserRestriction
- #canCurrentProcessAddUsers
- #canCurrentProcessRemoveUsers
- #scaleUserIcon
- #setUserRestriction
Also added 2 tests to DevelopmentSettingsUtilTest around DISALLOW_DEBUGGING_FEATURES flag.
To update tests, I needed to introduce more usage of ShadowUserManager.
There's a bug with the implementation around UserRestrictions, so I had
to add a redirect method for setUserRestriction() to our subclass ShadowUserManager.
Bug: 137136907
Test: atest CarSettingsRoboTests
Test: atest CarUserManagerHelperTest
Change-Id: Ica186ce84d604db9ee20a0dd4ccc430e60d65e11
diff --git a/src/com/android/car/settings/system/DeveloperOptionsEntryPreferenceController.java b/src/com/android/car/settings/system/DeveloperOptionsEntryPreferenceController.java
index 9b2b22b..cb1e497 100644
--- a/src/com/android/car/settings/system/DeveloperOptionsEntryPreferenceController.java
+++ b/src/com/android/car/settings/system/DeveloperOptionsEntryPreferenceController.java
@@ -19,6 +19,7 @@
import android.car.drivingstate.CarUxRestrictions;
import android.car.userlib.CarUserManagerHelper;
import android.content.Context;
+import android.os.UserManager;
import androidx.preference.Preference;
@@ -30,11 +31,13 @@
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);
}
@Override
@@ -45,6 +48,6 @@
@Override
protected int getAvailabilityStatus() {
return DevelopmentSettingsUtil.isDevelopmentSettingsEnabled(getContext(),
- mCarUserManagerHelper) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+ mCarUserManagerHelper, mUserManager) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
}