Use module API in common libraries

Update libraries that still use system_current to module_current.

This is necessary for usage in some modules, as a dependency on
system_current libraries could cause circular dependencies.
system_current includes the API surface of all modules, so module API
jars cannot depend on it transitively.

Also remove framework-annotations from net-utils-framework-common
sources. This is a long overdue cleanup, and without it module API jars
would include unintended API classes when including
net-utils-framework-common.

Bug: 204830222
Test: m
Change-Id: I8f15a95a5951a644b080f5f655ffb846b900193c
diff --git a/staticlibs/Android.bp b/staticlibs/Android.bp
index ea38eca..6227481 100644
--- a/staticlibs/Android.bp
+++ b/staticlibs/Android.bp
@@ -114,7 +114,7 @@
         "device/com/android/net/module/util/JniUtil.java",
         "device/com/android/net/module/util/TcUtils.java",
     ],
-    sdk_version: "system_current",
+    sdk_version: "module_current",
     min_sdk_version: "29",
     visibility: [
         "//frameworks/libs/net/common/tests:__subpackages__",
@@ -127,6 +127,7 @@
     ],
     libs: [
         "androidx.annotation_annotation",
+        "framework-connectivity.stubs.module_lib",
     ],
     apex_available: [
         "com.android.tethering",
@@ -144,7 +145,7 @@
         "device/com/android/net/module/util/Struct.java",
         "device/com/android/net/module/util/structs/*.java",
     ],
-    sdk_version: "system_current",
+    sdk_version: "module_current",
     min_sdk_version: "29",
     visibility: [
         "//frameworks/libs/net/common/testutils:__subpackages__",
@@ -156,6 +157,7 @@
     ],
     libs: [
         "androidx.annotation_annotation",
+        "framework-connectivity.stubs.module_lib",
     ],
     apex_available: [
         "com.android.tethering",
@@ -169,7 +171,7 @@
     srcs: [
         "device/com/android/net/module/util/netlink/*.java",
     ],
-    sdk_version: "system_current",
+    sdk_version: "module_current",
     min_sdk_version: "29",
     visibility: [
         "//frameworks/libs/net/common/testutils:__subpackages__",
@@ -181,6 +183,7 @@
     ],
     libs: [
         "androidx.annotation_annotation",
+        "framework-connectivity.stubs.module_lib",
     ],
     apex_available: [
         "com.android.tethering",
@@ -224,11 +227,12 @@
     name: "net-utils-framework-common",
     srcs: [
         ":net-utils-framework-common-srcs",
-        // TODO: avoid including all framework annotations as they end up in library users jars
-        // and need jarjaring
-        ":framework-annotations",
     ],
-    sdk_version: "system_current",
+    sdk_version: "module_current",
+    libs: [
+        "framework-annotations-lib",
+        "framework-connectivity.stubs.module_lib",
+    ],
     jarjar_rules: "jarjar-rules-shared.txt",
     visibility: [
         "//cts/tests/tests/net",