Make nfc toggability logic static and public.

Test: exercised in other robotests
Change-Id: Id51c9fd820afd539c1d647feb90eecf73ffbf4a7
This commit is contained in:
Daniel Nishi
2017-07-26 11:13:55 -07:00
parent 4b8f2c9ad5
commit c0659ea40d

View File

@@ -66,10 +66,8 @@ public class NfcPreferenceController extends PreferenceController
mBeamPreference = (RestrictedPreference) screen.findPreference( mBeamPreference = (RestrictedPreference) screen.findPreference(
KEY_ANDROID_BEAM_SETTINGS); KEY_ANDROID_BEAM_SETTINGS);
mNfcEnabler = new NfcEnabler(mContext, mNfcPreference, mBeamPreference); 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. // Manually set dependencies for NFC when not toggleable.
if (toggleable == null || !toggleable.contains(Settings.Global.RADIO_NFC)) { if (!isToggleableInAirplaneMode(mContext)) {
mAirplaneModeObserver = new AirplaneModeObserver(); mAirplaneModeObserver = new AirplaneModeObserver();
updateNfcPreference(); updateNfcPreference();
} }
@@ -133,6 +131,12 @@ public class NfcPreferenceController extends PreferenceController
mBeamPreference.setEnabled(toggleable); 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 class AirplaneModeObserver extends ContentObserver {
private final Uri AIRPLANE_MODE_URI = private final Uri AIRPLANE_MODE_URI =
Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON); Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON);