Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 457070a7 authored by mxyyiyi's avatar mxyyiyi
Browse files

Add the isPrivateProfile() method in the SettingsLib

Bug: 341229305
Test: atest SettingsLibRoboTests:com.android.settingslib.fuelgauge.BatteryUtilsTest
Flag: EXEMPT bug fix
Change-Id: Ib22f812193464ffbd220325eacb82e23bec2be49
parent e093a605
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -83,6 +83,12 @@ public final class BatteryUtils {
        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. */
+17 −5
Original line number Diff line number Diff line
@@ -23,11 +23,11 @@ import static org.mockito.Mockito.doReturn;
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.junit.runner.RunWith;
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 @@ public class BatteryUtilsTest {
    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 @@ public class BatteryUtilsTest {

    @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);