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:
Chad Brubaker
2014-03-11 19:22:39 +00:00
committed by Android Git Automerger
4 changed files with 16 additions and 11 deletions

View File

@ -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() {

View File

@ -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} */

View File

@ -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);

View File

@ -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);