Add support for tethering errors.
This commit is contained in:
@@ -1360,6 +1360,8 @@
|
|||||||
<string name="usb_tethering_storage_active_subtext">Tethering disabled (USB storage is in use)</string>
|
<string name="usb_tethering_storage_active_subtext">Tethering disabled (USB storage is in use)</string>
|
||||||
<!-- USB unavailable subtext - shown when USB is not connected -->
|
<!-- USB unavailable subtext - shown when USB is not connected -->
|
||||||
<string name="usb_tethering_unavailable_subtext">USB not connected</string>
|
<string name="usb_tethering_unavailable_subtext">USB not connected</string>
|
||||||
|
<!-- USB errored subtext - shown when USB is broken for some reason -->
|
||||||
|
<string name="usb_tethering_errored_subtext">USB tethering has had a problem.</string>
|
||||||
|
|
||||||
<!-- Wireless controls, item title to go into the network settings -->
|
<!-- Wireless controls, item title to go into the network settings -->
|
||||||
<string name="network_settings_title">Mobile networks</string>
|
<string name="network_settings_title">Mobile networks</string>
|
||||||
|
@@ -78,8 +78,10 @@ public class TetherSettings extends PreferenceActivity {
|
|||||||
ConnectivityManager.EXTRA_AVAILABLE_TETHER);
|
ConnectivityManager.EXTRA_AVAILABLE_TETHER);
|
||||||
ArrayList<String> active = intent.getStringArrayListExtra(
|
ArrayList<String> active = intent.getStringArrayListExtra(
|
||||||
ConnectivityManager.EXTRA_ACTIVE_TETHER);
|
ConnectivityManager.EXTRA_ACTIVE_TETHER);
|
||||||
|
ArrayList<String> errored = intent.getStringArrayListExtra(
|
||||||
|
ConnectivityManager.EXTRA_ERRORED_TETHER);
|
||||||
|
|
||||||
updateState(available, active);
|
updateState(available, active, errored);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,13 +107,16 @@ public class TetherSettings extends PreferenceActivity {
|
|||||||
mTetherChangeReceiver = null;
|
mTetherChangeReceiver = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateState(ArrayList<String> available, ArrayList<String> tethered) {
|
private void updateState(ArrayList<String> available, ArrayList<String> tethered,
|
||||||
|
ArrayList<String> errored) {
|
||||||
boolean usbTethered = false;
|
boolean usbTethered = false;
|
||||||
boolean usbAvailable = false;
|
boolean usbAvailable = false;
|
||||||
|
boolean usbErrored = false;
|
||||||
boolean wifiTethered = false;
|
boolean wifiTethered = false;
|
||||||
boolean wifiAvailable = false;
|
boolean wifiAvailable = false;
|
||||||
boolean massStorageActive =
|
boolean massStorageActive =
|
||||||
Environment.MEDIA_SHARED.equals(Environment.getExternalStorageState());
|
Environment.MEDIA_SHARED.equals(Environment.getExternalStorageState());
|
||||||
|
boolean wifiErrored = false;
|
||||||
|
|
||||||
for (String s : available) {
|
for (String s : available) {
|
||||||
for (String regex : mUsbRegexs) {
|
for (String regex : mUsbRegexs) {
|
||||||
@@ -129,6 +134,14 @@ public class TetherSettings extends PreferenceActivity {
|
|||||||
if (s.matches(regex)) wifiTethered = true;
|
if (s.matches(regex)) wifiTethered = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for (String s: errored) {
|
||||||
|
for (String regex : mUsbRegexs) {
|
||||||
|
if (s.matches(regex)) usbErrored = true;
|
||||||
|
}
|
||||||
|
for (String regex : mWifiRegexs) {
|
||||||
|
if (s.matches(regex)) wifiErrored = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (usbTethered) {
|
if (usbTethered) {
|
||||||
mUsbTether.setSummary(R.string.usb_tethering_active_subtext);
|
mUsbTether.setSummary(R.string.usb_tethering_active_subtext);
|
||||||
@@ -139,6 +152,9 @@ public class TetherSettings extends PreferenceActivity {
|
|||||||
} else if (usbAvailable) {
|
} else if (usbAvailable) {
|
||||||
mUsbTether.setSummary(R.string.usb_tethering_available_subtext);
|
mUsbTether.setSummary(R.string.usb_tethering_available_subtext);
|
||||||
mUsbTether.setEnabled(true);
|
mUsbTether.setEnabled(true);
|
||||||
|
} else if (usbErrored) {
|
||||||
|
mUsbTether.setSummary(R.string.usb_tethering_errored_subtext);
|
||||||
|
mUsbTether.setEnabled(false);
|
||||||
} else {
|
} else {
|
||||||
mUsbTether.setSummary(R.string.usb_tethering_unavailable_subtext);
|
mUsbTether.setSummary(R.string.usb_tethering_unavailable_subtext);
|
||||||
mUsbTether.setEnabled(false);
|
mUsbTether.setEnabled(false);
|
||||||
|
Reference in New Issue
Block a user