diff options
| -rw-r--r-- | services/core/java/com/android/server/ConnectivityService.java | 5 | ||||
| -rw-r--r-- | services/core/java/com/android/server/connectivity/Tethering.java | 24 |
2 files changed, 13 insertions, 16 deletions
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index b3627adcf67b..5549ced4a351 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -3130,10 +3130,7 @@ public class ConnectivityService extends IConnectivityManager.Stub Settings.Global.TETHER_SUPPORTED, defaultVal) != 0) && !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_TETHERING); return tetherEnabledInSettings && mUserManager.isAdminUser() && - ((mTethering.getTetherableUsbRegexs().length != 0 || - mTethering.getTetherableWifiRegexs().length != 0 || - mTethering.getTetherableBluetoothRegexs().length != 0) && - mTethering.getUpstreamIfaceTypes().length != 0); + mTethering.hasTetherableConfiguration(); } @Override diff --git a/services/core/java/com/android/server/connectivity/Tethering.java b/services/core/java/com/android/server/connectivity/Tethering.java index 611b7a83a163..b82dd60d6b0f 100644 --- a/services/core/java/com/android/server/connectivity/Tethering.java +++ b/services/core/java/com/android/server/connectivity/Tethering.java @@ -205,7 +205,7 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering return (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); } - void updateConfiguration() { + private void updateConfiguration() { mConfig = new TetheringConfiguration(mContext); } @@ -817,6 +817,17 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering return mConfig; } + public boolean hasTetherableConfiguration() { + final TetheringConfiguration cfg = mConfig; + final boolean hasDownstreamConfiguration = + (cfg.tetherableUsbRegexs.length != 0) || + (cfg.tetherableWifiRegexs.length != 0) || + (cfg.tetherableBluetoothRegexs.length != 0); + final boolean hasUpstreamConfiguration = !cfg.preferredUpstreamIfaceTypes.isEmpty(); + + return hasDownstreamConfiguration && hasUpstreamConfiguration; + } + // TODO - update callers to use getTetheringConfiguration(), // which has only final members. public String[] getTetherableUsbRegexs() { @@ -864,17 +875,6 @@ public class Tethering extends BaseNetworkObserver implements IControlsTethering return ConnectivityManager.TETHER_ERROR_NO_ERROR; } - public int[] getUpstreamIfaceTypes() { - updateConfiguration(); // TODO - remove? - final Collection<Integer> upstreams = mConfig.preferredUpstreamIfaceTypes; - final int[] values = new int[upstreams.size()]; - int i = 0; - for (Integer u : upstreams) { - values[i++] = u.intValue(); - } - return values; - } - // TODO review API - maybe return ArrayList<String> here and below? public String[] getTetheredIfaces() { ArrayList<String> list = new ArrayList<String>(); |