Wifi:Add default Lib for hidden API access

@SystemApi annotation is converted to @hide for vendor APIs. These @hide
APIs can be accessed by adding a new library
'framework-wifi-vendor-hide-access-defaults' as defaults in Android.bp.

Change-Id: I51d7bc131c48250cb1d4af409c76e437f6bde141
CRs-Fixed: 2682962
diff --git a/packages/SettingsLib/Android.bp b/packages/SettingsLib/Android.bp
index 5afe2f3d..a663fcd 100644
--- a/packages/SettingsLib/Android.bp
+++ b/packages/SettingsLib/Android.bp
@@ -4,6 +4,7 @@
 
     defaults: [
         "SettingsLibDependenciesWithoutWifiTracker",
+        "framework-wifi-vendor-hide-access-defaults",
     ],
 
     // TODO(b/149540986): revert this change.
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp
index 2a45654..63dcec2 100644
--- a/packages/SystemUI/Android.bp
+++ b/packages/SystemUI/Android.bp
@@ -72,7 +72,9 @@
         "jsr330"
     ],
     manifest: "AndroidManifest.xml",
-
+    defaults: [
+       "framework-wifi-vendor-hide-access-defaults",
+    ],
     libs: [
         "android.car",
         "android.car.userlib",
diff --git a/services/core/Android.bp b/services/core/Android.bp
index 1377c3c..ba87d36 100644
--- a/services/core/Android.bp
+++ b/services/core/Android.bp
@@ -90,6 +90,10 @@
         "java/com/android/server/policy/EventLogTags.logtags",
     ],
 
+    defaults: [
+        "framework-wifi-vendor-hide-access-defaults",
+    ],
+
     libs: [
         "services.net",
         "android.hardware.light-V2.0-java",
diff --git a/wifi/Android.bp b/wifi/Android.bp
index 9c5b7b6..a084909 100644
--- a/wifi/Android.bp
+++ b/wifi/Android.bp
@@ -123,10 +123,10 @@
     visibility: ["//visibility:public"],
 
     // Restrict access to implementation library.
-    impl_library_visibility: [
-        "//visibility:override", // Ignore the visibility property.
-        "//frameworks/opt/net/wifi/service:__subpackages__",
-    ] + test_access_hidden_api_whitelist,
+//    impl_library_visibility: [
+//        "//visibility:override", // Ignore the visibility property.
+//        "//frameworks/opt/net/wifi/service:__subpackages__",
+//    ] + test_access_hidden_api_whitelist,
 
     apex_available: [
         "com.android.wifi",
@@ -153,7 +153,21 @@
         // if sdk_version="" this gets automatically included, but here we need to add manually.
         "framework-res",
     ],
-    visibility: test_access_hidden_api_whitelist,
+     visibility: test_access_hidden_api_whitelist,
+}
+
+java_defaults {
+    name: "framework-wifi-vendor-hide-access-defaults",
+    sdk_version: "core_platform", // tests can use @CorePlatformApi's
+    libs: [
+        // order matters: classes in framework-wifi are resolved before framework, meaning
+        // @hide APIs in framework-wifi are resolved before @SystemApi stubs in framework
+        "framework-wifi.impl",
+        "framework",
+
+        // if sdk_version="" this gets automatically included, but here we need to add manually.
+        "framework-res",
+    ],
 }
 
 filegroup {