Add BT - DataTracker connection
Allows the external BT stack the means to communicate with ConnectivityService during reverse tethering. bug:8445208 Change-Id: Ice7dfb0b50c9481d359aed14a51372878185171c
This commit is contained in:
@@ -23,6 +23,7 @@ import android.annotation.SdkConstant.SdkConstantType;
|
||||
import android.content.Context;
|
||||
import android.os.Binder;
|
||||
import android.os.Build.VERSION_CODES;
|
||||
import android.os.Messenger;
|
||||
import android.os.RemoteException;
|
||||
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) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import android.net.NetworkQuotaInfo;
|
||||
import android.net.NetworkState;
|
||||
import android.net.ProxyProperties;
|
||||
import android.os.IBinder;
|
||||
import android.os.Messenger;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
|
||||
import com.android.internal.net.LegacyVpnInfo;
|
||||
@@ -126,4 +127,6 @@ interface IConnectivityManager
|
||||
boolean updateLockdownVpn();
|
||||
|
||||
void captivePortalCheckComplete(in NetworkInfo info);
|
||||
|
||||
void supplyMessenger(int networkType, in Messenger messenger);
|
||||
}
|
||||
|
||||
@@ -74,6 +74,7 @@ import android.os.IBinder;
|
||||
import android.os.INetworkManagementService;
|
||||
import android.os.Looper;
|
||||
import android.os.Message;
|
||||
import android.os.Messenger;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
import android.os.PowerManager;
|
||||
import android.os.Process;
|
||||
@@ -3220,7 +3221,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
||||
throwIfLockdownEnabled();
|
||||
try {
|
||||
int type = mActiveDefaultNetwork;
|
||||
if (ConnectivityManager.isNetworkTypeValid(type)) {
|
||||
if (ConnectivityManager.isNetworkTypeValid(type) && mNetTrackers[type] != null) {
|
||||
mVpn.protect(socket, mNetTrackers[type].getLinkProperties().getInterfaceName());
|
||||
return true;
|
||||
}
|
||||
@@ -3425,4 +3426,12 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user