Merge "Add BT - DataTracker connection" into jb-mr2-dev

This commit is contained in:
Robert Greenwalt
2013-03-28 16:45:33 +00:00
committed by Android (Google) Code Review
3 changed files with 27 additions and 1 deletions

View File

@@ -23,6 +23,7 @@ import android.annotation.SdkConstant.SdkConstantType;
import android.content.Context; import android.content.Context;
import android.os.Binder; import android.os.Binder;
import android.os.Build.VERSION_CODES; import android.os.Build.VERSION_CODES;
import android.os.Messenger;
import android.os.RemoteException; import android.os.RemoteException;
import android.provider.Settings; import android.provider.Settings;
@@ -1280,4 +1281,17 @@ public class ConnectivityManager {
} }
} }
/**
* Supply the backend messenger for a network tracker
*
* @param type NetworkType to set
* @param messenger {@link Messenger}
* {@hide}
*/
public void supplyMessenger(int networkType, Messenger messenger) {
try {
mService.supplyMessenger(networkType, messenger);
} catch (RemoteException e) {
}
}
} }

View File

@@ -22,6 +22,7 @@ import android.net.NetworkQuotaInfo;
import android.net.NetworkState; import android.net.NetworkState;
import android.net.ProxyProperties; import android.net.ProxyProperties;
import android.os.IBinder; import android.os.IBinder;
import android.os.Messenger;
import android.os.ParcelFileDescriptor; import android.os.ParcelFileDescriptor;
import com.android.internal.net.LegacyVpnInfo; import com.android.internal.net.LegacyVpnInfo;
@@ -126,4 +127,6 @@ interface IConnectivityManager
boolean updateLockdownVpn(); boolean updateLockdownVpn();
void captivePortalCheckComplete(in NetworkInfo info); void captivePortalCheckComplete(in NetworkInfo info);
void supplyMessenger(int networkType, in Messenger messenger);
} }

View File

@@ -74,6 +74,7 @@ import android.os.IBinder;
import android.os.INetworkManagementService; import android.os.INetworkManagementService;
import android.os.Looper; import android.os.Looper;
import android.os.Message; import android.os.Message;
import android.os.Messenger;
import android.os.ParcelFileDescriptor; import android.os.ParcelFileDescriptor;
import android.os.PowerManager; import android.os.PowerManager;
import android.os.Process; import android.os.Process;
@@ -3220,7 +3221,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
throwIfLockdownEnabled(); throwIfLockdownEnabled();
try { try {
int type = mActiveDefaultNetwork; int type = mActiveDefaultNetwork;
if (ConnectivityManager.isNetworkTypeValid(type)) { if (ConnectivityManager.isNetworkTypeValid(type) && mNetTrackers[type] != null) {
mVpn.protect(socket, mNetTrackers[type].getLinkProperties().getInterfaceName()); mVpn.protect(socket, mNetTrackers[type].getLinkProperties().getInterfaceName());
return true; return true;
} }
@@ -3425,4 +3426,12 @@ public class ConnectivityService extends IConnectivityManager.Stub {
throw new IllegalStateException("Unavailable in lockdown mode"); throw new IllegalStateException("Unavailable in lockdown mode");
} }
} }
public void supplyMessenger(int networkType, Messenger messenger) {
enforceConnectivityInternalPermission();
if (isNetworkTypeValid(networkType) && mNetTrackers[networkType] != null) {
mNetTrackers[networkType].supplyMessenger(messenger);
}
}
} }