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

Commit b27d65fa authored by Daniel Nishi's avatar Daniel Nishi Committed by Android (Google) Code Review
Browse files

Merge "Make nfc toggability logic static and public." into oc-dr1-dev

parents b9fa3d11 c0659ea4
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -66,10 +66,8 @@ public class NfcPreferenceController extends PreferenceController
        mBeamPreference = (RestrictedPreference) screen.findPreference(
                KEY_ANDROID_BEAM_SETTINGS);
        mNfcEnabler = new NfcEnabler(mContext, mNfcPreference, mBeamPreference);
        String toggleable = Settings.Global.getString(mContext.getContentResolver(),
                Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
        // Manually set dependencies for NFC when not toggleable.
        if (toggleable == null || !toggleable.contains(Settings.Global.RADIO_NFC)) {
        if (!isToggleableInAirplaneMode(mContext)) {
            mAirplaneModeObserver = new AirplaneModeObserver();
            updateNfcPreference();
        }
@@ -133,6 +131,12 @@ public class NfcPreferenceController extends PreferenceController
        mBeamPreference.setEnabled(toggleable);
    }

    public static boolean isToggleableInAirplaneMode(Context context) {
        String toggleable = Settings.Global.getString(context.getContentResolver(),
                Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
        return toggleable != null && toggleable.contains(Settings.Global.RADIO_NFC);
    }

    private final class AirplaneModeObserver extends ContentObserver {
        private final Uri AIRPLANE_MODE_URI =
                Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON);