Merge "Add the isPrivateProfile() method in the SettingsLib" into main
diff --git a/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatteryUtils.java b/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatteryUtils.java
index ca3af53..8571360 100644
--- a/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatteryUtils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatteryUtils.java
@@ -83,6 +83,12 @@
return userManager.isManagedProfile() && !userManager.isSystemUser();
}
+ /** Returns true if current user is a private profile user. */
+ public static boolean isPrivateProfile(Context context) {
+ final UserManager userManager = context.getSystemService(UserManager.class);
+ return userManager.isPrivateProfile();
+ }
+
private static Boolean sChargingStringV2Enabled = null;
/** Returns {@code true} if the charging string v2 is enabled. */
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/fuelgauge/BatteryUtilsTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/fuelgauge/BatteryUtilsTest.java
index 6424352..465798c 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/fuelgauge/BatteryUtilsTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/fuelgauge/BatteryUtilsTest.java
@@ -23,11 +23,11 @@
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.content.Context;
-import android.content.Intent;
import android.content.IntentFilter;
import android.os.UserManager;
import android.provider.Settings;
@@ -41,7 +41,6 @@
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
-import org.robolectric.Shadows;
import org.robolectric.shadows.ShadowAccessibilityManager;
import java.util.Arrays;
@@ -59,12 +58,15 @@
private AccessibilityServiceInfo mAccessibilityServiceInfo1;
@Mock
private AccessibilityServiceInfo mAccessibilityServiceInfo2;
+ @Mock
+ private UserManager mUserManager;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(ApplicationProvider.getApplicationContext());
doReturn(mContext).when(mContext).getApplicationContext();
+ when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
mAccessibilityManager = spy(mContext.getSystemService(AccessibilityManager.class));
mShadowAccessibilityManager = shadowOf(mAccessibilityManager);
doReturn(mAccessibilityManager).when(mContext)
@@ -108,13 +110,23 @@
@Test
public void isWorkProfile_workProfileMode_returnTrue() {
- final UserManager userManager = mContext.getSystemService(UserManager.class);
- Shadows.shadowOf(userManager).setManagedProfile(true);
- Shadows.shadowOf(userManager).setIsSystemUser(false);
+ doReturn(true).when(mUserManager).isManagedProfile();
assertThat(BatteryUtils.isWorkProfile(mContext)).isTrue();
}
+ @Test
+ public void isPrivateProfile_defaultValue_returnFalse() {
+ assertThat(BatteryUtils.isPrivateProfile(mContext)).isFalse();
+ }
+
+ @Test
+ public void isPrivateProfile_privateProfileMode_returnTrue() {
+ doReturn(true).when(mUserManager).isPrivateProfile();
+
+ assertThat(BatteryUtils.isPrivateProfile(mContext)).isTrue();
+ }
+
private void setTtsPackageName(String defaultTtsPackageName) {
Settings.Secure.putString(mContext.getContentResolver(),
Settings.Secure.TTS_DEFAULT_SYNTH, defaultTtsPackageName);