Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 92b9e72d authored by Nate Jiang's avatar Nate Jiang Committed by Automerger Merge Worker
Browse files

Merge "WifiNetworkSuggestion setIsMetered change to tri-state" into rvc-dev am: 34de8478

Change-Id: I745ee8e3b2387b9bcc65f0e01e573f81e7f9492b
parents 5cb513a0 34de8478
Loading
Loading
Loading
Loading
+11 −11
Original line number Original line Diff line number Diff line
@@ -100,7 +100,7 @@ public final class WifiNetworkSuggestion implements Parcelable {
        /**
        /**
         * Whether this network is metered or not.
         * 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.
         * 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).
         * 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;
            mIsHiddenSSID = false;
            mIsAppInteractionRequired = false;
            mIsAppInteractionRequired = false;
            mIsUserInteractionRequired = false;
            mIsUserInteractionRequired = false;
            mIsMetered = false;
            mMeteredOverride = WifiConfiguration.METERED_OVERRIDE_NONE;
            mIsSharedWithUser = true;
            mIsSharedWithUser = true;
            mIsSharedWithUserSet = false;
            mIsSharedWithUserSet = false;
            mIsInitialAutojoinEnabled = true;
            mIsInitialAutojoinEnabled = true;
@@ -421,14 +421,18 @@ public final class WifiNetworkSuggestion implements Parcelable {
        /**
        /**
         * Specifies whether this network is metered.
         * Specifies whether this network is metered.
         * <p>
         * <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}
         * @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.
         * @return Instance of {@link Builder} to enable chaining of the builder method.
         */
         */
        public @NonNull Builder setIsMetered(boolean isMetered) {
        public @NonNull Builder setIsMetered(boolean isMetered) {
            mIsMetered = isMetered;
            if (isMetered) {
                mMeteredOverride = WifiConfiguration.METERED_OVERRIDE_METERED;
            } else {
                mMeteredOverride = WifiConfiguration.METERED_OVERRIDE_NOT_METERED;
            }
            return this;
            return this;
        }
        }


@@ -541,9 +545,7 @@ public final class WifiNetworkSuggestion implements Parcelable {


            wifiConfiguration.hiddenSSID = mIsHiddenSSID;
            wifiConfiguration.hiddenSSID = mIsHiddenSSID;
            wifiConfiguration.priority = mPriority;
            wifiConfiguration.priority = mPriority;
            wifiConfiguration.meteredOverride =
            wifiConfiguration.meteredOverride = mMeteredOverride;
                    mIsMetered ? WifiConfiguration.METERED_OVERRIDE_METERED
                            : WifiConfiguration.METERED_OVERRIDE_NOT_METERED;
            wifiConfiguration.carrierId = mCarrierId;
            wifiConfiguration.carrierId = mCarrierId;
            wifiConfiguration.trusted = !mIsNetworkUntrusted;
            wifiConfiguration.trusted = !mIsNetworkUntrusted;
            return wifiConfiguration;
            return wifiConfiguration;
@@ -572,9 +574,7 @@ public final class WifiNetworkSuggestion implements Parcelable {
            wifiConfiguration.FQDN = mPasspointConfiguration.getHomeSp().getFqdn();
            wifiConfiguration.FQDN = mPasspointConfiguration.getHomeSp().getFqdn();
            wifiConfiguration.setPasspointUniqueId(mPasspointConfiguration.getUniqueId());
            wifiConfiguration.setPasspointUniqueId(mPasspointConfiguration.getUniqueId());
            wifiConfiguration.priority = mPriority;
            wifiConfiguration.priority = mPriority;
            wifiConfiguration.meteredOverride =
            wifiConfiguration.meteredOverride = mMeteredOverride;
                    mIsMetered ? WifiConfiguration.METERED_OVERRIDE_METERED
                            : WifiConfiguration.METERED_OVERRIDE_NONE;
            wifiConfiguration.trusted = !mIsNetworkUntrusted;
            wifiConfiguration.trusted = !mIsNetworkUntrusted;
            mPasspointConfiguration.setCarrierId(mCarrierId);
            mPasspointConfiguration.setCarrierId(mCarrierId);
            mPasspointConfiguration.setMeteredOverride(wifiConfiguration.meteredOverride);
            mPasspointConfiguration.setMeteredOverride(wifiConfiguration.meteredOverride);
+32 −2
Original line number Original line Diff line number Diff line
@@ -56,7 +56,7 @@ public class WifiNetworkSuggestionTest {
                .get(WifiConfiguration.KeyMgmt.NONE));
                .get(WifiConfiguration.KeyMgmt.NONE));
        assertTrue(suggestion.isAppInteractionRequired);
        assertTrue(suggestion.isAppInteractionRequired);
        assertFalse(suggestion.isUserInteractionRequired);
        assertFalse(suggestion.isUserInteractionRequired);
        assertEquals(WifiConfiguration.METERED_OVERRIDE_NOT_METERED,
        assertEquals(WifiConfiguration.METERED_OVERRIDE_NONE,
                suggestion.wifiConfiguration.meteredOverride);
                suggestion.wifiConfiguration.meteredOverride);
        assertEquals(-1, suggestion.wifiConfiguration.priority);
        assertEquals(-1, suggestion.wifiConfiguration.priority);
        assertFalse(suggestion.isUserAllowedToManuallyConnect);
        assertFalse(suggestion.isUserAllowedToManuallyConnect);
@@ -86,7 +86,7 @@ public class WifiNetworkSuggestionTest {
                suggestion.wifiConfiguration.preSharedKey);
                suggestion.wifiConfiguration.preSharedKey);
        assertTrue(suggestion.isAppInteractionRequired);
        assertTrue(suggestion.isAppInteractionRequired);
        assertFalse(suggestion.isUserInteractionRequired);
        assertFalse(suggestion.isUserInteractionRequired);
        assertEquals(WifiConfiguration.METERED_OVERRIDE_NOT_METERED,
        assertEquals(WifiConfiguration.METERED_OVERRIDE_NONE,
                suggestion.wifiConfiguration.meteredOverride);
                suggestion.wifiConfiguration.meteredOverride);
        assertEquals(0, suggestion.wifiConfiguration.priority);
        assertEquals(0, suggestion.wifiConfiguration.priority);
        assertFalse(suggestion.isUserAllowedToManuallyConnect);
        assertFalse(suggestion.isUserAllowedToManuallyConnect);
@@ -123,6 +123,36 @@ public class WifiNetworkSuggestionTest {
        assertFalse(suggestion.isInitialAutoJoinEnabled);
        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
     * Validate correctness of WifiNetworkSuggestion object created by
     * {@link WifiNetworkSuggestion.Builder#build()} for OWE network.
     * {@link WifiNetworkSuggestion.Builder#build()} for OWE network.