summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apishim/29/com/android/networkstack/apishim/api29/NetworkInformationShimImpl.java8
-rw-r--r--apishim/30/com/android/networkstack/apishim/NetworkInformationShimImpl.java8
-rw-r--r--apishim/common/com/android/networkstack/apishim/NetworkInformationShim.java10
-rw-r--r--src/android/net/ip/IpClient.java5
4 files changed, 31 insertions, 0 deletions
diff --git a/apishim/29/com/android/networkstack/apishim/api29/NetworkInformationShimImpl.java b/apishim/29/com/android/networkstack/apishim/api29/NetworkInformationShimImpl.java
index b24b473..0c03883 100644
--- a/apishim/29/com/android/networkstack/apishim/api29/NetworkInformationShimImpl.java
+++ b/apishim/29/com/android/networkstack/apishim/api29/NetworkInformationShimImpl.java
@@ -27,6 +27,8 @@ import androidx.annotation.VisibleForTesting;
import com.android.networkstack.apishim.CaptivePortalDataShim;
import com.android.networkstack.apishim.NetworkInformationShim;
+import java.net.Inet4Address;
+
/**
* Compatibility implementation of {@link NetworkInformationShim}.
*
@@ -84,4 +86,10 @@ public class NetworkInformationShimImpl implements NetworkInformationShim {
public LinkProperties makeSensitiveFieldsParcelingCopy(@NonNull final LinkProperties lp) {
return new LinkProperties(lp);
}
+
+ @Override
+ public void setDhcpServerAddress(@NonNull LinkProperties lp,
+ @NonNull Inet4Address serverAddress) {
+ // Not supported on this API level: no-op
+ }
}
diff --git a/apishim/30/com/android/networkstack/apishim/NetworkInformationShimImpl.java b/apishim/30/com/android/networkstack/apishim/NetworkInformationShimImpl.java
index 6466662..e04cda5 100644
--- a/apishim/30/com/android/networkstack/apishim/NetworkInformationShimImpl.java
+++ b/apishim/30/com/android/networkstack/apishim/NetworkInformationShimImpl.java
@@ -25,6 +25,8 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
+import java.net.Inet4Address;
+
/**
* Compatibility implementation of {@link NetworkInformationShim}.
*/
@@ -81,4 +83,10 @@ public class NetworkInformationShimImpl extends
public LinkProperties makeSensitiveFieldsParcelingCopy(@NonNull final LinkProperties lp) {
return lp.makeSensitiveFieldsParcelingCopy();
}
+
+ @Override
+ public void setDhcpServerAddress(@NonNull LinkProperties lp,
+ @NonNull Inet4Address serverAddress) {
+ lp.setDhcpServerAddress(serverAddress);
+ }
}
diff --git a/apishim/common/com/android/networkstack/apishim/NetworkInformationShim.java b/apishim/common/com/android/networkstack/apishim/NetworkInformationShim.java
index c266043..246a8ef 100644
--- a/apishim/common/com/android/networkstack/apishim/NetworkInformationShim.java
+++ b/apishim/common/com/android/networkstack/apishim/NetworkInformationShim.java
@@ -23,6 +23,8 @@ import android.net.Uri;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import java.net.Inet4Address;
+
/**
* Compatibility interface for network info classes such as {@link LinkProperties} and
* {@link NetworkCapabilities}.
@@ -56,4 +58,12 @@ public interface NetworkInformationShim {
*/
@NonNull
LinkProperties makeSensitiveFieldsParcelingCopy(@NonNull LinkProperties lp);
+
+ /**
+ * @see LinkProperties#setDhcpServerAddress()
+ */
+ @NonNull
+ void setDhcpServerAddress(@NonNull LinkProperties lp,
+ @NonNull Inet4Address serverAddress);
+
}
diff --git a/src/android/net/ip/IpClient.java b/src/android/net/ip/IpClient.java
index 173f136..163005a 100644
--- a/src/android/net/ip/IpClient.java
+++ b/src/android/net/ip/IpClient.java
@@ -1195,6 +1195,10 @@ public class IpClient extends StateMachine {
newLp.setMtu(mDhcpResults.mtu);
}
+ if (mDhcpResults.serverAddress != null) {
+ mShim.setDhcpServerAddress(newLp, mDhcpResults.serverAddress);
+ }
+
final String capportUrl = mDhcpResults.captivePortalApiUrl;
// Uri.parse does no syntax check; do a simple regex check to eliminate garbage.
// If the URL is still incorrect data fetching will fail later, which is fine.
@@ -1272,6 +1276,7 @@ public class IpClient extends StateMachine {
if (DBG) {
Log.d(mTag, "onNewDhcpResults(" + Objects.toString(dhcpResults) + ")");
+ Log.d(mTag, "handleIPv4Success newLp{" + newLp + "}");
}
mCallback.onNewDhcpResults(dhcpResults);
maybeSaveNetworkToIpMemoryStore();