Loading wifi/java/android/net/wifi/WifiNetworkSuggestion.java +11 −11 Original line number Diff line number Diff line Loading @@ -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). Loading Loading @@ -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; Loading Loading @@ -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; } Loading Loading @@ -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; Loading Loading @@ -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); Loading wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java +32 −2 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -123,6 +123,36 @@ public class WifiNetworkSuggestionTest { assertFalse(suggestion.isInitialAutoJoinEnabled); } /** * 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. Loading Loading
wifi/java/android/net/wifi/WifiNetworkSuggestion.java +11 −11 Original line number Diff line number Diff line Loading @@ -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). Loading Loading @@ -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; Loading Loading @@ -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; } Loading Loading @@ -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; Loading Loading @@ -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); Loading
wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java +32 −2 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -123,6 +123,36 @@ public class WifiNetworkSuggestionTest { assertFalse(suggestion.isInitialAutoJoinEnabled); } /** * 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. Loading