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

Commit b1c0e382 authored by Salvador Martinez's avatar Salvador Martinez Committed by android-build-merger
Browse files

Refactor permissions code for bluetooth controller enabler

am: a8db5cce

Change-Id: I6288cf595419229f58abb396cbe9b6cf6e2c5fc4
parents 62b6b4d2 a8db5cce
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -210,12 +210,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);
@@ -227,4 +222,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;
    }

}
+24 −0
Original line number Diff line number Diff line
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;
    }
}