| | | |
Offset 1, 31 lines modified | Offset 1, 28 lines modified |
| |
1 | package·com.android.wifi.x.android.net.ipmemorystore; | 1 | package·com.android.wifi.x.android.net.ipmemorystore; |
| |
2 | import·java.util.Iterator; | 2 | import·java.util.Iterator; |
3 | import·java.util.StringJoiner; | 3 | import·java.util.StringJoiner; |
4 | import·android.net.networkstack.aidl.quirks.IPv6ProvisioningLossQuirkParcelable; | |
5 | import·java.util.Objects; | 4 | import·java.util.Objects; |
6 | import·java.net.UnknownHostException; | 5 | import·java.net.UnknownHostException; |
7 | import·java.net.InetAddress; | 6 | import·java.net.InetAddress; |
8 | import·java.util.Collections; | 7 | import·java.util.Collections; |
9 | import·java.util.Collection; | 8 | import·java.util.Collection; |
10 | import·java.util.ArrayList; | 9 | import·java.util.ArrayList; |
11 | import·android.net.networkstack.aidl.quirks.IPv6ProvisioningLossQuirk; | |
12 | import·java.util.List; | 10 | import·java.util.List; |
13 | import·java.net.Inet4Address; | 11 | import·java.net.Inet4Address; |
| |
14 | public·class·NetworkAttributes | 12 | public·class·NetworkAttributes |
15 | { | 13 | { |
16 | ····public·static·final·float·TOTAL_WEIGHT·=·850.0f; | 14 | ····public·static·final·float·TOTAL_WEIGHT·=·850.0f; |
17 | ····public·final·Inet4Address·assignedV4Address; | 15 | ····public·final·Inet4Address·assignedV4Address; |
18 | ····public·final·Long·assignedV4AddressExpiry; | 16 | ····public·final·Long·assignedV4AddressExpiry; |
19 | ····public·final·String·cluster; | 17 | ····public·final·String·cluster; |
20 | ····public·final·List·dnsAddresses; | 18 | ····public·final·List·dnsAddresses; |
21 | ····public·final·IPv6ProvisioningLossQuirk·ipv6ProvisioningLossQuirk; | |
22 | ····public·final·Integer·mtu; | 19 | ····public·final·Integer·mtu; |
23 | ···· | 20 | ···· |
24 | ····public·NetworkAttributes(final·NetworkAttributesParcelable·networkAttributesParcelable)·{ | 21 | ····public·NetworkAttributes(final·NetworkAttributesParcelable·networkAttributesParcelable)·{ |
25 | ········final·Inet4Address·inet4Address·=·(Inet4Address)getByAddressOrNull(networkAttributesParcelable.assignedV4Address); | 22 | ········final·Inet4Address·inet4Address·=·(Inet4Address)getByAddressOrNull(networkAttributesParcelable.assignedV4Address); |
26 | ········final·long·assignedV4AddressExpiry·=·networkAttributesParcelable.assignedV4AddressExpiry; | 23 | ········final·long·assignedV4AddressExpiry·=·networkAttributesParcelable.assignedV4AddressExpiry; |
27 | ········Long·value; | 24 | ········Long·value; |
28 | ········if·(assignedV4AddressExpiry·>·0L)·{ | 25 | ········if·(assignedV4AddressExpiry·>·0L)·{ |
Offset 40, 18 lines modified | Offset 37, 18 lines modified |
40 | ········Integer·value2; | 37 | ········Integer·value2; |
41 | ········if·(mtu·>=·0)·{ | 38 | ········if·(mtu·>=·0)·{ |
42 | ············value2·=·mtu; | 39 | ············value2·=·mtu; |
43 | ········} | 40 | ········} |
44 | ········else·{ | 41 | ········else·{ |
45 | ············value2·=·null; | 42 | ············value2·=·null; |
46 | ········} | 43 | ········} |
47 | ········this(inet4Address,·value,·cluster,·blobArrayToInetAddressList,·value2,·IPv6ProvisioningLossQuirk.fromStableParcelable(networkAttributesParcelable.ipv6ProvisioningLossQuirk)); | 44 | ········this(inet4Address,·value,·cluster,·blobArrayToInetAddressList,·value2); |
48 | ····} | 45 | ····} |
49 | ···· | 46 | ···· |
50 | ····public·NetworkAttributes(final·Inet4Address·assignedV4Address,·final·Long·assignedV4AddressExpiry,·final·String·cluster,·final·List·list,·final·Integer·mtu,·final·IPv6ProvisioningLossQuirk·ipv6ProvisioningLossQuirk)·{ | 47 | ····public·NetworkAttributes(final·Inet4Address·assignedV4Address,·final·Long·assignedV4AddressExpiry,·final·String·cluster,·final·List·list,·final·Integer·mtu)·{ |
51 | ········if·(mtu·!=·null·&&·mtu·<·0)·{ | 48 | ········if·(mtu·!=·null·&&·mtu·<·0)·{ |
52 | ············throw·new·IllegalArgumentException("MTU·can't·be·negative"); | 49 | ············throw·new·IllegalArgumentException("MTU·can't·be·negative"); |
53 | ········} | 50 | ········} |
54 | ········if·(assignedV4AddressExpiry·!=·null·&&·assignedV4AddressExpiry·<=·0L)·{ | 51 | ········if·(assignedV4AddressExpiry·!=·null·&&·assignedV4AddressExpiry·<=·0L)·{ |
55 | ············throw·new·IllegalArgumentException("lease·expiry·can't·be·negative·or·zero"); | 52 | ············throw·new·IllegalArgumentException("lease·expiry·can't·be·negative·or·zero"); |
56 | ········} | 53 | ········} |
57 | ········this.assignedV4Address·=·assignedV4Address; | 54 | ········this.assignedV4Address·=·assignedV4Address; |
Offset 62, 15 lines modified | Offset 59, 14 lines modified |
62 | ············unmodifiableList·=·null; | 59 | ············unmodifiableList·=·null; |
63 | ········} | 60 | ········} |
64 | ········else·{ | 61 | ········else·{ |
65 | ············unmodifiableList·=·Collections.unmodifiableList((List<?>)new·ArrayList<Object>(list)); | 62 | ············unmodifiableList·=·Collections.unmodifiableList((List<?>)new·ArrayList<Object>(list)); |
66 | ········} | 63 | ········} |
67 | ········this.dnsAddresses·=·unmodifiableList; | 64 | ········this.dnsAddresses·=·unmodifiableList; |
68 | ········this.mtu·=·mtu; | 65 | ········this.mtu·=·mtu; |
69 | ········this.ipv6ProvisioningLossQuirk·=·ipv6ProvisioningLossQuirk; | |
70 | ····} | 66 | ····} |
71 | ···· | 67 | ···· |
72 | ····private·static·List·blobArrayToInetAddressList(final·Blob[]·array)·{ | 68 | ····private·static·List·blobArrayToInetAddressList(final·Blob[]·array)·{ |
73 | ········if·(array·==·null)·{ | 69 | ········if·(array·==·null)·{ |
74 | ············return·null; | 70 | ············return·null; |
75 | ········} | 71 | ········} |
76 | ········final·ArrayList<InetAddress>·list·=·new·ArrayList<InetAddress>(array.length); | 72 | ········final·ArrayList<InetAddress>·list·=·new·ArrayList<InetAddress>(array.length); |
Offset 114, 28 lines modified | Offset 110, 27 lines modified |
114 | ····public·boolean·equals(final·Object·o)·{ | 110 | ····public·boolean·equals(final·Object·o)·{ |
115 | ········final·boolean·b·=·o·instanceof·NetworkAttributes; | 111 | ········final·boolean·b·=·o·instanceof·NetworkAttributes; |
116 | ········boolean·b2·=·false; | 112 | ········boolean·b2·=·false; |
117 | ········if·(!b)·{ | 113 | ········if·(!b)·{ |
118 | ············return·false; | 114 | ············return·false; |
119 | ········} | 115 | ········} |
120 | ········final·NetworkAttributes·networkAttributes·=·(NetworkAttributes)o; | 116 | ········final·NetworkAttributes·networkAttributes·=·(NetworkAttributes)o; |
121 | ········if·(Objects.equals(this.assignedV4Address,·networkAttributes.assignedV4Address)·&&·Objects.equals(this.assignedV4AddressExpiry,·networkAttributes.assignedV4AddressExpiry)·&&·Objects.equals(this.cluster,·networkAttributes.cluster)·&&·Objects.equals(this.dnsAddresses,·networkAttributes.dnsAddresses)·&&·Objects.equals(this.mtu,·networkAttributes.mtu)·&&·Objects.equals(this.ipv6ProvisioningLossQuirk,·networkAttributes.ipv6ProvisioningLossQuirk))·{ | 117 | ········if·(Objects.equals(this.assignedV4Address,·networkAttributes.assignedV4Address)·&&·Objects.equals(this.assignedV4AddressExpiry,·networkAttributes.assignedV4AddressExpiry)·&&·Objects.equals(this.cluster,·networkAttributes.cluster)·&&·Objects.equals(this.dnsAddresses,·networkAttributes.dnsAddresses)·&&·Objects.equals(this.mtu,·networkAttributes.mtu))·{ |
122 | ············b2·=·true; | 118 | ············b2·=·true; |
123 | ········} | 119 | ········} |
124 | ········return·b2; | 120 | ········return·b2; |
125 | ····} | 121 | ····} |
126 | ···· | 122 | ···· |
127 | ····public·int·hashCode()·{ | 123 | ····public·int·hashCode()·{ |
128 | ········return·Objects.hash(this.assignedV4Address,·this.assignedV4AddressExpiry,·this.cluster,·this.dnsAddresses,·this.mtu,·this.ipv6ProvisioningLossQuirk); | 124 | ········return·Objects.hash(this.assignedV4Address,·this.assignedV4AddressExpiry,·this.cluster,·this.dnsAddresses,·this.mtu); |
129 | ····} | 125 | ····} |
130 | ···· | 126 | ···· |
131 | ····public·NetworkAttributesParcelable·toParcelable()·{ | 127 | ····public·NetworkAttributesParcelable·toParcelable()·{ |
132 | ········final·NetworkAttributesParcelable·networkAttributesParcelable·=·new·NetworkAttributesParcelable(); | 128 | ········final·NetworkAttributesParcelable·networkAttributesParcelable·=·new·NetworkAttributesParcelable(); |
133 | ········final·Inet4Address·assignedV4Address·=·this.assignedV4Address; | 129 | ········final·Inet4Address·assignedV4Address·=·this.assignedV4Address; |
134 | ········IPv6ProvisioningLossQuirkParcelable·stableParcelable·=·null; | |
135 | ········byte[]·address; | 130 | ········byte[]·address; |
136 | ········if·(assignedV4Address·==·null)·{ | 131 | ········if·(assignedV4Address·==·null)·{ |
137 | ············address·=·null; | 132 | ············address·=·null; |
138 | ········} | 133 | ········} |
139 | ········else·{ | 134 | ········else·{ |
140 | ············address·=·assignedV4Address.getAddress(); | 135 | ············address·=·assignedV4Address.getAddress(); |
141 | ········} | 136 | ········} |
Offset 156, 19 lines modified | Offset 151, 14 lines modified |
156 | ········if·(mtu·==·null)·{ | 151 | ········if·(mtu·==·null)·{ |
157 | ············intValue·=·-1; | 152 | ············intValue·=·-1; |
158 | ········} | 153 | ········} |
159 | ········else·{ | 154 | ········else·{ |
160 | ············intValue·=·mtu; | 155 | ············intValue·=·mtu; |
161 | ········} | 156 | ········} |
162 | ········networkAttributesParcelable.mtu·=·intValue; | 157 | ········networkAttributesParcelable.mtu·=·intValue; |
163 | ········final·IPv6ProvisioningLossQuirk·ipv6ProvisioningLossQuirk·=·this.ipv6ProvisioningLossQuirk; | |
164 | ········if·(ipv6ProvisioningLossQuirk·!=·null)·{ | |
165 | ············stableParcelable·=·ipv6ProvisioningLossQuirk.toStableParcelable(); | |
166 | ········} | |
167 | ········networkAttributesParcelable.ipv6ProvisioningLossQuirk·=·stableParcelable; | |
168 | ········return·networkAttributesParcelable; | 158 | ········return·networkAttributesParcelable; |
169 | ····} | 159 | ····} |
170 | ···· | 160 | ···· |
171 | ····public·String·toString()·{ | 161 | ····public·String·toString()·{ |
172 | ········final·StringJoiner·stringJoiner·=·new·StringJoiner("·",·"{",·"}"); | 162 | ········final·StringJoiner·stringJoiner·=·new·StringJoiner("·",·"{",·"}"); |
173 | ········final·ArrayList<String>·list·=·new·ArrayList<String>(); | 163 | ········final·ArrayList<String>·list·=·new·ArrayList<String>(); |
174 | ········if·(this.assignedV4Address·!=·null)·{ | 164 | ········if·(this.assignedV4Address·!=·null)·{ |
Offset 208, 22 lines modified | Offset 198, 14 lines modified |
208 | ········if·(this.mtu·!=·null)·{ | 198 | ········if·(this.mtu·!=·null)·{ |
209 | ············stringJoiner.add("mtu·:"); | 199 | ············stringJoiner.add("mtu·:"); |
210 | ············stringJoiner.add(this.mtu.toString()); | 200 | ············stringJoiner.add(this.mtu.toString()); |
211 | ········} | 201 | ········} |
212 | ········else·{ | 202 | ········else·{ |
213 | ············list.add("mtu"); | 203 | ············list.add("mtu"); |
214 | ········} | 204 | ········} |
215 | ········if·(this.ipv6ProvisioningLossQuirk·!=·null)·{ | |
216 | ············stringJoiner.add("ipv6ProvisioningLossQuirk·:·["); | |
217 | ············stringJoiner.add(this.ipv6ProvisioningLossQuirk.toString()); | |
218 | ············stringJoiner.add(s); | |
219 | ········} | |
220 | ········else·{ | |
221 | ············list.add("ipv6ProvisioningLossQuirk"); | |
222 | ········} | |
223 | ········if·(!list.isEmpty())·{ | 205 | ········if·(!list.isEmpty())·{ |
224 | ············stringJoiner.add(";·Null·fields·:·["); | 206 | ············stringJoiner.add(";·Null·fields·:·["); |
225 | ············final·Iterator<String>·iterator2·=·list.iterator(); | 207 | ············final·Iterator<String>·iterator2·=·list.iterator(); |
226 | ············while·(iterator2.hasNext())·{ | 208 | ············while·(iterator2.hasNext())·{ |
227 | ················stringJoiner.add(iterator2.next()); | 209 | ················stringJoiner.add(iterator2.next()); |
228 | ············} | 210 | ············} |
229 | ············stringJoiner.add(s); | 211 | ············stringJoiner.add(s); |