Jarjar utils into framework-wifi and share with wifi-service

Jarjar utility classes used by both framework-wifi
and wifi-service into framework-wifi and allow
them to be referenced by wifi-service.

Create framework-wifi-util-lib which contains
utility classes that we will copy into the Wifi module.
It is statically linked into framework-wifi and
dynamically linked by wifi-service.

Create framework-wifi-pre-jarjar to allow
wifi-service to use the pre-rename symbols in
framework-wifi-util-lib.

In essence:
1. build framework-wifi-util-lib,
  framework-wifi-pre-jarjar, wifi-service-pre-jarjar
  using original symbol names.
2. rename everything afterwards at the same time.

This ensures that all symbol names are consistent at
each step in the build process.

Bug: 142886292
Test: device boots up and connects to wifi
Change-Id: I27b3519657d652787714b4b34de6cdbfef2a81e4
diff --git a/Android.bp b/Android.bp
index 8c85631..9a0bd73 100644
--- a/Android.bp
+++ b/Android.bp
@@ -604,6 +604,7 @@
 filegroup {
     name: "framework-annotations",
     srcs: [
+        "core/java/android/annotation/CheckResult.java",
         "core/java/android/annotation/IntDef.java",
         "core/java/android/annotation/IntRange.java",
         "core/java/android/annotation/NonNull.java",
@@ -615,6 +616,7 @@
         "core/java/android/annotation/UnsupportedAppUsage.java",
         "core/java/com/android/internal/annotations/GuardedBy.java",
         "core/java/com/android/internal/annotations/VisibleForTesting.java",
+        "core/java/com/android/internal/annotations/Immutable.java",
     ],
 }
 
@@ -1148,10 +1150,31 @@
     ],
 }
 
+// utility classes statically linked into framework-wifi and dynamically linked
+// into wifi-service
+java_library {
+    name: "framework-wifi-util-lib",
+    sdk_version: "core_current",
+    srcs: [
+        "core/java/android/content/pm/BaseParceledListSlice.java",
+        "core/java/android/content/pm/ParceledListSlice.java",
+        "core/java/com/android/internal/util/AsyncChannel.java",
+        "core/java/com/android/internal/util/AsyncService.java",
+        "core/java/com/android/internal/util/Protocol.java",
+        "core/java/com/android/internal/util/Preconditions.java",
+    ],
+    libs: [
+        "framework-annotations-lib",
+        "unsupportedappusage",
+        "android_system_stubs_current",
+    ],
+    visibility: ["//frameworks/base/wifi"],
+}
+
+// utility classes statically linked into wifi-service
 filegroup {
     name: "framework-wifi-service-shared-srcs",
     srcs: [
-        ":framework-annotations",
         "core/java/android/net/InterfaceConfiguration.java",
         "core/java/android/os/BasicShellCommandHandler.java",
         "core/java/android/os/HandlerExecutor.java",
@@ -1162,7 +1185,6 @@
         "core/java/com/android/internal/util/HexDump.java",
         "core/java/com/android/internal/util/IState.java",
         "core/java/com/android/internal/util/MessageUtils.java",
-        "core/java/com/android/internal/util/Preconditions.java",
         "core/java/com/android/internal/util/State.java",
         "core/java/com/android/internal/util/StateMachine.java",
         "core/java/com/android/internal/util/WakeupMessage.java",