framework-wifi: remove duplicate classes

Preconditions & Inet4AddressUtils are statically
linked into both framework-wifi and service-wifi.
This creates duplicate classes, which should be
avoided. Instead, service-wifi should simply refer
to the copy of Preconditions/Inet4AddressUtils in
framework-wifi.

(dirty cherry pick from internal branch)

Bug: 153596226
Test: device boots up and connects to wifi
Change-Id: Ie78e5cf0f6ff7bc8a2fa8d7264b742f912601143
Merged-In: Ie78e5cf0f6ff7bc8a2fa8d7264b742f912601143
diff --git a/Android.bp b/Android.bp
index 9ed72ee..1a94e0a 100644
--- a/Android.bp
+++ b/Android.bp
@@ -647,15 +647,32 @@
     ],
 }
 
+// utility classes statically linked into framework-wifi and dynamically linked
+// into wifi-service
+java_library {
+    name: "framework-wifi-util-lib",
+    sdk_version: "module_current",
+    srcs: [
+        "core/java/android/net/shared/Inet4AddressUtils.java",
+        "core/java/com/android/internal/util/Preconditions.java",
+    ],
+    libs: [
+        "framework-annotations-lib",
+        "unsupportedappusage",
+    ],
+    visibility: [
+        "//frameworks/base/wifi",
+        "//frameworks/base/services/net",
+    ],
+}
+
 filegroup {
     name: "framework-services-net-module-wifi-shared-srcs",
     srcs: [
         "core/java/android/net/DhcpResults.java",
-        "core/java/android/net/shared/Inet4AddressUtils.java",
         "core/java/android/net/shared/InetAddressUtils.java",
         "core/java/android/net/util/IpUtils.java",
         "core/java/android/util/LocalLog.java",
-        "core/java/com/android/internal/util/Preconditions.java",
     ],
 }
 
diff --git a/services/net/Android.bp b/services/net/Android.bp
index 9f29799..bb5409b 100644
--- a/services/net/Android.bp
+++ b/services/net/Android.bp
@@ -41,6 +41,7 @@
     sdk_version: "module_current",
     libs: [
         "unsupportedappusage",
+        "framework-wifi-util-lib",
     ],
     static_libs: [
         "dnsresolver_aidl_interface-V2-java",