Adding a feature flag for enabling mDNS advertising offload.

This commit introduces a feature flag to control the enablement of mDNS
advertising offload. This offload is enabled by default on TV devices,
with future consideration for phones. Having a feature flag simplifies
development and provides flexibility for future deployments.

Test: TH
Flag: EXEMPT flag only change
Change-Id: I206db27531b51695b2dd1e186d7155622c500c7e
diff --git a/src/android/net/ip/IpClient.java b/src/android/net/ip/IpClient.java
index f80f22e..b03c664 100644
--- a/src/android/net/ip/IpClient.java
+++ b/src/android/net/ip/IpClient.java
@@ -88,6 +88,7 @@
 import static com.android.networkstack.util.NetworkStackUtils.APF_HANDLE_ARP_OFFLOAD;
 import static com.android.networkstack.util.NetworkStackUtils.APF_HANDLE_IGMP_OFFLOAD;
 import static com.android.networkstack.util.NetworkStackUtils.APF_HANDLE_IGMP_OFFLOAD_VERSION;
+import static com.android.networkstack.util.NetworkStackUtils.APF_HANDLE_MDNS_ADVERTISING_OFFLOAD_VERSION;
 import static com.android.networkstack.util.NetworkStackUtils.APF_HANDLE_MLD_OFFLOAD;
 import static com.android.networkstack.util.NetworkStackUtils.APF_HANDLE_MLD_OFFLOAD_VERSION;
 import static com.android.networkstack.util.NetworkStackUtils.APF_HANDLE_ND_OFFLOAD;
@@ -1117,7 +1118,8 @@
                 mContext, APF_HANDLE_ND_OFFLOAD);
         // TODO: turn on APF mDNS offload on handhelds.
         mIsTvDevice = context.getPackageManager().hasSystemFeature(FEATURE_LEANBACK);
-        mApfHandleMdnsOffload = isAtLeast25Q2() && mIsTvDevice;
+        mApfHandleMdnsOffload = isAtLeast25Q2() && (mIsTvDevice || mDependencies.isFeatureEnabled(
+                context, APF_HANDLE_MDNS_ADVERTISING_OFFLOAD_VERSION));
         mApfHandleIgmpOffload =
                 mDependencies.isFeatureNotChickenedOut(mContext, APF_HANDLE_IGMP_OFFLOAD)
                     && (isAtLeast25Q2()
diff --git a/src/com/android/networkstack/util/NetworkStackUtils.java b/src/com/android/networkstack/util/NetworkStackUtils.java
index 2cf0eff..47971dc 100755
--- a/src/com/android/networkstack/util/NetworkStackUtils.java
+++ b/src/com/android/networkstack/util/NetworkStackUtils.java
@@ -291,6 +291,12 @@
     public static final String APF_HANDLE_MLD_OFFLOAD_VERSION =
             "apf_handle_mld_offload_version";
 
+    /**
+     * Experiment flag to enable the feature of handle MDNS advertising offload in Apf.
+     */
+    public static final String APF_HANDLE_MDNS_ADVERTISING_OFFLOAD_VERSION =
+            "apf_handle_mdns_advertising_offload_version";
+
     /**** BEGIN Feature Kill Switch Flags ****/
 
     /**