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:key="@string/radio_controls_title">
<CheckBoxPreference
<SwitchPreference
android:key="toggle_airplane"
android:title="@string/airplane_mode"
android:persistent="false"

View File

@@ -25,6 +25,7 @@ import android.os.SystemProperties;
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 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
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 class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
}
};
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 class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
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 class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
public void pause() {
mPhoneStateReceiver.unregisterIntent();
mCheckBoxPref.setOnPreferenceChangeListener(null);
mSwitchPref.setOnPreferenceChangeListener(null);
mContext.getContentResolver().unregisterContentObserver(mAirplaneModeObserver);
}
@@ -96,7 +97,7 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
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 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
* - mobile does not send failure notification, fail on timeout.
*/
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.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 class WirelessSettings extends SettingsPreferenceFragment
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 @@ public class WirelessSettings extends SettingsPreferenceFragment
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);