diff --git a/res/values/strings.xml b/res/values/strings.xml index 67196e9f447..aa218c3f418 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1356,6 +1356,8 @@ USB connected, select to tether Connected, select to disconnect + + Tethering disabled (USB storage is in use) USB not connected diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java index 1e9c4e292ea..b9e266a8aa9 100644 --- a/src/com/android/settings/TetherSettings.java +++ b/src/com/android/settings/TetherSettings.java @@ -23,6 +23,7 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.ConnectivityManager; +import android.os.Environment; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; @@ -89,6 +90,8 @@ public class TetherSettings extends PreferenceActivity { Settings.Secure.TETHER_NOTIFY, 0) != 0); IntentFilter filter = new IntentFilter(ConnectivityManager.ACTION_TETHER_STATE_CHANGED); + filter.addAction(Intent.ACTION_MEDIA_SHARED); + filter.addAction(Intent.ACTION_MEDIA_UNSHARED); mTetherChangeReceiver = new TetherChangeReceiver(); Intent intent = registerReceiver(mTetherChangeReceiver, filter); @@ -107,6 +110,8 @@ public class TetherSettings extends PreferenceActivity { boolean usbAvailable = false; boolean wifiTethered = false; boolean wifiAvailable = false; + boolean massStorageActive = + Environment.MEDIA_SHARED.equals(Environment.getExternalStorageState()); for (String s : available) { for (String regex : mUsbRegexs) { @@ -128,6 +133,9 @@ public class TetherSettings extends PreferenceActivity { if (usbTethered) { mUsbTether.setSummary(R.string.usb_tethering_active_subtext); mUsbTether.setEnabled(true); + } else if (massStorageActive) { + mUsbTether.setSummary(R.string.usb_tethering_storage_active_subtext); + mUsbTether.setEnabled(false); } else if (usbAvailable) { mUsbTether.setSummary(R.string.usb_tethering_available_subtext); mUsbTether.setEnabled(true);