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

Commit c0659ea4 authored by Daniel Nishi's avatar Daniel Nishi
Browse files

Make nfc toggability logic static and public.

Test: exercised in other robotests
Change-Id: Id51c9fd820afd539c1d647feb90eecf73ffbf4a7
parent 4b8f2c9a
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);