Make CS.isTetheringSupported dynamic

It used to be set at boot, but that was too quick to pick up carrier
specific resources.  With this change even if you switch sims subequent
checks get the new values.

bug:9865616
Change-Id: I8c270c6b02fc6bdd3c3d76ceea58172df25e058d
This commit is contained in:
Robert Greenwalt
2013-07-18 14:24:42 -07:00
parent 1497d4854d
commit 368095f658

View File

@@ -175,7 +175,6 @@ public class ConnectivityService extends IConnectivityManager.Stub {
private static final int MAX_HOSTROUTE_CYCLE_COUNT = 10; private static final int MAX_HOSTROUTE_CYCLE_COUNT = 10;
private Tethering mTethering; private Tethering mTethering;
private boolean mTetheringConfigValid = false;
private KeyStore mKeyStore; private KeyStore mKeyStore;
@@ -589,10 +588,6 @@ public class ConnectivityService extends IConnectivityManager.Stub {
} }
mTethering = new Tethering(mContext, mNetd, statsService, this, mHandler.getLooper()); mTethering = new Tethering(mContext, mNetd, statsService, this, mHandler.getLooper());
mTetheringConfigValid = ((mTethering.getTetherableUsbRegexs().length != 0 ||
mTethering.getTetherableWifiRegexs().length != 0 ||
mTethering.getTetherableBluetoothRegexs().length != 0) &&
mTethering.getUpstreamIfaceTypes().length != 0);
mVpn = new Vpn(mContext, mVpnCallback, mNetd, this); mVpn = new Vpn(mContext, mVpnCallback, mNetd, this);
mVpn.startMonitoring(mContext, mTrackerHandler); mVpn.startMonitoring(mContext, mTrackerHandler);
@@ -3002,7 +2997,10 @@ public class ConnectivityService extends IConnectivityManager.Stub {
int defaultVal = (SystemProperties.get("ro.tether.denied").equals("true") ? 0 : 1); int defaultVal = (SystemProperties.get("ro.tether.denied").equals("true") ? 0 : 1);
boolean tetherEnabledInSettings = (Settings.Global.getInt(mContext.getContentResolver(), boolean tetherEnabledInSettings = (Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.TETHER_SUPPORTED, defaultVal) != 0); Settings.Global.TETHER_SUPPORTED, defaultVal) != 0);
return tetherEnabledInSettings && mTetheringConfigValid; return tetherEnabledInSettings && ((mTethering.getTetherableUsbRegexs().length != 0 ||
mTethering.getTetherableWifiRegexs().length != 0 ||
mTethering.getTetherableBluetoothRegexs().length != 0) &&
mTethering.getUpstreamIfaceTypes().length != 0);
} }
// An API NetworkStateTrackers can call when they lose their network. // An API NetworkStateTrackers can call when they lose their network.