am decfd707
: Merge "Add the calling package name to requestRouteToHost" into klp-dev
* commit 'decfd7079b622f9135aeb8f7b2ec48005c844c38': Add the calling package name to requestRouteToHost
This commit is contained in:
@ -356,10 +356,11 @@ class ContextImpl extends Context {
|
||||
ctx.mMainThread.getHandler());
|
||||
}});
|
||||
|
||||
registerService(CONNECTIVITY_SERVICE, new StaticServiceFetcher() {
|
||||
public Object createStaticService() {
|
||||
registerService(CONNECTIVITY_SERVICE, new ServiceFetcher() {
|
||||
public Object createService(ContextImpl ctx) {
|
||||
IBinder b = ServiceManager.getService(CONNECTIVITY_SERVICE);
|
||||
return new ConnectivityManager(IConnectivityManager.Stub.asInterface(b));
|
||||
return new ConnectivityManager(IConnectivityManager.Stub.asInterface(b),
|
||||
ctx.getPackageName());
|
||||
}});
|
||||
|
||||
registerService(COUNTRY_DETECTOR, new StaticServiceFetcher() {
|
||||
|
@ -395,6 +395,8 @@ public class ConnectivityManager {
|
||||
|
||||
private final IConnectivityManager mService;
|
||||
|
||||
private final String mPackageName;
|
||||
|
||||
/**
|
||||
* Tests if a given integer represents a valid network type.
|
||||
* @param networkType the type to be tested
|
||||
@ -802,7 +804,7 @@ public class ConnectivityManager {
|
||||
public boolean requestRouteToHostAddress(int networkType, InetAddress hostAddress) {
|
||||
byte[] address = hostAddress.getAddress();
|
||||
try {
|
||||
return mService.requestRouteToHostAddress(networkType, address);
|
||||
return mService.requestRouteToHostAddress(networkType, address, mPackageName);
|
||||
} catch (RemoteException e) {
|
||||
return false;
|
||||
}
|
||||
@ -898,8 +900,9 @@ public class ConnectivityManager {
|
||||
/**
|
||||
* {@hide}
|
||||
*/
|
||||
public ConnectivityManager(IConnectivityManager service) {
|
||||
public ConnectivityManager(IConnectivityManager service, String packageName) {
|
||||
mService = checkNotNull(service, "missing IConnectivityManager");
|
||||
mPackageName = checkNotNull(packageName, "missing package name");
|
||||
}
|
||||
|
||||
/** {@hide} */
|
||||
|
@ -71,9 +71,9 @@ interface IConnectivityManager
|
||||
|
||||
int stopUsingNetworkFeature(int networkType, in String feature);
|
||||
|
||||
boolean requestRouteToHost(int networkType, int hostAddress);
|
||||
boolean requestRouteToHost(int networkType, int hostAddress, String packageName);
|
||||
|
||||
boolean requestRouteToHostAddress(int networkType, in byte[] hostAddress);
|
||||
boolean requestRouteToHostAddress(int networkType, in byte[] hostAddress, String packageName);
|
||||
|
||||
boolean getMobileDataEnabled();
|
||||
void setMobileDataEnabled(boolean enabled);
|
||||
|
@ -1537,14 +1537,14 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
||||
* desired
|
||||
* @return {@code true} on success, {@code false} on failure
|
||||
*/
|
||||
public boolean requestRouteToHost(int networkType, int hostAddress) {
|
||||
public boolean requestRouteToHost(int networkType, int hostAddress, String packageName) {
|
||||
InetAddress inetAddress = NetworkUtils.intToInetAddress(hostAddress);
|
||||
|
||||
if (inetAddress == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return requestRouteToHostAddress(networkType, inetAddress.getAddress());
|
||||
return requestRouteToHostAddress(networkType, inetAddress.getAddress(), packageName);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1556,7 +1556,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
||||
* desired
|
||||
* @return {@code true} on success, {@code false} on failure
|
||||
*/
|
||||
public boolean requestRouteToHostAddress(int networkType, byte[] hostAddress) {
|
||||
public boolean requestRouteToHostAddress(int networkType, byte[] hostAddress,
|
||||
String packageName) {
|
||||
enforceChangePermission();
|
||||
if (mProtectedNetworks.contains(networkType)) {
|
||||
enforceConnectivityInternalPermission();
|
||||
@ -4351,7 +4352,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
||||
|
||||
// Make a route to host so we check the specific interface.
|
||||
if (mCs.requestRouteToHostAddress(ConnectivityManager.TYPE_MOBILE_HIPRI,
|
||||
hostAddr.getAddress())) {
|
||||
hostAddr.getAddress(), null)) {
|
||||
// Wait a short time to be sure the route is established ??
|
||||
log("isMobileOk:"
|
||||
+ " wait to establish route to hostAddr=" + hostAddr);
|
||||
|
Reference in New Issue
Block a user