am 7e23bae6: am d7fb46de: Merge "Need to disable 5GHz bands for WiFi tethering in Japan" into mnc-dev

* commit '7e23bae6c6d8697c1f53ed4a3b8b467d3142fd76':
  Need to disable 5GHz bands for WiFi tethering in Japan
This commit is contained in:
xinhe
2015-07-14 23:26:08 +00:00
committed by Android Git Automerger
2 changed files with 17 additions and 4 deletions

View File

@@ -1380,6 +1380,8 @@
<string name="wifi_stopping">Turning off Wi\u2011Fi\u2026</string> <string name="wifi_stopping">Turning off Wi\u2011Fi\u2026</string>
<!-- Summary text when Wi-Fi or bluetooth has error --> <!-- Summary text when Wi-Fi or bluetooth has error -->
<string name="wifi_error">Error</string> <string name="wifi_error">Error</string>
<!-- Summary text when wifi SoftAP started failed due to no legal usable channel allowed in this region by regulatory -->
<string name="wifi_sap_no_channel_error">5 GHz band not available in this country</string>
<!-- Toast message when Wi-Fi or bluetooth is disallowed in airplane mode --> <!-- Toast message when Wi-Fi or bluetooth is disallowed in airplane mode -->
<string name="wifi_in_airplane_mode">In Airplane mode</string> <string name="wifi_in_airplane_mode">In Airplane mode</string>
<!-- Checkbox title for option to notify user when open networks are nearby --> <!-- Checkbox title for option to notify user when open networks are nearby -->

View File

@@ -47,8 +47,15 @@ public class WifiApEnabler {
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
String action = intent.getAction(); String action = intent.getAction();
if (WifiManager.WIFI_AP_STATE_CHANGED_ACTION.equals(action)) { if (WifiManager.WIFI_AP_STATE_CHANGED_ACTION.equals(action)) {
handleWifiApStateChanged(intent.getIntExtra( int state = intent.getIntExtra(
WifiManager.EXTRA_WIFI_AP_STATE, WifiManager.WIFI_AP_STATE_FAILED)); WifiManager.EXTRA_WIFI_AP_STATE, WifiManager.WIFI_AP_STATE_FAILED);
if (state == WifiManager.WIFI_AP_STATE_FAILED) {
int reason = intent.getIntExtra(WifiManager.EXTRA_WIFI_AP_FAILURE_REASON,
WifiManager.SAP_START_FAILURE_GENERAL);
handleWifiApStateChanged(state, reason);
} else {
handleWifiApStateChanged(state, WifiManager.SAP_START_FAILURE_GENERAL);
}
} else if (ConnectivityManager.ACTION_TETHER_STATE_CHANGED.equals(action)) { } else if (ConnectivityManager.ACTION_TETHER_STATE_CHANGED.equals(action)) {
ArrayList<String> available = intent.getStringArrayListExtra( ArrayList<String> available = intent.getStringArrayListExtra(
ConnectivityManager.EXTRA_AVAILABLE_TETHER); ConnectivityManager.EXTRA_AVAILABLE_TETHER);
@@ -142,7 +149,7 @@ public class WifiApEnabler {
} }
} }
private void handleWifiApStateChanged(int state) { private void handleWifiApStateChanged(int state, int reason) {
switch (state) { switch (state) {
case WifiManager.WIFI_AP_STATE_ENABLING: case WifiManager.WIFI_AP_STATE_ENABLING:
mSwitch.setSummary(R.string.wifi_tether_starting); mSwitch.setSummary(R.string.wifi_tether_starting);
@@ -169,7 +176,11 @@ public class WifiApEnabler {
break; break;
default: default:
mSwitch.setChecked(false); mSwitch.setChecked(false);
mSwitch.setSummary(R.string.wifi_error); if (reason == WifiManager.SAP_START_FAILURE_NO_CHANNEL) {
mSwitch.setSummary(R.string.wifi_sap_no_channel_error);
} else {
mSwitch.setSummary(R.string.wifi_error);
}
enableWifiSwitch(); enableWifiSwitch();
} }
} }