Loading core/java/android/app/ContextImpl.java +4 −3 Original line number Diff line number Diff line Loading @@ -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() { Loading core/java/android/net/ConnectivityManager.java +5 −2 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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; } Loading Loading @@ -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} */ Loading core/java/android/net/IConnectivityManager.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -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); Loading services/java/com/android/server/ConnectivityService.java +5 −4 Original line number Diff line number Diff line Loading @@ -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); } /** Loading @@ -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(); Loading Loading @@ -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); Loading Loading
core/java/android/app/ContextImpl.java +4 −3 Original line number Diff line number Diff line Loading @@ -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() { Loading
core/java/android/net/ConnectivityManager.java +5 −2 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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; } Loading Loading @@ -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} */ Loading
core/java/android/net/IConnectivityManager.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -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); Loading
services/java/com/android/server/ConnectivityService.java +5 −4 Original line number Diff line number Diff line Loading @@ -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); } /** Loading @@ -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(); Loading Loading @@ -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); Loading