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

Commit c5dcc7db authored by YK Hung's avatar YK Hung Committed by Android (Google) Code Review
Browse files

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

parents 125c8f15 84ddad23
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.provider.Settings;
import android.os.UserManager;
import android.util.ArraySet;
import android.view.accessibility.AccessibilityManager;

@@ -68,4 +69,10 @@ public final class BatteryUtils {
        }
        return packageNames;
    }

    /** Returns true if current user is a work profile user. */
    public static boolean isWorkProfile(Context context) {
        final UserManager userManager = context.getSystemService(UserManager.class);
        return userManager.isManagedProfile() && !userManager.isSystemUser();
    }
}
+16 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.accessibilityservice.AccessibilityServiceInfo;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.UserManager;
import android.provider.Settings;
import android.view.accessibility.AccessibilityManager;

@@ -40,6 +41,7 @@ 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;
@@ -99,6 +101,20 @@ public class BatteryUtilsTest {
                .containsExactly(DEFAULT_TTS_PACKAGE, ACCESSIBILITY_PACKAGE);
    }

    @Test
    public void isWorkProfile_defaultValue_returnFalse() {
        assertThat(BatteryUtils.isWorkProfile(mContext)).isFalse();
    }

    @Test
    public void isWorkProfile_workProfileMode_returnTrue() {
        final UserManager userManager = mContext.getSystemService(UserManager.class);
        Shadows.shadowOf(userManager).setManagedProfile(true);
        Shadows.shadowOf(userManager).setIsSystemUser(false);

        assertThat(BatteryUtils.isWorkProfile(mContext)).isTrue();
    }

    private void setTtsPackageName(String defaultTtsPackageName) {
        Settings.Secure.putString(mContext.getContentResolver(),
                Settings.Secure.TTS_DEFAULT_SYNTH, defaultTtsPackageName);