diff options
author | Nate Jiang <qiangjiang@google.com> | 2020-05-29 17:16:05 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-05-29 17:16:05 +0000 |
commit | 34de8478862d48899c90a4110d4da3d505f22671 (patch) | |
tree | b80c9159e0e212ffc186d94a8bf7d58d6361b8c4 /wifi | |
parent | d763654b24626d6e36fda873bd1f6f705788e91d (diff) | |
parent | 57f81d36dc3b044e1e99a86423b338b2749966a2 (diff) |
Merge "WifiNetworkSuggestion setIsMetered change to tri-state" into rvc-dev
Diffstat (limited to 'wifi')
-rw-r--r-- | wifi/java/android/net/wifi/WifiNetworkSuggestion.java | 22 | ||||
-rw-r--r-- | wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java | 34 |
2 files changed, 43 insertions, 13 deletions
diff --git a/wifi/java/android/net/wifi/WifiNetworkSuggestion.java b/wifi/java/android/net/wifi/WifiNetworkSuggestion.java index cedf9b0b872d..8c494943200f 100644 --- a/wifi/java/android/net/wifi/WifiNetworkSuggestion.java +++ b/wifi/java/android/net/wifi/WifiNetworkSuggestion.java @@ -100,7 +100,7 @@ public final class WifiNetworkSuggestion implements Parcelable { /** * Whether this network is metered or not. */ - private boolean mIsMetered; + private int mMeteredOverride; /** * Priority of this network among other network suggestions provided by the app. * The lower the number, the higher the priority (i.e value of 0 = highest priority). @@ -156,7 +156,7 @@ public final class WifiNetworkSuggestion implements Parcelable { mIsHiddenSSID = false; mIsAppInteractionRequired = false; mIsUserInteractionRequired = false; - mIsMetered = false; + mMeteredOverride = WifiConfiguration.METERED_OVERRIDE_NONE; mIsSharedWithUser = true; mIsSharedWithUserSet = false; mIsInitialAutojoinEnabled = true; @@ -421,14 +421,18 @@ public final class WifiNetworkSuggestion implements Parcelable { /** * Specifies whether this network is metered. * <p> - * <li>If not set, defaults to false (i.e not metered).</li> + * <li>If not set, defaults to detect automatically.</li> * * @param isMetered {@code true} to indicate that the network is metered, {@code false} - * otherwise. + * for not metered. * @return Instance of {@link Builder} to enable chaining of the builder method. */ public @NonNull Builder setIsMetered(boolean isMetered) { - mIsMetered = isMetered; + if (isMetered) { + mMeteredOverride = WifiConfiguration.METERED_OVERRIDE_METERED; + } else { + mMeteredOverride = WifiConfiguration.METERED_OVERRIDE_NOT_METERED; + } return this; } @@ -541,9 +545,7 @@ public final class WifiNetworkSuggestion implements Parcelable { wifiConfiguration.hiddenSSID = mIsHiddenSSID; wifiConfiguration.priority = mPriority; - wifiConfiguration.meteredOverride = - mIsMetered ? WifiConfiguration.METERED_OVERRIDE_METERED - : WifiConfiguration.METERED_OVERRIDE_NOT_METERED; + wifiConfiguration.meteredOverride = mMeteredOverride; wifiConfiguration.carrierId = mCarrierId; wifiConfiguration.trusted = !mIsNetworkUntrusted; return wifiConfiguration; @@ -572,9 +574,7 @@ public final class WifiNetworkSuggestion implements Parcelable { wifiConfiguration.FQDN = mPasspointConfiguration.getHomeSp().getFqdn(); wifiConfiguration.setPasspointUniqueId(mPasspointConfiguration.getUniqueId()); wifiConfiguration.priority = mPriority; - wifiConfiguration.meteredOverride = - mIsMetered ? WifiConfiguration.METERED_OVERRIDE_METERED - : WifiConfiguration.METERED_OVERRIDE_NONE; + wifiConfiguration.meteredOverride = mMeteredOverride; wifiConfiguration.trusted = !mIsNetworkUntrusted; mPasspointConfiguration.setCarrierId(mCarrierId); mPasspointConfiguration.setMeteredOverride(wifiConfiguration.meteredOverride); diff --git a/wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java b/wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java index aca190910ed1..d1d1c6165dbd 100644 --- a/wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java +++ b/wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java @@ -56,7 +56,7 @@ public class WifiNetworkSuggestionTest { .get(WifiConfiguration.KeyMgmt.NONE)); assertTrue(suggestion.isAppInteractionRequired); assertFalse(suggestion.isUserInteractionRequired); - assertEquals(WifiConfiguration.METERED_OVERRIDE_NOT_METERED, + assertEquals(WifiConfiguration.METERED_OVERRIDE_NONE, suggestion.wifiConfiguration.meteredOverride); assertEquals(-1, suggestion.wifiConfiguration.priority); assertFalse(suggestion.isUserAllowedToManuallyConnect); @@ -86,7 +86,7 @@ public class WifiNetworkSuggestionTest { suggestion.wifiConfiguration.preSharedKey); assertTrue(suggestion.isAppInteractionRequired); assertFalse(suggestion.isUserInteractionRequired); - assertEquals(WifiConfiguration.METERED_OVERRIDE_NOT_METERED, + assertEquals(WifiConfiguration.METERED_OVERRIDE_NONE, suggestion.wifiConfiguration.meteredOverride); assertEquals(0, suggestion.wifiConfiguration.priority); assertFalse(suggestion.isUserAllowedToManuallyConnect); @@ -125,6 +125,36 @@ public class WifiNetworkSuggestionTest { /** * Validate correctness of WifiNetworkSuggestion object created by + * {@link WifiNetworkSuggestion.Builder#build()} for WPA_PSK network which requires + * user interaction and is not metered. + */ + @Test + public void + testWifiNetworkSuggestionBuilderForWpa2PskNetworkWithNotMeteredAndReqUserInteraction() { + WifiNetworkSuggestion suggestion = new WifiNetworkSuggestion.Builder() + .setSsid(TEST_SSID) + .setWpa2Passphrase(TEST_PRESHARED_KEY) + .setIsUserInteractionRequired(true) + .setIsInitialAutojoinEnabled(false) + .setIsMetered(false) + .build(); + + assertEquals("\"" + TEST_SSID + "\"", suggestion.wifiConfiguration.SSID); + assertTrue(suggestion.wifiConfiguration.allowedKeyManagement + .get(WifiConfiguration.KeyMgmt.WPA_PSK)); + assertEquals("\"" + TEST_PRESHARED_KEY + "\"", + suggestion.wifiConfiguration.preSharedKey); + assertFalse(suggestion.isAppInteractionRequired); + assertTrue(suggestion.isUserInteractionRequired); + assertEquals(WifiConfiguration.METERED_OVERRIDE_NOT_METERED, + suggestion.wifiConfiguration.meteredOverride); + assertEquals(-1, suggestion.wifiConfiguration.priority); + assertTrue(suggestion.isUserAllowedToManuallyConnect); + assertFalse(suggestion.isInitialAutoJoinEnabled); + } + + /** + * Validate correctness of WifiNetworkSuggestion object created by * {@link WifiNetworkSuggestion.Builder#build()} for OWE network. */ @Test |