am ddf17b5b: am 8c87b297: Merge "Make CS.isTetheringSupported dynamic" into jb-mr2-dev

* commit 'ddf17b5b82f25965502377588483abbc328c4e6d':
  Make CS.isTetheringSupported dynamic
This commit is contained in:
Robert Greenwalt
2013-07-19 13:37:58 -07:00
committed by Android Git Automerger
2 changed files with 9 additions and 8 deletions

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.

View File

@ -157,6 +157,7 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
IntentFilter filter = new IntentFilter(); IntentFilter filter = new IntentFilter();
filter.addAction(UsbManager.ACTION_USB_STATE); filter.addAction(UsbManager.ACTION_USB_STATE);
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
filter.addAction(Intent.ACTION_CONFIGURATION_CHANGED);
mContext.registerReceiver(mStateReceiver, filter); mContext.registerReceiver(mStateReceiver, filter);
filter = new IntentFilter(); filter = new IntentFilter();
@ -516,6 +517,8 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
if (VDBG) Log.d(TAG, "Tethering got CONNECTIVITY_ACTION"); if (VDBG) Log.d(TAG, "Tethering got CONNECTIVITY_ACTION");
mTetherMasterSM.sendMessage(TetherMasterSM.CMD_UPSTREAM_CHANGED); mTetherMasterSM.sendMessage(TetherMasterSM.CMD_UPSTREAM_CHANGED);
} }
} else if (action.equals(Intent.ACTION_CONFIGURATION_CHANGED)) {
updateConfiguration();
} }
} }
} }
@ -618,7 +621,7 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
public int[] getUpstreamIfaceTypes() { public int[] getUpstreamIfaceTypes() {
int values[]; int values[];
synchronized (mPublicSync) { synchronized (mPublicSync) {
updateConfiguration(); updateConfiguration(); // TODO - remove?
values = new int[mUpstreamIfaceTypes.size()]; values = new int[mUpstreamIfaceTypes.size()];
Iterator<Integer> iterator = mUpstreamIfaceTypes.iterator(); Iterator<Integer> iterator = mUpstreamIfaceTypes.iterator();
for (int i=0; i < mUpstreamIfaceTypes.size(); i++) { for (int i=0; i < mUpstreamIfaceTypes.size(); i++) {
@ -1289,7 +1292,7 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
int upType = ConnectivityManager.TYPE_NONE; int upType = ConnectivityManager.TYPE_NONE;
String iface = null; String iface = null;
updateConfiguration(); updateConfiguration(); // TODO - remove?
synchronized (mPublicSync) { synchronized (mPublicSync) {
if (VDBG) { if (VDBG) {