diff --git a/src/com/android/settings/bluetooth/BluetoothEnabler.java b/src/com/android/settings/bluetooth/BluetoothEnabler.java index 6c41f830a12..c0935ab1da9 100644 --- a/src/com/android/settings/bluetooth/BluetoothEnabler.java +++ b/src/com/android/settings/bluetooth/BluetoothEnabler.java @@ -208,12 +208,7 @@ public final class BluetoothEnabler implements SwitchWidgetController.OnSwitchCh */ @VisibleForTesting boolean maybeEnforceRestrictions() { - EnforcedAdmin admin = mRestrictionUtils.checkIfRestrictionEnforced( - mContext, UserManager.DISALLOW_BLUETOOTH); - if (admin == null) { - admin = mRestrictionUtils.checkIfRestrictionEnforced( - mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH); - } + EnforcedAdmin admin = getEnforcedAdmin(mRestrictionUtils, mContext); mSwitchWidget.setDisabledByAdmin(admin); if (admin != null) { mSwitchWidget.setChecked(false); @@ -225,4 +220,15 @@ public final class BluetoothEnabler implements SwitchWidgetController.OnSwitchCh return admin != null; } + public static EnforcedAdmin getEnforcedAdmin(RestrictionUtils mRestrictionUtils, + Context mContext) { + EnforcedAdmin admin = mRestrictionUtils.checkIfRestrictionEnforced( + mContext, UserManager.DISALLOW_BLUETOOTH); + if (admin == null) { + admin = mRestrictionUtils.checkIfRestrictionEnforced( + mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH); + } + return admin; + } + } diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictionUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictionUtils.java new file mode 100644 index 00000000000..f39f10f327b --- /dev/null +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictionUtils.java @@ -0,0 +1,24 @@ +package com.android.settings.testutils.shadow; + +import android.content.Context; +import com.android.settings.bluetooth.RestrictionUtils; +import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; +import org.robolectric.annotation.Implementation; +import org.robolectric.annotation.Implements; + +@Implements(RestrictionUtils.class) +public class ShadowRestrictionUtils { + private static boolean isRestricted = false; + + @Implementation + public EnforcedAdmin checkIfRestrictionEnforced(Context context, String restriction) { + if (isRestricted) { + return new EnforcedAdmin(); + } + return null; + } + + public static void setRestricted(boolean restricted) { + isRestricted = restricted; + } +}