settings variable for wifi saved state

We add a variable for saving wifi state
to restore after tethering.

Bring up wifi on boot up if the state indicates so.

Bug: 2537983
Change-Id: I9c6548b93df6fcbc0cec1e6b857f7224dc6d1b2c
This commit is contained in:
Irfan Sheriff
2010-03-24 17:58:59 -07:00
parent bfb7bfa538
commit a3bd409a0a
2 changed files with 20 additions and 4 deletions

View File

@@ -2508,11 +2508,13 @@ public final class Settings {
public static final String WIFI_ON = "wifi_on";
/**
* Whether the Wi-Fi AP should be on.
* Used to save the Wifi_ON state prior to tethering.
* This state will be checked to restore Wifi after
* the user turns off tethering.
*
* @hide
*/
public static final String WIFI_AP_ON = "wifi_ap_on";
public static final String WIFI_SAVED_STATE = "wifi_saved_state";
/**
* AP SSID

View File

@@ -264,10 +264,11 @@ public class WifiService extends IWifiManager.Stub {
* if needed
*/
public void startWifi() {
boolean wifiEnabled = getPersistedWifiEnabled();
/* Start if Wi-Fi is enabled or the saved state indicates Wi-Fi was on */
boolean wifiEnabled = getPersistedWifiEnabled() || testAndClearWifiSavedState();
Slog.i(TAG, "WifiService starting up with Wi-Fi " +
(wifiEnabled ? "enabled" : "disabled"));
setWifiEnabledBlocking(wifiEnabled, false, Process.myUid());
setWifiEnabledBlocking(wifiEnabled, true, Process.myUid());
}
private void updateTetherState(ArrayList<String> available, ArrayList<String> tethered) {
@@ -316,6 +317,19 @@ public class WifiService extends IWifiManager.Stub {
}
}
private boolean testAndClearWifiSavedState() {
final ContentResolver cr = mContext.getContentResolver();
int wifiSavedState = 0;
try {
wifiSavedState = Settings.Secure.getInt(cr, Settings.Secure.WIFI_SAVED_STATE);
if(wifiSavedState == 1)
Settings.Secure.putInt(cr, Settings.Secure.WIFI_SAVED_STATE, 0);
} catch (Settings.SettingNotFoundException e) {
;
}
return (wifiSavedState == 1);
}
private boolean getPersistedWifiEnabled() {
final ContentResolver cr = mContext.getContentResolver();
try {