Loading Android.bp +5 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,9 @@ java_defaults { "androidx.annotation_annotation", "networkstack-client", ], static_libs : [ "modules-utils-build_system" ], apex_available: [ "com.android.tethering", "//apex_available:platform", // For InProcessNetworkStack and InProcessTethering Loading Loading @@ -235,9 +238,11 @@ android_library { static_libs: ["NetworkStackApiStableShims"], manifest: "AndroidManifestBase.xml", visibility: [ "//frameworks/base/packages/Connectivity/tests/integration", "//frameworks/base/tests/net/integration", "//packages/modules/Connectivity/Tethering/tests/integration", "//packages/modules/Connectivity/tests/cts/net", "//packages/modules/Connectivity/tests/integration", "//packages/modules/NetworkStack/tests/unit", "//packages/modules/NetworkStack/tests/integration", ], Loading AndroidManifest.xml +2 −2 Original line number Diff line number Diff line Loading @@ -19,8 +19,8 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.networkstack" android:sharedUserId="android.uid.networkstack" android:versionCode="302100000" android:versionName="aml_net_302100000" android:versionCode="302100100" android:versionName="aml_net_302100100" > <!-- Permissions must be defined here, and not in the base manifest, as the network stack running in the system server process does not need any permission, and having privileged Loading OWNERS +2 −0 Original line number Diff line number Diff line Loading @@ -2,5 +2,7 @@ codewiz@google.com jchalard@google.com junyulai@google.com lorenzo@google.com maze@google.com reminv@google.com satk@google.com xiaom@google.com apishim/30/com/android/networkstack/apishim/api30/ConnectivityManagerShimImpl.java +21 −3 Original line number Diff line number Diff line Loading @@ -17,12 +17,15 @@ package com.android.networkstack.apishim.api30; import android.content.Context; import android.net.ConnectivityManager; import android.net.ConnectivityManager.NetworkCallback; import android.net.NetworkCapabilities; import android.net.NetworkRequest; import android.os.Build; import android.os.Handler; import androidx.annotation.NonNull; import androidx.annotation.RequiresApi; import com.android.networkstack.apishim.common.ConnectivityManagerShim; import com.android.networkstack.apishim.common.ShimUtils; Loading @@ -33,8 +36,10 @@ import com.android.networkstack.apishim.common.UnsupportedApiLevelException; */ public class ConnectivityManagerShimImpl extends com.android.networkstack.apishim.api29.ConnectivityManagerShimImpl { protected final ConnectivityManager mCm; protected ConnectivityManagerShimImpl(Context context) { super(context); mCm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); } /** Loading Loading @@ -65,9 +70,22 @@ public class ConnectivityManagerShimImpl * @throws UnsupportedApiLevelException if API is not available in this API level. */ @Override @RequiresApi(Build.VERSION_CODES.R) public void registerSystemDefaultNetworkCallback(@NonNull NetworkCallback networkCallback, @NonNull Handler handler) throws UnsupportedApiLevelException { // Not supported for API 30. throw new UnsupportedApiLevelException("Not supported in API 30."); @NonNull Handler handler) { // defaultNetworkRequest is not really a "request", just a way of tracking the system // default network. It's guaranteed not to actually bring up any networks because it // should be the same request as the ConnectivityService default request, and thus // shares fate with it. In API <= R, registerSystemDefaultNetworkCallback is not // available, and registerDefaultNetworkCallback will not track the system default when // a VPN applies to the UID of this process. final NetworkRequest defaultNetworkRequest = new NetworkRequest.Builder() .clearCapabilities() .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) .addCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN) .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); mCm.requestNetwork(defaultNetworkRequest, networkCallback, handler); } } apishim/31/com/android/networkstack/apishim/ConnectivityManagerShimImpl.java +6 −5 Original line number Diff line number Diff line Loading @@ -16,8 +16,9 @@ package com.android.networkstack.apishim; import static com.android.modules.utils.build.SdkLevel.isAtLeastS; import android.content.Context; import android.net.ConnectivityManager; import android.net.ConnectivityManager.NetworkCallback; import android.net.NetworkRequest; import android.os.Build; Loading @@ -25,29 +26,29 @@ import android.os.Handler; import android.util.Range; import androidx.annotation.NonNull; import androidx.annotation.RequiresApi; import com.android.networkstack.apishim.common.ConnectivityManagerShim; import com.android.networkstack.apishim.common.ShimUtils; import java.util.Collection; /** * Implementation of {@link ConnectivityManagerShim} for API 31. */ @RequiresApi(Build.VERSION_CODES.S) public class ConnectivityManagerShimImpl extends com.android.networkstack.apishim.api30.ConnectivityManagerShimImpl { private final ConnectivityManager mCm; protected ConnectivityManagerShimImpl(Context context) { super(context); mCm = context.getSystemService(ConnectivityManager.class); } /** * Get a new instance of {@link ConnectivityManagerShim}. */ @RequiresApi(Build.VERSION_CODES.Q) public static ConnectivityManagerShim newInstance(Context context) { if (!ShimUtils.isReleaseOrDevelopmentApiAbove(Build.VERSION_CODES.R)) { if (!isAtLeastS()) { return com.android.networkstack.apishim.api30.ConnectivityManagerShimImpl .newInstance(context); } Loading Loading
Android.bp +5 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,9 @@ java_defaults { "androidx.annotation_annotation", "networkstack-client", ], static_libs : [ "modules-utils-build_system" ], apex_available: [ "com.android.tethering", "//apex_available:platform", // For InProcessNetworkStack and InProcessTethering Loading Loading @@ -235,9 +238,11 @@ android_library { static_libs: ["NetworkStackApiStableShims"], manifest: "AndroidManifestBase.xml", visibility: [ "//frameworks/base/packages/Connectivity/tests/integration", "//frameworks/base/tests/net/integration", "//packages/modules/Connectivity/Tethering/tests/integration", "//packages/modules/Connectivity/tests/cts/net", "//packages/modules/Connectivity/tests/integration", "//packages/modules/NetworkStack/tests/unit", "//packages/modules/NetworkStack/tests/integration", ], Loading
AndroidManifest.xml +2 −2 Original line number Diff line number Diff line Loading @@ -19,8 +19,8 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.networkstack" android:sharedUserId="android.uid.networkstack" android:versionCode="302100000" android:versionName="aml_net_302100000" android:versionCode="302100100" android:versionName="aml_net_302100100" > <!-- Permissions must be defined here, and not in the base manifest, as the network stack running in the system server process does not need any permission, and having privileged Loading
OWNERS +2 −0 Original line number Diff line number Diff line Loading @@ -2,5 +2,7 @@ codewiz@google.com jchalard@google.com junyulai@google.com lorenzo@google.com maze@google.com reminv@google.com satk@google.com xiaom@google.com
apishim/30/com/android/networkstack/apishim/api30/ConnectivityManagerShimImpl.java +21 −3 Original line number Diff line number Diff line Loading @@ -17,12 +17,15 @@ package com.android.networkstack.apishim.api30; import android.content.Context; import android.net.ConnectivityManager; import android.net.ConnectivityManager.NetworkCallback; import android.net.NetworkCapabilities; import android.net.NetworkRequest; import android.os.Build; import android.os.Handler; import androidx.annotation.NonNull; import androidx.annotation.RequiresApi; import com.android.networkstack.apishim.common.ConnectivityManagerShim; import com.android.networkstack.apishim.common.ShimUtils; Loading @@ -33,8 +36,10 @@ import com.android.networkstack.apishim.common.UnsupportedApiLevelException; */ public class ConnectivityManagerShimImpl extends com.android.networkstack.apishim.api29.ConnectivityManagerShimImpl { protected final ConnectivityManager mCm; protected ConnectivityManagerShimImpl(Context context) { super(context); mCm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); } /** Loading Loading @@ -65,9 +70,22 @@ public class ConnectivityManagerShimImpl * @throws UnsupportedApiLevelException if API is not available in this API level. */ @Override @RequiresApi(Build.VERSION_CODES.R) public void registerSystemDefaultNetworkCallback(@NonNull NetworkCallback networkCallback, @NonNull Handler handler) throws UnsupportedApiLevelException { // Not supported for API 30. throw new UnsupportedApiLevelException("Not supported in API 30."); @NonNull Handler handler) { // defaultNetworkRequest is not really a "request", just a way of tracking the system // default network. It's guaranteed not to actually bring up any networks because it // should be the same request as the ConnectivityService default request, and thus // shares fate with it. In API <= R, registerSystemDefaultNetworkCallback is not // available, and registerDefaultNetworkCallback will not track the system default when // a VPN applies to the UID of this process. final NetworkRequest defaultNetworkRequest = new NetworkRequest.Builder() .clearCapabilities() .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED) .addCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN) .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .build(); mCm.requestNetwork(defaultNetworkRequest, networkCallback, handler); } }
apishim/31/com/android/networkstack/apishim/ConnectivityManagerShimImpl.java +6 −5 Original line number Diff line number Diff line Loading @@ -16,8 +16,9 @@ package com.android.networkstack.apishim; import static com.android.modules.utils.build.SdkLevel.isAtLeastS; import android.content.Context; import android.net.ConnectivityManager; import android.net.ConnectivityManager.NetworkCallback; import android.net.NetworkRequest; import android.os.Build; Loading @@ -25,29 +26,29 @@ import android.os.Handler; import android.util.Range; import androidx.annotation.NonNull; import androidx.annotation.RequiresApi; import com.android.networkstack.apishim.common.ConnectivityManagerShim; import com.android.networkstack.apishim.common.ShimUtils; import java.util.Collection; /** * Implementation of {@link ConnectivityManagerShim} for API 31. */ @RequiresApi(Build.VERSION_CODES.S) public class ConnectivityManagerShimImpl extends com.android.networkstack.apishim.api30.ConnectivityManagerShimImpl { private final ConnectivityManager mCm; protected ConnectivityManagerShimImpl(Context context) { super(context); mCm = context.getSystemService(ConnectivityManager.class); } /** * Get a new instance of {@link ConnectivityManagerShim}. */ @RequiresApi(Build.VERSION_CODES.Q) public static ConnectivityManagerShim newInstance(Context context) { if (!ShimUtils.isReleaseOrDevelopmentApiAbove(Build.VERSION_CODES.R)) { if (!isAtLeastS()) { return com.android.networkstack.apishim.api30.ConnectivityManagerShimImpl .newInstance(context); } Loading