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

Commit d5980661 authored by Nate Jiang's avatar Nate Jiang
Browse files

Pipe new flag into passpoint

Pipe oemPaid, oemPrivite, and carrierMerged into passpoint profile

Bug: 172867186
Test: atest android.net.wifi
Change-Id: If253aca1d26fe5575fa9edbdd0d6fe75d9d4ca81
parent 33064dba
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -917,6 +917,9 @@ public final class WifiNetworkSuggestion implements Parcelable {
            mPasspointConfiguration.setCarrierId(mCarrierId);
            mPasspointConfiguration.setSubscriptionId(mSubscriptionId);
            mPasspointConfiguration.setMeteredOverride(wifiConfiguration.meteredOverride);
            mPasspointConfiguration.setOemPrivate(mIsNetworkOemPrivate);
            mPasspointConfiguration.setOemPaid(mIsNetworkOemPaid);
            mPasspointConfiguration.setCarrierMerged(mIsCarrierMerged);
            wifiConfiguration.macRandomizationSetting = mIsEnhancedMacRandomizationEnabled
                    ? WifiConfiguration.RANDOMIZATION_ENHANCED
                    : WifiConfiguration.RANDOMIZATION_PERSISTENT;
+87 −1
Original line number Diff line number Diff line
@@ -474,6 +474,27 @@ public final class PasspointConfiguration implements Parcelable {
     */
    private boolean mIsEnhancedMacRandomizationEnabled = false;


    /**
     * Indicate whether the network is oem paid or not. Networks are considered oem paid
     * if the corresponding connection is only available to system apps.
     * @hide
     */
    private boolean mIsOemPaid;

    /**
     * Indicate whether the network is oem private or not. Networks are considered oem private
     * if the corresponding connection is only available to system apps.
     * @hide
     */
    private boolean mIsOemPrivate;

    /**
     * Indicate whether or not the network is a carrier merged network.
     * @hide
     */
    private boolean mIsCarrierMerged;

    /**
     * Indicates if the end user has expressed an explicit opinion about the
     * meteredness of this network, such as through the Settings app.
@@ -588,6 +609,54 @@ public final class PasspointConfiguration implements Parcelable {
        return mIsEnhancedMacRandomizationEnabled;
    }

    /**
     * Set whether the network is oem paid or not.
     * @hide
     */
    public void setOemPaid(boolean isOemPaid) {
        mIsOemPaid = isOemPaid;
    }

    /**
     * Get whether the network is oem paid or not.
     * @hide
     */
    public boolean isOemPaid() {
        return mIsOemPaid;
    }

    /**
     * Set whether the network is oem private or not.
     * @hide
     */
    public void setOemPrivate(boolean isOemPrivate) {
        mIsOemPrivate = isOemPrivate;
    }

    /**
     * Get whether the network is oem private or not.
     * @hide
     */
    public boolean isOemPrivate() {
        return mIsOemPrivate;
    }

    /**
     * Set whether the network is carrier merged or not.
     * @hide
     */
    public void setCarrierMerged(boolean isCarrierMerged) {
        mIsCarrierMerged = isCarrierMerged;
    }

    /**
     * Get whether the network is carrier merged or not.
     * @hide
     */
    public boolean isCarrierMerged() {
        return mIsCarrierMerged;
    }

    /**
     * Constructor for creating PasspointConfiguration with default values.
     */
@@ -635,6 +704,9 @@ public final class PasspointConfiguration implements Parcelable {
        mIsMacRandomizationEnabled = source.mIsMacRandomizationEnabled;
        mIsEnhancedMacRandomizationEnabled = source.mIsEnhancedMacRandomizationEnabled;
        mMeteredOverride = source.mMeteredOverride;
        mIsCarrierMerged = source.mIsCarrierMerged;
        mIsOemPaid = source.mIsOemPaid;
        mIsOemPrivate = source.mIsOemPrivate;
    }

    @Override
@@ -669,6 +741,9 @@ public final class PasspointConfiguration implements Parcelable {
        dest.writeBoolean(mIsEnhancedMacRandomizationEnabled);
        dest.writeInt(mMeteredOverride);
        dest.writeInt(mSubscriptionId);
        dest.writeBoolean(mIsCarrierMerged);
        dest.writeBoolean(mIsOemPaid);
        dest.writeBoolean(mIsOemPrivate);
    }

    @Override
@@ -700,6 +775,9 @@ public final class PasspointConfiguration implements Parcelable {
                && mUsageLimitTimeLimitInMinutes == that.mUsageLimitTimeLimitInMinutes
                && mCarrierId == that.mCarrierId
                && mSubscriptionId == that.mSubscriptionId
                && mIsOemPrivate == that.mIsOemPrivate
                && mIsOemPaid == that.mIsOemPaid
                && mIsCarrierMerged == that.mIsCarrierMerged
                && mIsAutojoinEnabled == that.mIsAutojoinEnabled
                && mIsMacRandomizationEnabled == that.mIsMacRandomizationEnabled
                && mIsEnhancedMacRandomizationEnabled == that.mIsEnhancedMacRandomizationEnabled
@@ -715,7 +793,8 @@ public final class PasspointConfiguration implements Parcelable {
                mSubscriptionExpirationTimeMillis, mUsageLimitUsageTimePeriodInMinutes,
                mUsageLimitStartTimeInMillis, mUsageLimitDataLimit, mUsageLimitTimeLimitInMinutes,
                mServiceFriendlyNames, mCarrierId, mIsAutojoinEnabled, mIsMacRandomizationEnabled,
                mIsEnhancedMacRandomizationEnabled, mMeteredOverride, mSubscriptionId);
                mIsEnhancedMacRandomizationEnabled, mMeteredOverride, mSubscriptionId,
                mIsCarrierMerged, mIsOemPaid, mIsOemPrivate);
    }

    @Override
@@ -774,6 +853,9 @@ public final class PasspointConfiguration implements Parcelable {
        builder.append("mIsMacRandomizationEnabled:" + mIsMacRandomizationEnabled);
        builder.append("mIsEnhancedMacRandomizationEnabled:" + mIsEnhancedMacRandomizationEnabled);
        builder.append("mMeteredOverride:" + mMeteredOverride);
        builder.append("mIsCarrierMerged:" + mIsCarrierMerged);
        builder.append("mIsOemPaid:" + mIsOemPaid);
        builder.append("mIsOemPrivate" + mIsOemPrivate);
        return builder.toString();
    }

@@ -884,6 +966,10 @@ public final class PasspointConfiguration implements Parcelable {
                config.mIsEnhancedMacRandomizationEnabled = in.readBoolean();
                config.mMeteredOverride = in.readInt();
                config.mSubscriptionId = in.readInt();
                config.mIsCarrierMerged = in.readBoolean();
                config.mIsOemPaid = in.readBoolean();
                config.mIsOemPrivate = in.readBoolean();

                return config;
            }

+22 −1
Original line number Diff line number Diff line
@@ -809,7 +809,7 @@ public class WifiNetworkSuggestionTest {
    /**
     * Ensure {@link WifiNetworkSuggestion.Builder#build()} throws an exception
     * when both {@link WifiNetworkSuggestion.Builder#setWpa3Passphrase(String)} and
     * {@link WifiNetworkSuggestion.Builderi
     * {@link WifiNetworkSuggestion.Builder
     * #setWpa3EnterpriseStandardModeConfig(WifiEnterpriseConfig)}
     * are invoked.
     */
@@ -1310,6 +1310,7 @@ public class WifiNetworkSuggestionTest {
                .build();
        assertTrue(suggestion.isOemPaid());
        assertFalse(suggestion.isUserAllowedToManuallyConnect);
        assertTrue(suggestion.getPasspointConfig().isOemPaid());
    }

    /**
@@ -1345,6 +1346,7 @@ public class WifiNetworkSuggestionTest {
                .build();
        assertTrue(suggestion.isOemPrivate());
        assertFalse(suggestion.isUserAllowedToManuallyConnect);
        assertTrue(suggestion.getPasspointConfig().isOemPrivate());
    }

    /**
@@ -1438,6 +1440,25 @@ public class WifiNetworkSuggestionTest {
        assertTrue(suggestion.wifiConfiguration.carrierMerged);
    }

    /**
     * Validate {@link WifiNetworkSuggestion.Builder#setCarrierMerged(boolean)} (boolean)} set the
     * correct value to the passpoint network.
     */
    @Test
    public void testSetCarrierMergedNetworkOnPasspointNetwork() {
        assumeTrue(SdkLevel.isAtLeastS());

        PasspointConfiguration passpointConfiguration = PasspointTestUtils.createConfig();
        WifiNetworkSuggestion suggestion = new WifiNetworkSuggestion.Builder()
                .setPasspointConfig(passpointConfiguration)
                .setSubscriptionId(1)
                .setCarrierMerged(true)
                .setIsMetered(true)
                .build();
        assertTrue(suggestion.isCarrierMerged());
        assertTrue(suggestion.getPasspointConfig().isCarrierMerged());
    }

    /**
     * Ensure {@link WifiNetworkSuggestion.Builder#build()} throws an exception
     * when set both {@link WifiNetworkSuggestion.Builder#setCarrierMerged(boolean)} (boolean)}