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

Commit 84ddad23 authored by ykhung's avatar ykhung Committed by YK Hung
Browse files

Add the isWorkProfile() method in the SettingsLib

Bug: 306329984
Test: make RunSettingsLibRoboTests -j40
ROBOTEST_FILTER="com.android.settingslib.fuelgauge"
Change-Id: I2409075cbd2a8ed11e83283f487f85dfd39f0338
parent fb83cbb8
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentFilter;
import android.provider.Settings;
import android.provider.Settings;
import android.os.UserManager;
import android.util.ArraySet;
import android.util.ArraySet;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityManager;


@@ -68,4 +69,10 @@ public final class BatteryUtils {
        }
        }
        return packageNames;
        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 Original line Diff line number Diff line
@@ -29,6 +29,7 @@ import android.accessibilityservice.AccessibilityServiceInfo;
import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentFilter;
import android.os.UserManager;
import android.provider.Settings;
import android.provider.Settings;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityManager;


@@ -40,6 +41,7 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.Shadows;
import org.robolectric.shadows.ShadowAccessibilityManager;
import org.robolectric.shadows.ShadowAccessibilityManager;


import java.util.Arrays;
import java.util.Arrays;
@@ -99,6 +101,20 @@ public class BatteryUtilsTest {
                .containsExactly(DEFAULT_TTS_PACKAGE, ACCESSIBILITY_PACKAGE);
                .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) {
    private void setTtsPackageName(String defaultTtsPackageName) {
        Settings.Secure.putString(mContext.getContentResolver(),
        Settings.Secure.putString(mContext.getContentResolver(),
                Settings.Secure.TTS_DEFAULT_SYNTH, defaultTtsPackageName);
                Settings.Secure.TTS_DEFAULT_SYNTH, defaultTtsPackageName);