Add shims to get and set the NAT64 prefix in LinkProperties.

Bug: 153694684
Test: m NetworkStack NetworkStackNext
Change-Id: I934fed7a0a8921d3dce7584b5f1b74a0ad67f14a
diff --git a/apishim/29/com/android/networkstack/apishim/api29/NetworkInformationShimImpl.java b/apishim/29/com/android/networkstack/apishim/api29/NetworkInformationShimImpl.java
index a4023b9..2e42576 100644
--- a/apishim/29/com/android/networkstack/apishim/api29/NetworkInformationShimImpl.java
+++ b/apishim/29/com/android/networkstack/apishim/api29/NetworkInformationShimImpl.java
@@ -16,6 +16,7 @@
 
 package com.android.networkstack.apishim.api29;
 
+import android.net.IpPrefix;
 import android.net.LinkProperties;
 import android.net.NetworkCapabilities;
 import android.net.Uri;
@@ -76,6 +77,18 @@
 
     @Nullable
     @Override
+    public IpPrefix getNat64Prefix(@NonNull LinkProperties lp) {
+        // Not supported on this API level
+        return null;
+    }
+
+    @Override
+    public void setNat64Prefix(@NonNull LinkProperties lp, @Nullable IpPrefix prefix) {
+        // Not supported on this API level: no-op
+    }
+
+    @Nullable
+    @Override
     public String getSsid(@Nullable NetworkCapabilities nc) {
         // Not supported on this API level
         return null;
diff --git a/apishim/30/com/android/networkstack/apishim/NetworkInformationShimImpl.java b/apishim/30/com/android/networkstack/apishim/NetworkInformationShimImpl.java
index 42a11de..029a687 100644
--- a/apishim/30/com/android/networkstack/apishim/NetworkInformationShimImpl.java
+++ b/apishim/30/com/android/networkstack/apishim/NetworkInformationShimImpl.java
@@ -16,6 +16,7 @@
 
 package com.android.networkstack.apishim;
 
+import android.net.IpPrefix;
 import android.net.LinkProperties;
 import android.net.NetworkCapabilities;
 import android.net.Uri;
@@ -73,6 +74,17 @@
 
     @Nullable
     @Override
+    public IpPrefix getNat64Prefix(@NonNull LinkProperties lp) {
+        return lp.getNat64Prefix();
+    }
+
+    @Override
+    public void setNat64Prefix(@NonNull LinkProperties lp, @Nullable IpPrefix prefix) {
+        lp.setNat64Prefix(prefix);
+    }
+
+    @Nullable
+    @Override
     public String getSsid(@Nullable NetworkCapabilities nc) {
         if (nc == null) return null;
         return nc.getSsid();
diff --git a/apishim/common/com/android/networkstack/apishim/NetworkInformationShim.java b/apishim/common/com/android/networkstack/apishim/NetworkInformationShim.java
index 315a6f8..7be73b2 100644
--- a/apishim/common/com/android/networkstack/apishim/NetworkInformationShim.java
+++ b/apishim/common/com/android/networkstack/apishim/NetworkInformationShim.java
@@ -16,6 +16,7 @@
 
 package com.android.networkstack.apishim;
 
+import android.net.IpPrefix;
 import android.net.LinkProperties;
 import android.net.NetworkCapabilities;
 import android.net.Uri;
@@ -48,6 +49,17 @@
     CaptivePortalDataShim getCaptivePortalData(@Nullable LinkProperties lp);
 
     /**
+     * @see LinkProperties#getNat64Prefix()
+     */
+    @Nullable
+    IpPrefix getNat64Prefix(@NonNull LinkProperties lp);
+
+    /**
+     * @see LinkProperties#setNat64Prefix()
+     */
+    void setNat64Prefix(@NonNull LinkProperties lp, @Nullable IpPrefix prefix);
+
+    /**
      * @see NetworkCapabilities#getSSID()
      */
     @Nullable
@@ -62,8 +74,6 @@
     /**
      * @see LinkProperties#setDhcpServerAddress()
      */
-    @NonNull
-    void setDhcpServerAddress(@NonNull LinkProperties lp,
-            @NonNull Inet4Address serverAddress);
+    void setDhcpServerAddress(@NonNull LinkProperties lp, @NonNull Inet4Address serverAddress);
 
 }