Merge "Stop using CaptivePortalData in the shim interfaces." am: ee6648c467 am: 5478c66890
Original change: https://android-review.googlesource.com/c/platform/packages/modules/NetworkStack/+/1598153
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ib4b150de012d98b71982c0bec4db3a29f198c0eb
diff --git a/apishim/29/com/android/networkstack/apishim/api29/CaptivePortalDataShimImpl.java b/apishim/29/com/android/networkstack/apishim/api29/CaptivePortalDataShimImpl.java
index 97ac602..6caee13 100644
--- a/apishim/29/com/android/networkstack/apishim/api29/CaptivePortalDataShimImpl.java
+++ b/apishim/29/com/android/networkstack/apishim/api29/CaptivePortalDataShimImpl.java
@@ -16,7 +16,6 @@
package com.android.networkstack.apishim.api29;
-import android.net.CaptivePortalData;
import android.net.Uri;
import androidx.annotation.NonNull;
@@ -75,7 +74,7 @@
* @return a {@link CaptivePortalData} object with a friendly name set
*/
@Override
- public CaptivePortalData withVenueFriendlyName(String friendlyName)
+ public CaptivePortalDataShim withVenueFriendlyName(String friendlyName)
throws UnsupportedApiLevelException {
// Not supported in API level 29
throw new UnsupportedApiLevelException("CaptivePortalData not supported on API 29");
@@ -93,7 +92,7 @@
* and conditions URL set
*/
@Override
- public CaptivePortalData withPasspointInfo(@NonNull String friendlyName,
+ public CaptivePortalDataShim withPasspointInfo(@NonNull String friendlyName,
@NonNull Uri venueInfoUrl, @NonNull Uri termsAndConditionsUrl)
throws UnsupportedApiLevelException {
// Not supported in API level 29
diff --git a/apishim/29/com/android/networkstack/apishim/api29/NetworkInformationShimImpl.java b/apishim/29/com/android/networkstack/apishim/api29/NetworkInformationShimImpl.java
index 8dc7b5c..e68020b 100644
--- a/apishim/29/com/android/networkstack/apishim/api29/NetworkInformationShimImpl.java
+++ b/apishim/29/com/android/networkstack/apishim/api29/NetworkInformationShimImpl.java
@@ -16,7 +16,6 @@
package com.android.networkstack.apishim.api29;
-import android.net.CaptivePortalData;
import android.net.IpPrefix;
import android.net.LinkProperties;
import android.net.NetworkCapabilities;
@@ -121,10 +120,7 @@
* @param captivePortalData Captive portal data to be used
*/
public void setCaptivePortalData(@NonNull LinkProperties lp,
- @Nullable CaptivePortalData captivePortalData) {
- if (lp == null) {
- return;
- }
- lp.setCaptivePortalData(captivePortalData);
+ @Nullable CaptivePortalDataShim captivePortalData) {
+ // Not supported on this API level: no-op
}
}
diff --git a/apishim/30/com/android/networkstack/apishim/api30/CaptivePortalDataShimImpl.java b/apishim/30/com/android/networkstack/apishim/api30/CaptivePortalDataShimImpl.java
index 8497b58..5825021 100644
--- a/apishim/30/com/android/networkstack/apishim/api30/CaptivePortalDataShimImpl.java
+++ b/apishim/30/com/android/networkstack/apishim/api30/CaptivePortalDataShimImpl.java
@@ -39,10 +39,14 @@
@NonNull
protected final CaptivePortalData mData;
- protected CaptivePortalDataShimImpl(@NonNull CaptivePortalData data) {
+ public CaptivePortalDataShimImpl(@NonNull CaptivePortalData data) {
mData = data;
}
+ public CaptivePortalData getData() {
+ return mData;
+ }
+
/**
* Parse a {@link CaptivePortalDataShim} from a JSON object.
* @throws JSONException The JSON is not a representation of correct captive portal data.
@@ -118,31 +122,31 @@
}
/**
- * Generate a {@link CaptivePortalData} object with a friendly name set
+ * Generate a {@link CaptivePortalDataShim} object with a friendly name set
*
* @param friendlyName The friendly name to set
- * @return a {@link CaptivePortalData} object with a friendly name set
+ * @return a {@link CaptivePortalDataShim} object with a friendly name set
*/
@Override
- public CaptivePortalData withVenueFriendlyName(String friendlyName)
+ public CaptivePortalDataShim withVenueFriendlyName(String friendlyName)
throws UnsupportedApiLevelException {
// Not supported in API level 29
throw new UnsupportedApiLevelException("FriendlyName not supported on API 30");
}
/**
- * Generate a {@link CaptivePortalData} object with a friendly name and Passpoint external URLs
- * set
+ * Generate a {@link CaptivePortalDataShim} object with a friendly name and Passpoint external
+ * URLs set
*
* @param friendlyName The friendly name to set
* @param venueInfoUrl Venue information URL
* @param termsAndConditionsUrl Terms and conditions URL
*
- * @return a {@link CaptivePortalData} object with friendly name, venue info URL and terms
+ * @return a {@link CaptivePortalDataShim} object with friendly name, venue info URL and terms
* and conditions URL set
*/
@Override
- public CaptivePortalData withPasspointInfo(@NonNull String friendlyName,
+ public CaptivePortalDataShim withPasspointInfo(@NonNull String friendlyName,
@NonNull Uri venueInfoUrl, @NonNull Uri termsAndConditionsUrl)
throws UnsupportedApiLevelException {
// Not supported in API level 29
diff --git a/apishim/30/com/android/networkstack/apishim/api30/NetworkInformationShimImpl.java b/apishim/30/com/android/networkstack/apishim/api30/NetworkInformationShimImpl.java
index 5d9b013..3e0ad74 100644
--- a/apishim/30/com/android/networkstack/apishim/api30/NetworkInformationShimImpl.java
+++ b/apishim/30/com/android/networkstack/apishim/api30/NetworkInformationShimImpl.java
@@ -105,4 +105,13 @@
@NonNull Inet4Address serverAddress) {
lp.setDhcpServerAddress(serverAddress);
}
+
+ @Override
+ public void setCaptivePortalData(@NonNull LinkProperties lp,
+ @Nullable CaptivePortalDataShim captivePortalData) {
+ if (lp == null) {
+ return;
+ }
+ lp.setCaptivePortalData(((CaptivePortalDataShimImpl) captivePortalData).getData());
+ }
}
diff --git a/apishim/31/com/android/networkstack/apishim/CaptivePortalDataShimImpl.java b/apishim/31/com/android/networkstack/apishim/CaptivePortalDataShimImpl.java
index c1fef98..6e3eb19 100644
--- a/apishim/31/com/android/networkstack/apishim/CaptivePortalDataShimImpl.java
+++ b/apishim/31/com/android/networkstack/apishim/CaptivePortalDataShimImpl.java
@@ -28,7 +28,7 @@
*/
public class CaptivePortalDataShimImpl
extends com.android.networkstack.apishim.api30.CaptivePortalDataShimImpl {
- protected CaptivePortalDataShimImpl(@NonNull CaptivePortalData data) {
+ public CaptivePortalDataShimImpl(@NonNull CaptivePortalData data) {
super(data);
}
@@ -47,37 +47,37 @@
}
/**
- * Generate a {@link CaptivePortalData} object with a friendly name set
+ * Generate a {@link CaptivePortalDataShim} object with a friendly name set
*
* @param friendlyName The friendly name to set
- * @return a {@link CaptivePortalData} object with a friendly name set
+ * @return a {@link CaptivePortalDataShim} object with a friendly name set
*/
@Override
- public CaptivePortalData withVenueFriendlyName(String friendlyName) {
- return new CaptivePortalData.Builder(mData)
+ public CaptivePortalDataShim withVenueFriendlyName(String friendlyName) {
+ return new CaptivePortalDataShimImpl(new CaptivePortalData.Builder(mData)
.setVenueFriendlyName(friendlyName)
- .build();
+ .build());
}
/**
- * Generate a {@link CaptivePortalData} object with a friendly name and Passpoint external
+ * Generate a {@link CaptivePortalDataShim} object with a friendly name and Passpoint external
* URLs set
*
* @param friendlyName The friendly name to set
* @param venueInfoUrl Venue information URL
* @param termsAndConditionsUrl Terms and conditions URL
*
- * @return a {@link CaptivePortalData} object with friendly name, venue info URL and terms
+ * @return a {@link CaptivePortalDataShim} object with friendly name, venue info URL and terms
* and conditions URL set
*/
@Override
- public CaptivePortalData withPasspointInfo(@NonNull String friendlyName,
+ public CaptivePortalDataShim withPasspointInfo(@NonNull String friendlyName,
@NonNull Uri venueInfoUrl, @NonNull Uri termsAndConditionsUrl) {
- return new CaptivePortalData.Builder(mData)
+ return new CaptivePortalDataShimImpl(new CaptivePortalData.Builder(mData)
.setVenueFriendlyName(friendlyName)
.setVenueInfoUrl(venueInfoUrl, ConstantsShim.CAPTIVE_PORTAL_DATA_SOURCE_PASSPOINT)
.setUserPortalUrl(termsAndConditionsUrl,
ConstantsShim.CAPTIVE_PORTAL_DATA_SOURCE_PASSPOINT)
- .build();
+ .build());
}
}
diff --git a/apishim/common/com/android/networkstack/apishim/common/CaptivePortalDataShim.java b/apishim/common/com/android/networkstack/apishim/common/CaptivePortalDataShim.java
index a15df1d..c4405bb 100644
--- a/apishim/common/com/android/networkstack/apishim/common/CaptivePortalDataShim.java
+++ b/apishim/common/com/android/networkstack/apishim/common/CaptivePortalDataShim.java
@@ -73,7 +73,7 @@
* @throws UnsupportedApiLevelException when used with API level lower than 31
* @return a {@link CaptivePortalData} object with a friendly name set
*/
- CaptivePortalData withVenueFriendlyName(@NonNull String friendlyName)
+ CaptivePortalDataShim withVenueFriendlyName(@NonNull String friendlyName)
throws UnsupportedApiLevelException;
/**
@@ -88,7 +88,7 @@
* @return a {@link CaptivePortalData} object with friendly name, venue info URL and terms
* and conditions URL set
*/
- CaptivePortalData withPasspointInfo(@NonNull String friendlyName,
+ CaptivePortalDataShim withPasspointInfo(@NonNull String friendlyName,
@NonNull Uri venueInfoUrl, @NonNull Uri termsAndConditionsUrl)
throws UnsupportedApiLevelException;
}
diff --git a/apishim/common/com/android/networkstack/apishim/common/NetworkInformationShim.java b/apishim/common/com/android/networkstack/apishim/common/NetworkInformationShim.java
index 6cdcf8c..b2ed53e 100644
--- a/apishim/common/com/android/networkstack/apishim/common/NetworkInformationShim.java
+++ b/apishim/common/com/android/networkstack/apishim/common/NetworkInformationShim.java
@@ -16,7 +16,6 @@
package com.android.networkstack.apishim.common;
-import android.net.CaptivePortalData;
import android.net.IpPrefix;
import android.net.LinkProperties;
import android.net.NetworkCapabilities;
@@ -83,5 +82,5 @@
* @param captivePortalData Captive portal data to be used
*/
void setCaptivePortalData(@NonNull LinkProperties lp,
- @Nullable CaptivePortalData captivePortalData);
+ @Nullable CaptivePortalDataShim captivePortalData);
}
diff --git a/tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java b/tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java
index b790824..2735fb6 100644
--- a/tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java
+++ b/tests/unit/src/com/android/server/connectivity/NetworkMonitorTest.java
@@ -2549,11 +2549,12 @@
when(mDependencies.isFeatureEnabled(any(), eq(NAMESPACE_CONNECTIVITY),
eq(DISMISS_PORTAL_IN_VALIDATED_NETWORK), anyBoolean())).thenReturn(true);
final NetworkMonitor monitor = makeMonitor(WIFI_NOT_METERED_CAPABILITIES);
- CaptivePortalData captivePortalData =
- new CaptivePortalData.Builder().setCaptive(true).build();
- final LinkProperties linkProperties = new LinkProperties(TEST_LINK_PROPERTIES);
- linkProperties.setCaptivePortalData(captivePortalData);
+
NetworkInformationShim networkShim = NetworkInformationShimImpl.newInstance();
+ CaptivePortalDataShim captivePortalData = new CaptivePortalDataShimImpl(
+ new CaptivePortalData.Builder().setCaptive(true).build());
+ final LinkProperties linkProperties = new LinkProperties(TEST_LINK_PROPERTIES);
+ networkShim.setCaptivePortalData(linkProperties, captivePortalData);
CaptivePortalDataShim captivePortalDataShim =
networkShim.getCaptivePortalData(linkProperties);
@@ -2566,7 +2567,7 @@
return;
}
- linkProperties.setCaptivePortalData(captivePortalData);
+ networkShim.setCaptivePortalData(linkProperties, captivePortalData);
monitor.notifyLinkPropertiesChanged(linkProperties);
final NetworkCapabilities networkCapabilities =
new NetworkCapabilities(WIFI_NOT_METERED_CAPABILITIES);