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:
@@ -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"
|
||||||
|
@@ -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));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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);
|
||||||
|
Reference in New Issue
Block a user