summaryrefslogtreecommitdiff
path: root/src/android/net/dhcp/DhcpResultsParcelableUtil.java
diff options
context:
space:
mode:
authorRemi NGUYEN VAN <reminv@google.com>2020-06-11 06:31:14 +0000
committerRemi NGUYEN VAN <reminv@google.com>2020-06-11 09:58:07 +0000
commit6df45d368a3909637a517ee65bef94deff2e5527 (patch)
tree3bbee7013ad8a22d4c673347f89d2b7136653a68 /src/android/net/dhcp/DhcpResultsParcelableUtil.java
parente60d8975d36d4330fa5e2b10c8cf2fda00bf646f (diff)
Remove DhcpResults from NetworkStack shared lib
Remove the dependency on DhcpResults in moduleutils by moving toStableParcelable to NetworkStack main code, and fromStableParcelable to the test only. Only NetworkStack should be generating DhcpResultsParcelables, and only the NetworkStack should be using DhcpResults at this point (eventually the class would move from frameworks/base/core to NetworkStack). Test: built, flashed, WiFi working Bug: 149403767 Original-Change: https://android-review.googlesource.com/1277444 Merged-In: I093fa48967a48f594b242b1e05e7d481fa9ee529 Change-Id: I093fa48967a48f594b242b1e05e7d481fa9ee529
Diffstat (limited to 'src/android/net/dhcp/DhcpResultsParcelableUtil.java')
-rw-r--r--src/android/net/dhcp/DhcpResultsParcelableUtil.java63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/android/net/dhcp/DhcpResultsParcelableUtil.java b/src/android/net/dhcp/DhcpResultsParcelableUtil.java
new file mode 100644
index 0000000..7075925
--- /dev/null
+++ b/src/android/net/dhcp/DhcpResultsParcelableUtil.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.net.dhcp;
+
+import static android.net.shared.IpConfigurationParcelableUtil.parcelAddress;
+import static android.net.shared.IpConfigurationParcelableUtil.unparcelAddress;
+
+import android.net.DhcpResults;
+import android.net.DhcpResultsParcelable;
+
+import androidx.annotation.Nullable;
+
+import java.net.Inet4Address;
+
+/**
+ * A utility class to convert DhcpResults to DhcpResultsParcelable.
+ */
+public final class DhcpResultsParcelableUtil {
+ /**
+ * Convert DhcpResults to a DhcpResultsParcelable.
+ */
+ public static DhcpResultsParcelable toStableParcelable(@Nullable DhcpResults results) {
+ if (results == null) return null;
+ final DhcpResultsParcelable p = new DhcpResultsParcelable();
+ p.baseConfiguration = results.toStaticIpConfiguration();
+ p.leaseDuration = results.leaseDuration;
+ p.mtu = results.mtu;
+ p.serverAddress = parcelAddress(results.serverAddress);
+ p.vendorInfo = results.vendorInfo;
+ p.serverHostName = results.serverHostName;
+ p.captivePortalApiUrl = results.captivePortalApiUrl;
+ return p;
+ }
+
+ /**
+ * Convert a DhcpResultsParcelable to DhcpResults.
+ */
+ public static DhcpResults fromStableParcelable(@Nullable DhcpResultsParcelable p) {
+ if (p == null) return null;
+ final DhcpResults results = new DhcpResults(p.baseConfiguration);
+ results.leaseDuration = p.leaseDuration;
+ results.mtu = p.mtu;
+ results.serverAddress = (Inet4Address) unparcelAddress(p.serverAddress);
+ results.vendorInfo = p.vendorInfo;
+ results.serverHostName = p.serverHostName;
+ results.captivePortalApiUrl = p.captivePortalApiUrl;
+ return results;
+ }
+}