1 /*
2  * Copyright (C) 2020 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.net.dhcp;
18 
19 import static android.net.shared.IpConfigurationParcelableUtil.parcelAddress;
20 
21 import android.net.DhcpResults;
22 import android.net.DhcpResultsParcelable;
23 
24 import androidx.annotation.Nullable;
25 
26 /**
27  * A utility class to convert DhcpResults to DhcpResultsParcelable.
28  */
29 public final class DhcpResultsParcelableUtil {
30     /**
31      * Convert DhcpResults to a DhcpResultsParcelable.
32      */
toStableParcelable(@ullable DhcpResults results)33     public static DhcpResultsParcelable toStableParcelable(@Nullable DhcpResults results) {
34         if (results == null) return null;
35         final DhcpResultsParcelable p = new DhcpResultsParcelable();
36         p.baseConfiguration = results.toStaticIpConfiguration();
37         p.leaseDuration = results.leaseDuration;
38         p.mtu = results.mtu;
39         p.serverAddress = parcelAddress(results.serverAddress);
40         p.vendorInfo = results.vendorInfo;
41         p.serverHostName = results.serverHostName;
42         p.captivePortalApiUrl = results.captivePortalApiUrl;
43         return p;
44     }
45 }
46