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

Commit cde03184 authored by Nate Jiang's avatar Nate Jiang Committed by Android (Google) Code Review
Browse files

Merge "[Suggestion]Add priority group API"

parents 37edcfd9 e628adb4
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -31624,6 +31624,7 @@ package android.net.wifi {
    method @Nullable public String getPassphrase();
    method @Nullable public android.net.wifi.hotspot2.PasspointConfiguration getPasspointConfig();
    method @IntRange(from=0) public int getPriority();
    method public int getPriorityGroup();
    method @Nullable public String getSsid();
    method public boolean isAppInteractionRequired();
    method public boolean isCredentialSharedWithUser();
@@ -31650,6 +31651,7 @@ package android.net.wifi {
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsUserInteractionRequired(boolean);
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPasspointConfig(@NonNull android.net.wifi.hotspot2.PasspointConfiguration);
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriority(@IntRange(from=0) int);
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriorityGroup(int);
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSsid(@NonNull String);
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setUntrusted(boolean);
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiEnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+2 −0
Original line number Diff line number Diff line
@@ -487,6 +487,7 @@ package android.net.wifi {
    method @Nullable public String getPassphrase();
    method @Nullable public android.net.wifi.hotspot2.PasspointConfiguration getPasspointConfig();
    method @IntRange(from=0) public int getPriority();
    method public int getPriorityGroup();
    method @Nullable public String getSsid();
    method public boolean isAppInteractionRequired();
    method public boolean isCredentialSharedWithUser();
@@ -513,6 +514,7 @@ package android.net.wifi {
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsUserInteractionRequired(boolean);
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPasspointConfig(@NonNull android.net.wifi.hotspot2.PasspointConfiguration);
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriority(@IntRange(from=0) int);
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriorityGroup(int);
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSsid(@NonNull String);
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setUntrusted(boolean);
    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiEnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+44 −6
Original line number Diff line number Diff line
@@ -102,10 +102,15 @@ public final class WifiNetworkSuggestion implements Parcelable {
         */
        private int mMeteredOverride;
        /**
         * Priority of this network among other network suggestions provided by the app.
         * Priority of this network among other network suggestions from same priority group
         * provided by the app.
         * The lower the number, the higher the priority (i.e value of 0 = highest priority).
         */
        private int mPriority;
        /**
         * Priority group ID, while suggestion priority will only effect inside the priority group.
         */
        private int mPriorityGroup;

        /**
         * The carrier ID identifies the operator who provides this network configuration.
@@ -165,6 +170,7 @@ public final class WifiNetworkSuggestion implements Parcelable {
            mWapiPskPassphrase = null;
            mWapiEnterpriseConfig = null;
            mIsNetworkUntrusted = false;
            mPriorityGroup = 0;
        }

        /**
@@ -328,6 +334,18 @@ public final class WifiNetworkSuggestion implements Parcelable {
            return this;
        }

        /**
         * Set the priority group ID, {@link #setPriority(int)} will only impact the network
         * suggestions from the same priority group within the same app.
         *
         * @param priorityGroup priority group id, if not set default is 0.
         * @return Instance of {@link Builder} to enable chaining of the builder method.
         */
        public @NonNull Builder setPriorityGroup(int priorityGroup) {
            mPriorityGroup = priorityGroup;
            return this;
        }

        /**
         * Set the ASCII WAPI passphrase for this network. Needed for authenticating to
         * WAPI-PSK networks.
@@ -411,8 +429,9 @@ public final class WifiNetworkSuggestion implements Parcelable {

        /**
         * Specify the priority of this network among other network suggestions provided by the same
         * app (priorities have no impact on suggestions by different apps). The higher the number,
         * the higher the priority (i.e value of 0 = lowest priority).
         * app (priorities have no impact on suggestions by different apps) and within the same
         * priority group, see {@link #setPriorityGroup(int)}.
         * The higher the number, the higher the priority (i.e value of 0 = lowest priority).
         * <p>
         * <li>If not set, defaults a lower priority than any assigned priority.</li>
         *
@@ -696,7 +715,8 @@ public final class WifiNetworkSuggestion implements Parcelable {
                    mIsAppInteractionRequired,
                    mIsUserInteractionRequired,
                    mIsSharedWithUser,
                    mIsInitialAutojoinEnabled);
                    mIsInitialAutojoinEnabled,
                    mPriorityGroup);
        }
    }

@@ -739,6 +759,12 @@ public final class WifiNetworkSuggestion implements Parcelable {
     */
    public final boolean isInitialAutoJoinEnabled;

    /**
     * Priority group ID.
     * @hide
     */
    public final int priorityGroup;

    /** @hide */
    public WifiNetworkSuggestion() {
        this.wifiConfiguration = new WifiConfiguration();
@@ -747,6 +773,7 @@ public final class WifiNetworkSuggestion implements Parcelable {
        this.isUserInteractionRequired = false;
        this.isUserAllowedToManuallyConnect = true;
        this.isInitialAutoJoinEnabled = true;
        this.priorityGroup = 0;
    }

    /** @hide */
@@ -755,7 +782,7 @@ public final class WifiNetworkSuggestion implements Parcelable {
                                 boolean isAppInteractionRequired,
                                 boolean isUserInteractionRequired,
                                 boolean isUserAllowedToManuallyConnect,
                                 boolean isInitialAutoJoinEnabled) {
                                 boolean isInitialAutoJoinEnabled, int priorityGroup) {
        checkNotNull(networkConfiguration);
        this.wifiConfiguration = networkConfiguration;
        this.passpointConfiguration = passpointConfiguration;
@@ -764,6 +791,7 @@ public final class WifiNetworkSuggestion implements Parcelable {
        this.isUserInteractionRequired = isUserInteractionRequired;
        this.isUserAllowedToManuallyConnect = isUserAllowedToManuallyConnect;
        this.isInitialAutoJoinEnabled = isInitialAutoJoinEnabled;
        this.priorityGroup = priorityGroup;
    }

    public static final @NonNull Creator<WifiNetworkSuggestion> CREATOR =
@@ -776,7 +804,8 @@ public final class WifiNetworkSuggestion implements Parcelable {
                            in.readBoolean(), // isAppInteractionRequired
                            in.readBoolean(), // isUserInteractionRequired
                            in.readBoolean(), // isSharedCredentialWithUser
                            in.readBoolean()  // isAutojoinEnabled
                            in.readBoolean(),  // isAutojoinEnabled
                            in.readInt() // priorityGroup
                    );
                }

@@ -799,6 +828,7 @@ public final class WifiNetworkSuggestion implements Parcelable {
        dest.writeBoolean(isUserInteractionRequired);
        dest.writeBoolean(isUserAllowedToManuallyConnect);
        dest.writeBoolean(isInitialAutoJoinEnabled);
        dest.writeInt(priorityGroup);
    }

    @Override
@@ -842,6 +872,7 @@ public final class WifiNetworkSuggestion implements Parcelable {
                .append(", isCredentialSharedWithUser=").append(isUserAllowedToManuallyConnect)
                .append(", isInitialAutoJoinEnabled=").append(isInitialAutoJoinEnabled)
                .append(", isUnTrusted=").append(!wifiConfiguration.trusted)
                .append(", priorityGroup=").append(priorityGroup)
                .append(" ]");
        return sb.toString();
    }
@@ -962,4 +993,11 @@ public final class WifiNetworkSuggestion implements Parcelable {
        }
        return WifiInfo.removeDoubleQuotes(wifiConfiguration.preSharedKey);
    }

    /**
     * @see Builder#setPriorityGroup(int)
     */
    public int getPriorityGroup() {
        return priorityGroup;
    }
}
+25 −10
Original line number Diff line number Diff line
@@ -16,7 +16,12 @@

package android.net.wifi;

import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;

import android.net.MacAddress;
import android.net.wifi.hotspot2.PasspointConfiguration;
@@ -39,6 +44,8 @@ public class WifiNetworkSuggestionTest {
    private static final String TEST_FQDN = "fqdn";
    private static final String TEST_WAPI_CERT_SUITE = "suite";
    private static final String TEST_DOMAIN_SUFFIX_MATCH = "domainSuffixMatch";
    private static final int DEFAULT_PRIORITY_GROUP = 0;
    private static final int TEST_PRIORITY_GROUP = 1;

    /**
     * Validate correctness of WifiNetworkSuggestion object created by
@@ -612,7 +619,7 @@ public class WifiNetworkSuggestionTest {
        configuration.BSSID = TEST_BSSID;
        configuration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
        WifiNetworkSuggestion suggestion = new WifiNetworkSuggestion(
                configuration, null, false, true, true, true);
                configuration, null, false, true, true, true, TEST_PRIORITY_GROUP);

        Parcel parcelW = Parcel.obtain();
        suggestion.writeToParcel(parcelW, 0);
@@ -683,14 +690,16 @@ public class WifiNetworkSuggestionTest {
        configuration.BSSID = TEST_BSSID;
        configuration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
        WifiNetworkSuggestion suggestion =
                new WifiNetworkSuggestion(configuration, null, true, false, true, true);
                new WifiNetworkSuggestion(configuration, null, true, false, true, true,
                        TEST_PRIORITY_GROUP);

        WifiConfiguration configuration1 = new WifiConfiguration();
        configuration1.SSID = TEST_SSID;
        configuration1.BSSID = TEST_BSSID;
        configuration1.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
        WifiNetworkSuggestion suggestion1 =
                new WifiNetworkSuggestion(configuration1, null, false, true, true, true);
                new WifiNetworkSuggestion(configuration1, null, false, true, true, true,
                        DEFAULT_PRIORITY_GROUP);

        assertEquals(suggestion, suggestion1);
        assertEquals(suggestion.hashCode(), suggestion1.hashCode());
@@ -706,13 +715,15 @@ public class WifiNetworkSuggestionTest {
        configuration.SSID = TEST_SSID;
        configuration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
        WifiNetworkSuggestion suggestion =
                new WifiNetworkSuggestion(configuration, null, false, false, true, true);
                new WifiNetworkSuggestion(configuration, null, false, false, true, true,
                        DEFAULT_PRIORITY_GROUP);

        WifiConfiguration configuration1 = new WifiConfiguration();
        configuration1.SSID = TEST_SSID_1;
        configuration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
        WifiNetworkSuggestion suggestion1 =
                new WifiNetworkSuggestion(configuration1, null, false, false, true, true);
                new WifiNetworkSuggestion(configuration1, null, false, false, true, true,
                        DEFAULT_PRIORITY_GROUP);

        assertNotEquals(suggestion, suggestion1);
    }
@@ -728,13 +739,15 @@ public class WifiNetworkSuggestionTest {
        configuration.BSSID = TEST_BSSID;
        configuration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
        WifiNetworkSuggestion suggestion =
                new WifiNetworkSuggestion(configuration, null,  false, false, true, true);
                new WifiNetworkSuggestion(configuration, null, false, false, true, true,
                        DEFAULT_PRIORITY_GROUP);

        WifiConfiguration configuration1 = new WifiConfiguration();
        configuration1.SSID = TEST_SSID;
        configuration1.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
        WifiNetworkSuggestion suggestion1 =
                new WifiNetworkSuggestion(configuration1, null, false, false, true, true);
                new WifiNetworkSuggestion(configuration1, null, false, false, true, true,
                        DEFAULT_PRIORITY_GROUP);

        assertNotEquals(suggestion, suggestion1);
    }
@@ -749,13 +762,15 @@ public class WifiNetworkSuggestionTest {
        configuration.SSID = TEST_SSID;
        configuration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
        WifiNetworkSuggestion suggestion =
                new WifiNetworkSuggestion(configuration, null, false, false, true, true);
                new WifiNetworkSuggestion(configuration, null, false, false, true, true,
                        DEFAULT_PRIORITY_GROUP);

        WifiConfiguration configuration1 = new WifiConfiguration();
        configuration1.SSID = TEST_SSID;
        configuration1.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
        WifiNetworkSuggestion suggestion1 =
                new WifiNetworkSuggestion(configuration1, null, false, false, true, true);
                new WifiNetworkSuggestion(configuration1, null, false, false, true, true,
                        DEFAULT_PRIORITY_GROUP);

        assertNotEquals(suggestion, suggestion1);
    }