Update Airplane mode to use a SwitchPreference
- do the switch
See bug: #15730311 Checkboxes on R side should update to Quantum/Material on/off switch
Change-Id: I7addc48a90d74c105b2f0275ae80874b9324f589
diff --git a/src/com/android/settings/AirplaneModeEnabler.java b/src/com/android/settings/AirplaneModeEnabler.java
index d1c591e..4ce5198 100644
--- a/src/com/android/settings/AirplaneModeEnabler.java
+++ b/src/com/android/settings/AirplaneModeEnabler.java
@@ -25,6 +25,7 @@
import android.os.UserHandle;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
+import android.preference.SwitchPreference;
import android.provider.Settings;
import com.android.internal.telephony.PhoneStateIntentReceiver;
@@ -36,7 +37,7 @@
private PhoneStateIntentReceiver mPhoneStateReceiver;
- private final CheckBoxPreference mCheckBoxPref;
+ private final SwitchPreference mSwitchPref;
private static final int EVENT_SERVICE_STATE_CHANGED = 3;
@@ -58,10 +59,10 @@
}
};
- public AirplaneModeEnabler(Context context, CheckBoxPreference airplaneModeCheckBoxPreference) {
+ public AirplaneModeEnabler(Context context, SwitchPreference airplaneModeCheckBoxPreference) {
mContext = context;
- mCheckBoxPref = airplaneModeCheckBoxPreference;
+ mSwitchPref = airplaneModeCheckBoxPreference;
airplaneModeCheckBoxPreference.setPersistent(false);
@@ -71,10 +72,10 @@
public void resume() {
- mCheckBoxPref.setChecked(isAirplaneModeOn(mContext));
+ mSwitchPref.setChecked(isAirplaneModeOn(mContext));
mPhoneStateReceiver.registerIntent();
- mCheckBoxPref.setOnPreferenceChangeListener(this);
+ mSwitchPref.setOnPreferenceChangeListener(this);
mContext.getContentResolver().registerContentObserver(
Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON), true,
mAirplaneModeObserver);
@@ -82,7 +83,7 @@
public void pause() {
mPhoneStateReceiver.unregisterIntent();
- mCheckBoxPref.setOnPreferenceChangeListener(null);
+ mSwitchPref.setOnPreferenceChangeListener(null);
mContext.getContentResolver().unregisterContentObserver(mAirplaneModeObserver);
}
@@ -96,7 +97,7 @@
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON,
enabling ? 1 : 0);
// Update the UI to reflect system setting
- mCheckBoxPref.setChecked(enabling);
+ mSwitchPref.setChecked(enabling);
// Post the intent
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
@@ -113,7 +114,7 @@
* - mobile does not send failure notification, fail on timeout.
*/
private void onAirplaneModeChanged() {
- mCheckBoxPref.setChecked(isAirplaneModeOn(mContext));
+ mSwitchPref.setChecked(isAirplaneModeOn(mContext));
}
/**
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
index 39d0f4c..b63a5a1 100644
--- a/src/com/android/settings/WirelessSettings.java
+++ b/src/com/android/settings/WirelessSettings.java
@@ -39,6 +39,7 @@
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceScreen;
+import android.preference.SwitchPreference;
import android.provider.SearchIndexableResource;
import android.provider.Settings;
import android.telephony.TelephonyManager;
@@ -79,7 +80,7 @@
public static final int REQUEST_CODE_EXIT_ECM = 1;
private AirplaneModeEnabler mAirplaneModeEnabler;
- private CheckBoxPreference mAirplaneModePreference;
+ private SwitchPreference mAirplaneModePreference;
private NfcEnabler mNfcEnabler;
private NfcAdapter mNfcAdapter;
private NsdEnabler mNsdEnabler;
@@ -254,7 +255,7 @@
final boolean isSecondaryUser = UserHandle.myUserId() != UserHandle.USER_OWNER;
final Activity activity = getActivity();
- mAirplaneModePreference = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE);
+ mAirplaneModePreference = (SwitchPreference) findPreference(KEY_TOGGLE_AIRPLANE);
CheckBoxPreference nfc = (CheckBoxPreference) findPreference(KEY_TOGGLE_NFC);
PreferenceScreen androidBeam = (PreferenceScreen) findPreference(KEY_ANDROID_BEAM_SETTINGS);
CheckBoxPreference nsd = (CheckBoxPreference) findPreference(KEY_TOGGLE_NSD);