summaryrefslogtreecommitdiffstats
path: root/service/java/com/android/server/wifi/WifiServiceImpl.java
diff options
context:
space:
mode:
authorVinit Deshpande <vinitd@google.com>2015-09-28 20:57:27 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-09-28 20:57:27 +0000
commitb45816dc9458590766f7bc79b225e6a6184585bc (patch)
tree6390a1c2b8668aaf5b98999e31bb60ccb2fcca4b /service/java/com/android/server/wifi/WifiServiceImpl.java
parentd2c4a206cbda822a1c1f575fa29975565e4a8ea3 (diff)
parent98e43e5f48a4c87343fc311feda4fa5489948822 (diff)
downloadandroid_frameworks_opt_net_wifi-b45816dc9458590766f7bc79b225e6a6184585bc.tar.gz
android_frameworks_opt_net_wifi-b45816dc9458590766f7bc79b225e6a6184585bc.tar.bz2
android_frameworks_opt_net_wifi-b45816dc9458590766f7bc79b225e6a6184585bc.zip
am 98e43e5f: Don\'t reset country code on mobile signal loss
* commit '98e43e5f48a4c87343fc311feda4fa5489948822': Don't reset country code on mobile signal loss
Diffstat (limited to 'service/java/com/android/server/wifi/WifiServiceImpl.java')
-rw-r--r--service/java/com/android/server/wifi/WifiServiceImpl.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/WifiServiceImpl.java b/service/java/com/android/server/wifi/WifiServiceImpl.java
index 269000fea..2b83b6884 100644
--- a/service/java/com/android/server/wifi/WifiServiceImpl.java
+++ b/service/java/com/android/server/wifi/WifiServiceImpl.java
@@ -69,6 +69,7 @@ import android.util.Slog;
import com.android.internal.R;
import com.android.internal.app.IBatteryStats;
+import com.android.internal.telephony.IccCardConstants;
import com.android.internal.telephony.TelephonyIntents;
import com.android.internal.util.AsyncChannel;
import com.android.server.am.BatteryStatsService;
@@ -358,10 +359,27 @@ public final class WifiServiceImpl extends IWifiManager.Stub {
if (mSettingsStore.handleAirplaneModeToggled()) {
mWifiController.sendMessage(CMD_AIRPLANE_TOGGLED);
}
+ if (mSettingsStore.isAirplaneModeOn()) {
+ Log.d(TAG, "resetting country code because Airplane mode is ON");
+ mWifiStateMachine.resetCountryCode();
+ }
}
},
new IntentFilter(Intent.ACTION_AIRPLANE_MODE_CHANGED));
+ mContext.registerReceiver(
+ new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ String state = intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE);
+ if (state.equals(IccCardConstants.INTENT_VALUE_ICC_ABSENT)) {
+ Log.d(TAG, "resetting country code because SIM is removed");
+ mWifiStateMachine.resetCountryCode();
+ }
+ }
+ },
+ new IntentFilter(TelephonyIntents.ACTION_SIM_STATE_CHANGED));
+
// Adding optimizations of only receiving broadcasts when wifi is enabled
// can result in race conditions when apps toggle wifi in the background
// without active user involvement. Always receive broadcasts.