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

Commit 721c657e authored by Xinyi Mao's avatar Xinyi Mao Committed by Android (Google) Code Review
Browse files

Merge "Add the isPrivateProfile() method in the SettingsLib" into main

parents e881bb21 457070a7
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);