Loading wifi/java/android/net/wifi/WifiNetworkSuggestion.java +3 −0 Original line number Diff line number Diff line Loading @@ -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; Loading wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java +87 −1 Original line number Diff line number Diff line Loading @@ -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. Loading Loading @@ -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. */ Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 Loading Loading @@ -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(); } Loading Loading @@ -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; } Loading wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -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. */ Loading Loading @@ -1310,6 +1310,7 @@ public class WifiNetworkSuggestionTest { .build(); assertTrue(suggestion.isOemPaid()); assertFalse(suggestion.isUserAllowedToManuallyConnect); assertTrue(suggestion.getPasspointConfig().isOemPaid()); } /** Loading Loading @@ -1345,6 +1346,7 @@ public class WifiNetworkSuggestionTest { .build(); assertTrue(suggestion.isOemPrivate()); assertFalse(suggestion.isUserAllowedToManuallyConnect); assertTrue(suggestion.getPasspointConfig().isOemPrivate()); } /** Loading Loading @@ -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)} Loading Loading
wifi/java/android/net/wifi/WifiNetworkSuggestion.java +3 −0 Original line number Diff line number Diff line Loading @@ -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; Loading
wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java +87 −1 Original line number Diff line number Diff line Loading @@ -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. Loading Loading @@ -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. */ Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 Loading Loading @@ -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(); } Loading Loading @@ -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; } Loading
wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -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. */ Loading Loading @@ -1310,6 +1310,7 @@ public class WifiNetworkSuggestionTest { .build(); assertTrue(suggestion.isOemPaid()); assertFalse(suggestion.isUserAllowedToManuallyConnect); assertTrue(suggestion.getPasspointConfig().isOemPaid()); } /** Loading Loading @@ -1345,6 +1346,7 @@ public class WifiNetworkSuggestionTest { .build(); assertTrue(suggestion.isOemPrivate()); assertFalse(suggestion.isUserAllowedToManuallyConnect); assertTrue(suggestion.getPasspointConfig().isOemPrivate()); } /** Loading Loading @@ -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)} Loading