Update Settings app to use new namespace for airplane-mode settings

Bug 7132230

Change-Id: I0253637e6d464afc229cf11ffe69852bf44fe261
This commit is contained in:
Christopher Tate
2012-09-10 15:39:05 -07:00
parent 955f3477a9
commit 6a5929b086
4 changed files with 19 additions and 17 deletions

View File

@@ -22,6 +22,7 @@ import android.database.ContentObserver;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.os.SystemProperties; import android.os.SystemProperties;
import android.os.UserHandle;
import android.preference.CheckBoxPreference; import android.preference.CheckBoxPreference;
import android.preference.Preference; import android.preference.Preference;
import android.provider.Settings; import android.provider.Settings;
@@ -75,7 +76,7 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
mPhoneStateReceiver.registerIntent(); mPhoneStateReceiver.registerIntent();
mCheckBoxPref.setOnPreferenceChangeListener(this); mCheckBoxPref.setOnPreferenceChangeListener(this);
mContext.getContentResolver().registerContentObserver( mContext.getContentResolver().registerContentObserver(
Settings.System.getUriFor(Settings.System.AIRPLANE_MODE_ON), true, Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON), true,
mAirplaneModeObserver); mAirplaneModeObserver);
} }
@@ -86,13 +87,13 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
} }
public static boolean isAirplaneModeOn(Context context) { public static boolean isAirplaneModeOn(Context context) {
return Settings.System.getInt(context.getContentResolver(), return Settings.Global.getInt(context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0) != 0; Settings.Global.AIRPLANE_MODE_ON, 0) != 0;
} }
private void setAirplaneModeOn(boolean enabling) { private void setAirplaneModeOn(boolean enabling) {
// Change the system setting // Change the system setting
Settings.System.putInt(mContext.getContentResolver(), Settings.System.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); mCheckBoxPref.setChecked(enabling);
@@ -100,7 +101,7 @@ public class AirplaneModeEnabler implements Preference.OnPreferenceChangeListene
// Post the intent // Post the intent
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", enabling); intent.putExtra("state", enabling);
mContext.sendBroadcast(intent); mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
} }
/** /**

View File

@@ -32,6 +32,7 @@ import android.os.PowerManager;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.ServiceManager; import android.os.ServiceManager;
import android.os.SystemProperties; import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.storage.IMountService; import android.os.storage.IMountService;
import android.provider.Settings; import android.provider.Settings;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
@@ -641,10 +642,10 @@ public class CryptKeeper extends Activity implements TextView.OnEditorActionList
TelephonyManager.getDefault().getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE; TelephonyManager.getDefault().getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE;
if (!isLteDevice) { if (!isLteDevice) {
Log.d(TAG, "Going into airplane mode."); Log.d(TAG, "Going into airplane mode.");
Settings.System.putInt(getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 1); Settings.Global.putInt(getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 1);
final Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); final Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", true); intent.putExtra("state", true);
sendBroadcast(intent); sendBroadcastAsUser(intent, UserHandle.ALL);
} }
} }

View File

@@ -85,8 +85,8 @@ public class WirelessSettings extends SettingsPreferenceFragment {
return true; return true;
} }
// Here we use the same logic in onCreate(). // Here we use the same logic in onCreate().
String toggleable = Settings.System.getString(context.getContentResolver(), String toggleable = Settings.Global.getString(context.getContentResolver(),
Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS); Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
return toggleable != null && toggleable.contains(type); return toggleable != null && toggleable.contains(type);
} }
@@ -109,8 +109,8 @@ public class WirelessSettings extends SettingsPreferenceFragment {
getPreferenceScreen().removePreference(nsd); getPreferenceScreen().removePreference(nsd);
//mNsdEnabler = new NsdEnabler(activity, nsd); //mNsdEnabler = new NsdEnabler(activity, nsd);
String toggleable = Settings.System.getString(activity.getContentResolver(), String toggleable = Settings.Global.getString(activity.getContentResolver(),
Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS); Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
//enable/disable wimax depending on the value in config.xml //enable/disable wimax depending on the value in config.xml
boolean isWimaxEnabled = this.getResources().getBoolean( boolean isWimaxEnabled = this.getResources().getBoolean(
@@ -120,24 +120,24 @@ public class WirelessSettings extends SettingsPreferenceFragment {
Preference ps = (Preference) findPreference(KEY_WIMAX_SETTINGS); Preference ps = (Preference) findPreference(KEY_WIMAX_SETTINGS);
if (ps != null) root.removePreference(ps); if (ps != null) root.removePreference(ps);
} else { } else {
if (toggleable == null || !toggleable.contains(Settings.System.RADIO_WIMAX ) if (toggleable == null || !toggleable.contains(Settings.Global.RADIO_WIMAX )
&& isWimaxEnabled) { && isWimaxEnabled) {
Preference ps = (Preference) findPreference(KEY_WIMAX_SETTINGS); Preference ps = (Preference) findPreference(KEY_WIMAX_SETTINGS);
ps.setDependency(KEY_TOGGLE_AIRPLANE); ps.setDependency(KEY_TOGGLE_AIRPLANE);
} }
} }
// Manually set dependencies for Wifi when not toggleable. // Manually set dependencies for Wifi when not toggleable.
if (toggleable == null || !toggleable.contains(Settings.System.RADIO_WIFI)) { if (toggleable == null || !toggleable.contains(Settings.Global.RADIO_WIFI)) {
findPreference(KEY_VPN_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE); findPreference(KEY_VPN_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE);
} }
// Manually set dependencies for Bluetooth when not toggleable. // Manually set dependencies for Bluetooth when not toggleable.
if (toggleable == null || !toggleable.contains(Settings.System.RADIO_BLUETOOTH)) { if (toggleable == null || !toggleable.contains(Settings.Global.RADIO_BLUETOOTH)) {
// No bluetooth-dependent items in the list. Code kept in case one is added later. // No bluetooth-dependent items in the list. Code kept in case one is added later.
} }
// Manually set dependencies for NFC when not toggleable. // Manually set dependencies for NFC when not toggleable.
if (toggleable == null || !toggleable.contains(Settings.System.RADIO_NFC)) { if (toggleable == null || !toggleable.contains(Settings.Global.RADIO_NFC)) {
findPreference(KEY_TOGGLE_NFC).setDependency(KEY_TOGGLE_AIRPLANE); findPreference(KEY_TOGGLE_NFC).setDependency(KEY_TOGGLE_AIRPLANE);
findPreference(KEY_ANDROID_BEAM_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE); findPreference(KEY_ANDROID_BEAM_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE);
} }

View File

@@ -98,8 +98,8 @@ public class WifiApEnabler {
} }
private void enableWifiCheckBox() { private void enableWifiCheckBox() {
boolean isAirplaneMode = Settings.System.getInt(mContext.getContentResolver(), boolean isAirplaneMode = Settings.Global.getInt(mContext.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, 0) != 0; Settings.Global.AIRPLANE_MODE_ON, 0) != 0;
if(!isAirplaneMode) { if(!isAirplaneMode) {
mCheckBox.setEnabled(true); mCheckBox.setEnabled(true);
} else { } else {