[automerger skipped] Merge "Address MacAddressUtils / NetworkFactory comments" am: bbecdd385b am: d3ceabd4cc am: 2ec355e832 -s ours
am skip reason: Change-Id I1a8f2b07dd1b3ef8286c8b578ed7ae38c87bb38c with SHA-1 b989a99762 is in history

Change-Id: I3c91e2abea593e5d7e5fa0e4f623a4f61f399adc
diff --git a/staticlibs/Android.bp b/staticlibs/Android.bp
index 2dfce09..8f845bc 100644
--- a/staticlibs/Android.bp
+++ b/staticlibs/Android.bp
@@ -41,7 +41,6 @@
     jarjar_rules: "jarjar-rules-shared.txt",
     visibility: [
         "//frameworks/base/packages/Tethering",
-        "//frameworks/opt/net/wifi",
         "//frameworks/opt/net/ike",
         "//frameworks/opt/telephony",
         "//packages/modules/NetworkStack",
@@ -60,7 +59,6 @@
     visibility: [
         "//frameworks/base/services/net",
         "//frameworks/base/packages/Tethering",
-        "//frameworks/opt/net/wifi/service",
         "//frameworks/opt/net/ike",
         "//packages/modules/NetworkStack",
         "//packages/modules/CaptivePortalLogin",
@@ -80,3 +78,31 @@
         "//frameworks/opt/telephony",
     ],
 }
+
+// Use a filegroup and not a library for wifi sources, as this needs corresponding jar-jar
+// rules on the wifi side.
+// Any class here *must* have a corresponding jarjar rule in the wifi build rules.
+filegroup {
+    name: "net-utils-framework-wifi-common-srcs",
+    srcs: [
+        "src_frameworkcommon/android/net/util/nsd/DnsSdTxtRecord.java",
+        "src_frameworkcommon/android/net/util/MacAddressUtils.java",
+    ],
+    visibility: [
+        "//frameworks/base",
+    ],
+}
+
+// Use a filegroup and not a library for wifi sources, as this needs corresponding jar-jar
+// rules on the wifi side.
+// Any class here *must* have a corresponding jarjar rule in the wifi build rules.
+filegroup {
+    name: "net-utils-wifi-service-common-srcs",
+    srcs: [
+        "src_frameworkcommon/android/net/util/NetUtils.java",
+        "src_servicescommon/android/net/NetworkFactory.java",
+    ],
+    visibility: [
+        "//frameworks/opt/net/wifi/service",
+    ],
+}
diff --git a/staticlibs/src_servicescommon/android/net/NetworkFactory.java b/staticlibs/src_servicescommon/android/net/NetworkFactory.java
index 3758bb5..47054f5 100644
--- a/staticlibs/src_servicescommon/android/net/NetworkFactory.java
+++ b/staticlibs/src_servicescommon/android/net/NetworkFactory.java
@@ -108,7 +108,6 @@
     private int mRefCount = 0;
     private Messenger mMessenger = null;
     private NetworkProvider mProvider = null;
-    private int mProviderId;
 
     public NetworkFactory(Looper looper, Context context, String logTag,
             NetworkCapabilities filter) {
@@ -139,7 +138,7 @@
         };
 
         mMessenger = new Messenger(this);
-        mProviderId = ((ConnectivityManager) mContext.getSystemService(
+        ((ConnectivityManager) mContext.getSystemService(
             Context.CONNECTIVITY_SERVICE)).registerNetworkProvider(mProvider);
     }
 
@@ -292,8 +291,8 @@
             log(" n.requests = " + n.requested);
             log(" n.score = " + n.score);
             log(" mScore = " + mScore);
-            log(" n.providerId = " + n.providerId);
-            log(" mProviderId = " + mProviderId);
+            log(" request.providerId = " + n.providerId);
+            log(" mProvider.id = " + mProvider.getProviderId());
         }
         if (shouldNeedNetworkFor(n)) {
             if (VDBG) log("  needNetworkFor");
@@ -314,7 +313,7 @@
             // If the score of this request is higher or equal to that of this factory and some
             // other factory is responsible for it, then this factory should not track the request
             // because it has no hope of satisfying it.
-            && (n.score < mScore || n.providerId == mProviderId)
+            && (n.score < mScore || n.providerId == mProvider.getProviderId())
             // If this factory can't satisfy the capability needs of this request, then it
             // should not be tracked.
             && n.request.satisfiedBy(mCapabilityFilter)
@@ -332,7 +331,7 @@
             //   assigned to the factory
             // - This factory can't satisfy the capability needs of the request
             // - The concrete implementation of the factory rejects the request
-            && ((n.score > mScore && n.providerId != mProviderId)
+            && ((n.score > mScore && n.providerId != mProvider.getProviderId())
                     || !n.request.satisfiedBy(mCapabilityFilter)
                     || !acceptRequest(n.request, n.score));
     }
@@ -402,11 +401,11 @@
 
     /* TODO: delete when all callers have migrated to NetworkProvider IDs. */
     public int getSerialNumber() {
-        return mProviderId;
+        return mProvider.getProviderId();
     }
 
-    public int getProviderId() {
-        return mProviderId;
+    public NetworkProvider getProvider() {
+        return mProvider;
     }
 
     protected void log(String s) {
@@ -422,8 +421,8 @@
 
     @Override
     public String toString() {
-        StringBuilder sb = new StringBuilder("{").append(LOG_TAG).append(" - mProviderId=")
-                .append(mProviderId).append(", ScoreFilter=")
+        StringBuilder sb = new StringBuilder("{").append(LOG_TAG).append(" - providerId=")
+                .append(mProvider.getProviderId()).append(", ScoreFilter=")
                 .append(mScore).append(", Filter=").append(mCapabilityFilter).append(", requests=")
                 .append(mNetworkRequests.size()).append(", refCount=").append(mRefCount)
                 .append("}");