From eb20f4b06fbf5b23a245a932defaa8eb9b0499af Mon Sep 17 00:00:00 2001 From: Chiachang Wang Date: Mon, 8 Feb 2021 11:44:24 +0800 Subject: [PATCH] Replace subnet mask calculation to Inet4AddressUtils There is existing helper method in Inet4AddressUtils to calculate the subnet mask from IPv4 prefix calculation. Replace the implementation in caller side to simplify design in callers. Bug: 172183305 Test: atest SettingsRoboTests Test: Verify the method return the same value Change-Id: I38d7d09be612fa4788cf4052bf304d17f0ae79f4 Merged-In: I38d7d09be612fa4788cf4052bf304d17f0ae79f4 --- .../wifi/details/WifiDetailPreferenceController.java | 9 +++------ .../wifi/details2/WifiDetailPreferenceController2.java | 9 +++------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java index d5a647a834f..b30360cf4a3 100644 --- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java +++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java @@ -60,7 +60,7 @@ import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceScreen; -import com.android.net.module.util.NetUtils; +import com.android.net.module.util.Inet4AddressUtils; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.FeatureFlags; @@ -87,7 +87,6 @@ import com.android.settingslib.wifi.WifiTrackerFactory; import java.net.Inet4Address; import java.net.Inet6Address; import java.net.InetAddress; -import java.net.UnknownHostException; import java.time.Duration; import java.time.Instant; import java.time.ZonedDateTime; @@ -930,10 +929,8 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController private static String ipv4PrefixLengthToSubnetMask(int prefixLength) { try { - InetAddress all = InetAddress.getByAddress( - new byte[]{(byte) 255, (byte) 255, (byte) 255, (byte) 255}); - return NetUtils.getNetworkPart(all, prefixLength).getHostAddress(); - } catch (UnknownHostException e) { + return Inet4AddressUtils.getPrefixMaskAsInet4Address(prefixLength).getHostAddress(); + } catch (IllegalArgumentException e) { return null; } } diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java index 7776c9e8867..e432b07e81e 100644 --- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java +++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java @@ -63,7 +63,7 @@ import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceScreen; -import com.android.net.module.util.NetUtils; +import com.android.net.module.util.Inet4AddressUtils; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.FeatureFlags; @@ -99,7 +99,6 @@ import com.android.wifitrackerlib.WifiEntry.WifiEntryCallback; import java.net.Inet4Address; import java.net.Inet6Address; import java.net.InetAddress; -import java.net.UnknownHostException; import java.time.Duration; import java.time.Instant; import java.time.ZonedDateTime; @@ -867,10 +866,8 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle private static String ipv4PrefixLengthToSubnetMask(int prefixLength) { try { - InetAddress all = InetAddress.getByAddress( - new byte[]{(byte) 255, (byte) 255, (byte) 255, (byte) 255}); - return NetUtils.getNetworkPart(all, prefixLength).getHostAddress(); - } catch (UnknownHostException e) { + return Inet4AddressUtils.getPrefixMaskAsInet4Address(prefixLength).getHostAddress(); + } catch (IllegalArgumentException e) { return null; } }