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
This commit is contained in:
Fabrice Di Meglio
2014-08-06 10:22:52 -07:00
parent cd93d14130
commit e3bced2cda
3 changed files with 13 additions and 11 deletions

View File

@@ -19,7 +19,7 @@
android:title="wireless_settings" android:title="wireless_settings"
android:key="@string/radio_controls_title"> android:key="@string/radio_controls_title">
<CheckBoxPreference <SwitchPreference
android:key="toggle_airplane" android:key="toggle_airplane"
android:title="@string/airplane_mode" android:title="@string/airplane_mode"
android:persistent="false" android:persistent="false"

View File

@@ -25,6 +25,7 @@ import android.os.SystemProperties;
import android.os.UserHandle; import android.os.UserHandle;
import android.preference.CheckBoxPreference; import android.preference.CheckBoxPreference;
import android.preference.Preference; import android.preference.Preference;
import android.preference.SwitchPreference;
import android.provider.Settings; import android.provider.Settings;
import com.android.internal.telephony.PhoneStateIntentReceiver; import com.android.internal.telephony.PhoneStateIntentReceiver;
@@ -36,7 +37,7 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
private PhoneStateIntentReceiver mPhoneStateReceiver; private PhoneStateIntentReceiver mPhoneStateReceiver;
private final CheckBoxPreference mCheckBoxPref; private final SwitchPreference mSwitchPref;
private static final int EVENT_SERVICE_STATE_CHANGED = 3; private static final int EVENT_SERVICE_STATE_CHANGED = 3;
@@ -58,10 +59,10 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
} }
}; };
public AirplaneModeEnabler(Context context, CheckBoxPreference airplaneModeCheckBoxPreference) { public AirplaneModeEnabler(Context context, SwitchPreference airplaneModeCheckBoxPreference) {
mContext = context; mContext = context;
mCheckBoxPref = airplaneModeCheckBoxPreference; mSwitchPref = airplaneModeCheckBoxPreference;
airplaneModeCheckBoxPreference.setPersistent(false); airplaneModeCheckBoxPreference.setPersistent(false);
@@ -71,10 +72,10 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
public void resume() { public void resume() {
mCheckBoxPref.setChecked(isAirplaneModeOn(mContext)); mSwitchPref.setChecked(isAirplaneModeOn(mContext));
mPhoneStateReceiver.registerIntent(); mPhoneStateReceiver.registerIntent();
mCheckBoxPref.setOnPreferenceChangeListener(this); mSwitchPref.setOnPreferenceChangeListener(this);
mContext.getContentResolver().registerContentObserver( mContext.getContentResolver().registerContentObserver(
Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON), true, Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON), true,
mAirplaneModeObserver); mAirplaneModeObserver);
@@ -82,7 +83,7 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
public void pause() { public void pause() {
mPhoneStateReceiver.unregisterIntent(); mPhoneStateReceiver.unregisterIntent();
mCheckBoxPref.setOnPreferenceChangeListener(null); mSwitchPref.setOnPreferenceChangeListener(null);
mContext.getContentResolver().unregisterContentObserver(mAirplaneModeObserver); mContext.getContentResolver().unregisterContentObserver(mAirplaneModeObserver);
} }
@@ -96,7 +97,7 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON,
enabling ? 1 : 0); enabling ? 1 : 0);
// Update the UI to reflect system setting // Update the UI to reflect system setting
mCheckBoxPref.setChecked(enabling); mSwitchPref.setChecked(enabling);
// Post the intent // Post the intent
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
@@ -113,7 +114,7 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
* - mobile does not send failure notification, fail on timeout. * - mobile does not send failure notification, fail on timeout.
*/ */
private void onAirplaneModeChanged() { private void onAirplaneModeChanged() {
mCheckBoxPref.setChecked(isAirplaneModeOn(mContext)); mSwitchPref.setChecked(isAirplaneModeOn(mContext));
} }
/** /**

View File

@@ -39,6 +39,7 @@ import android.preference.CheckBoxPreference;
import android.preference.Preference; import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
import android.preference.SwitchPreference;
import android.provider.SearchIndexableResource; import android.provider.SearchIndexableResource;
import android.provider.Settings; import android.provider.Settings;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
@@ -79,7 +80,7 @@ public class WirelessSettings extends SettingsPreferenceFragment
public static final int REQUEST_CODE_EXIT_ECM = 1; public static final int REQUEST_CODE_EXIT_ECM = 1;
private AirplaneModeEnabler mAirplaneModeEnabler; private AirplaneModeEnabler mAirplaneModeEnabler;
private CheckBoxPreference mAirplaneModePreference; private SwitchPreference mAirplaneModePreference;
private NfcEnabler mNfcEnabler; private NfcEnabler mNfcEnabler;
private NfcAdapter mNfcAdapter; private NfcAdapter mNfcAdapter;
private NsdEnabler mNsdEnabler; private NsdEnabler mNsdEnabler;
@@ -254,7 +255,7 @@ public class WirelessSettings extends SettingsPreferenceFragment
final boolean isSecondaryUser = UserHandle.myUserId() != UserHandle.USER_OWNER; final boolean isSecondaryUser = UserHandle.myUserId() != UserHandle.USER_OWNER;
final Activity activity = getActivity(); final Activity activity = getActivity();
mAirplaneModePreference = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE); mAirplaneModePreference = (SwitchPreference) findPreference(KEY_TOGGLE_AIRPLANE);
CheckBoxPreference nfc = (CheckBoxPreference) findPreference(KEY_TOGGLE_NFC); CheckBoxPreference nfc = (CheckBoxPreference) findPreference(KEY_TOGGLE_NFC);
PreferenceScreen androidBeam = (PreferenceScreen) findPreference(KEY_ANDROID_BEAM_SETTINGS); PreferenceScreen androidBeam = (PreferenceScreen) findPreference(KEY_ANDROID_BEAM_SETTINGS);
CheckBoxPreference nsd = (CheckBoxPreference) findPreference(KEY_TOGGLE_NSD); CheckBoxPreference nsd = (CheckBoxPreference) findPreference(KEY_TOGGLE_NSD);