From f963e366ec80924fd17e4631f2243fb6b1a3670d Mon Sep 17 00:00:00 2001 From: Xiao Ma Date: Tue, 11 Jun 2019 18:51:24 +0900 Subject: Add DHCP Rapid Commit option(RFC4039) support in client side. Bug: 122710829 Bug: 136216415 Test: atest FrameworksNetTests NetworkStackTests Test: manual test Change-Id: I384282b7efd0df0c4a6de7bdc1957048303ad88b --- src/android/net/util/NetworkStackUtils.java | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'src/android/net/util/NetworkStackUtils.java') diff --git a/src/android/net/util/NetworkStackUtils.java b/src/android/net/util/NetworkStackUtils.java index 541f9d8..4afc34b 100644 --- a/src/android/net/util/NetworkStackUtils.java +++ b/src/android/net/util/NetworkStackUtils.java @@ -107,6 +107,16 @@ public class NetworkStackUtils { */ public static final int CAPTIVE_PORTAL_MODE_AVOID = 2; + /** + * Experiment flag to enable DHCP INIT-REBOOT state, default value is false. + */ + public static final String DHCP_INIT_REBOOT_ENABLED = "dhcp_init_reboot_enabled"; + + /** + * Experiment flag to enable DHCP Rapid Commit option, default value is false. + */ + public static final String DHCP_RAPID_COMMIT_ENABLED = "dhcp_rapid_commit_enabled"; + static { System.loadLibrary("networkstackutilsjni"); } @@ -181,8 +191,7 @@ public class NetworkStackUtils { * Look up the value of a property for a particular namespace from {@link DeviceConfig}. * @param namespace The namespace containing the property to look up. * @param name The name of the property to look up. - * @param defaultValue The value to return if the property does not exist or has no non-null - * value. + * @param defaultValue The value to return if the property does not exist or its value is null. * @return the corresponding value, or defaultValue if none exists. */ public static int getDeviceConfigPropertyInt(@NonNull String namespace, @NonNull String name, @@ -195,6 +204,19 @@ public class NetworkStackUtils { } } + /** + * Look up the value of a property for a particular namespace from {@link DeviceConfig}. + * @param namespace The namespace containing the property to look up. + * @param name The name of the property to look up. + * @param defaultValue The value to return if the property does not exist or its value is null. + * @return the corresponding value, or defaultValue if none exists. + */ + public static boolean getDeviceConfigPropertyBoolean(@NonNull String namespace, + @NonNull String name, boolean defaultValue) { + String value = getDeviceConfigProperty(namespace, name, null /* defaultValue */); + return (value != null) ? Boolean.parseBoolean(value) : defaultValue; + } + /** * Attaches a socket filter that accepts DHCP packets to the given socket. */ -- cgit v1.2.3