summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-05-21 14:11:10 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-05-21 14:11:10 +0000
commitd695f4f63e3f649059b568c031c963095036ffad (patch)
tree9b78aea2d776949b2c117938efe42e1c8e6e2993
parentaae3f9a8347fef9e3a14ef8db5c9c597518e708c (diff)
parent32d1d7f29411f408cc88fea94ab0c90297fff296 (diff)
downloadwifi-android14-qpr3-s2-release.tar.gz
Merge cherrypicks of ['googleplex-android-review.googlesource.com/26782882', 'googleplex-android-review.googlesource.com/27008218'] into 24Q2-release.android-14.0.0_r54android-14.0.0_r53android-14.0.0_r52android14-qpr3-s2-releaseandroid14-qpr3-release
Change-Id: I79f10406da1ccf5e0579c84bc4b5c2fffca1fbbb
-rw-r--r--libs/WifiTrackerLib/sdk_src/src/com/android/wifitrackerlib/NonSdkApiWrapper.java9
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java2
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java13
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java2
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java12
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/NonSdkApiWrapperTest.java26
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java12
7 files changed, 13 insertions, 63 deletions
diff --git a/libs/WifiTrackerLib/sdk_src/src/com/android/wifitrackerlib/NonSdkApiWrapper.java b/libs/WifiTrackerLib/sdk_src/src/com/android/wifitrackerlib/NonSdkApiWrapper.java
index 4ea48626a..943bfefa2 100644
--- a/libs/WifiTrackerLib/sdk_src/src/com/android/wifitrackerlib/NonSdkApiWrapper.java
+++ b/libs/WifiTrackerLib/sdk_src/src/com/android/wifitrackerlib/NonSdkApiWrapper.java
@@ -57,15 +57,6 @@ class NonSdkApiWrapper {
}
/**
- * Tries to get WifiInfo from network capabilities if it is VCN-over-Wifi.
- */
- static WifiInfo getVcnWifiInfo(@NonNull NetworkCapabilities networkCapabilities) {
- // This is only useful for treating CELLULAR over WIFI as a carrier merged network in
- // provider model Settings. Since SUW doesn't use the provider model, this is not used.
- return null;
- }
-
- /**
* Returns whether or not the device is in retail demo mode.
*/
static boolean isDemoMode(@NonNull Context context) {
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
index f5ef482c0..f9368c53f 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
@@ -16,7 +16,6 @@
package com.android.wifitrackerlib;
-import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
import static android.os.Build.VERSION_CODES;
@@ -155,7 +154,6 @@ public class BaseWifiTracker {
.clearCapabilities()
.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
.addTransportType(TRANSPORT_WIFI)
- .addTransportType(TRANSPORT_CELLULAR) // For VCN-over-Wifi
.build();
private final ConnectivityManager.NetworkCallback mNetworkCallback =
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java
index 9b61c6646..9a05985a1 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java
@@ -24,8 +24,6 @@ import android.content.Context;
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
-import android.net.TransportInfo;
-import android.net.vcn.VcnTransportInfo;
import android.net.wifi.WifiInfo;
import android.os.UserManager;
import android.text.Annotation;
@@ -94,17 +92,6 @@ class NonSdkApiWrapper {
}
/**
- * Tries to get WifiInfo from network capabilities if it is VCN-over-Wifi.
- */
- static WifiInfo getVcnWifiInfo(@NonNull NetworkCapabilities networkCapabilities) {
- TransportInfo transportInfo = networkCapabilities.getTransportInfo();
- if (transportInfo instanceof VcnTransportInfo) {
- return ((VcnTransportInfo) transportInfo).getWifiInfo();
- }
- return null;
- }
-
- /**
* Returns whether or not the device is in retail demo mode.
*/
static boolean isDemoMode(@NonNull Context context) {
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
index af64a589b..010c903e9 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
@@ -1209,7 +1209,7 @@ public class Utils {
if (transportInfo instanceof WifiInfo) {
return (WifiInfo) transportInfo;
}
- return NonSdkApiWrapper.getVcnWifiInfo(capabilities);
+ return null;
}
/**
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java
index 3ee9a4dad..95338843b 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java
@@ -443,6 +443,7 @@ public class WifiPickerTracker extends BaseWifiTracker {
for (WifiEntry entry : getAllWifiEntries()) {
entry.onDefaultNetworkCapabilitiesChanged(network, networkCapabilities);
}
+ notifyOnWifiEntriesChanged(WIFI_ENTRIES_CHANGED_REASON_GENERAL);
}
@WorkerThread
@@ -451,6 +452,7 @@ public class WifiPickerTracker extends BaseWifiTracker {
for (WifiEntry entry : getAllWifiEntries()) {
entry.onDefaultNetworkLost();
}
+ notifyOnWifiEntriesChanged(WIFI_ENTRIES_CHANGED_REASON_GENERAL);
}
@WorkerThread
@@ -1219,7 +1221,7 @@ public class WifiPickerTracker extends BaseWifiTracker {
}
}
- private void conditionallyCreateConnectedWifiEntry(@NonNull WifiInfo wifiInfo) {
+ private void conditionallyCreateConnectedWifiEntry(@Nullable WifiInfo wifiInfo) {
conditionallyCreateConnectedStandardWifiEntry(wifiInfo);
conditionallyCreateConnectedSuggestedWifiEntry(wifiInfo);
conditionallyCreateConnectedPasspointWifiEntry(wifiInfo);
@@ -1231,7 +1233,7 @@ public class WifiPickerTracker extends BaseWifiTracker {
* created if there is no existing entry, or the existing entry doesn't match WifiInfo.
*/
@WorkerThread
- private void conditionallyCreateConnectedNetworkRequestEntry(@NonNull WifiInfo wifiInfo) {
+ private void conditionallyCreateConnectedNetworkRequestEntry(@Nullable WifiInfo wifiInfo) {
final List<WifiConfiguration> matchingConfigs = new ArrayList<>();
if (wifiInfo != null) {
@@ -1263,7 +1265,7 @@ public class WifiPickerTracker extends BaseWifiTracker {
* network yet, create and cache a new StandardWifiEntry for it.
*/
@WorkerThread
- private void conditionallyCreateConnectedStandardWifiEntry(@NonNull WifiInfo wifiInfo) {
+ private void conditionallyCreateConnectedStandardWifiEntry(@Nullable WifiInfo wifiInfo) {
if (wifiInfo == null || wifiInfo.isPasspointAp() || wifiInfo.isOsuAp()) {
return;
}
@@ -1297,7 +1299,7 @@ public class WifiPickerTracker extends BaseWifiTracker {
* yet, create and cache a new StandardWifiEntry for it.
*/
@WorkerThread
- private void conditionallyCreateConnectedSuggestedWifiEntry(@NonNull WifiInfo wifiInfo) {
+ private void conditionallyCreateConnectedSuggestedWifiEntry(@Nullable WifiInfo wifiInfo) {
if (wifiInfo == null || wifiInfo.isPasspointAp() || wifiInfo.isOsuAp()) {
return;
}
@@ -1326,7 +1328,7 @@ public class WifiPickerTracker extends BaseWifiTracker {
* yet, create and cache a new StandardWifiEntry for it.
*/
@WorkerThread
- private void conditionallyCreateConnectedPasspointWifiEntry(@NonNull WifiInfo wifiInfo) {
+ private void conditionallyCreateConnectedPasspointWifiEntry(@Nullable WifiInfo wifiInfo) {
if (wifiInfo == null || !wifiInfo.isPasspointAp()) {
return;
}
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/NonSdkApiWrapperTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/NonSdkApiWrapperTest.java
index b0b1449d8..25cfafa8a 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/NonSdkApiWrapperTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/NonSdkApiWrapperTest.java
@@ -16,16 +16,10 @@
package com.android.wifitrackerlib;
-import static com.google.common.truth.Truth.assertThat;
-
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
import android.content.Context;
-import android.net.NetworkCapabilities;
-import android.net.vcn.VcnTransportInfo;
-import android.net.wifi.WifiInfo;
import android.text.Annotation;
import android.text.SpannableString;
import android.text.SpannableStringBuilder;
@@ -72,24 +66,4 @@ public class NonSdkApiWrapperTest {
assertEquals(outputSpannableString.getSpans(0, outputSpannableString.length(),
ClickableSpan.class).length, 0);
}
-
- /**
- * Verifies the functionality of {@link NonSdkApiWrapper#getVcnWifiInfo(NetworkCapabilities)}
- */
- @Test
- public void testGetVcnWifiInfo() {
- NetworkCapabilities networkCapabilities = mock(NetworkCapabilities.class);
-
- assertThat(NonSdkApiWrapper.getVcnWifiInfo(networkCapabilities)).isNull();
-
- VcnTransportInfo vcnTransportInfo = mock(VcnTransportInfo.class);
- when(networkCapabilities.getTransportInfo()).thenReturn(vcnTransportInfo);
-
- assertThat(NonSdkApiWrapper.getVcnWifiInfo(networkCapabilities)).isNull();
-
- WifiInfo wifiInfo = mock(WifiInfo.class);
- when(vcnTransportInfo.getWifiInfo()).thenReturn(wifiInfo);
-
- assertThat(NonSdkApiWrapper.getVcnWifiInfo(networkCapabilities)).isEqualTo(wifiInfo);
- }
}
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
index 6062fe112..7117ab58d 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
@@ -195,6 +195,8 @@ public class WifiPickerTrackerTest {
return TransportInfo.super.makeCopy(redactions);
}
});
+ when(mMockVcnNetworkCapabilities.getUnderlyingNetworks()).thenReturn(
+ Arrays.asList(mMockNetwork));
// A real NetworkCapabilities is needed here in order to create a copy (with location info)
// using the NetworkCapabilities constructor in handleOnStart.
NetworkCapabilities realNetCaps = new NetworkCapabilities.Builder()
@@ -2160,21 +2162,17 @@ public class WifiPickerTrackerTest {
mBroadcastReceiverCaptor.getValue().onReceive(mMockContext, intent);
verify(mMockConnectivityManager).registerNetworkCallback(
any(), mNetworkCallbackCaptor.capture(), any());
- verify(mMockConnectivityManager, atLeast(0)).registerSystemDefaultNetworkCallback(
- mDefaultNetworkCallbackCaptor.capture(), any());
- verify(mMockConnectivityManager, atLeast(0)).registerDefaultNetworkCallback(
+ verify(mMockConnectivityManager).registerDefaultNetworkCallback(
mDefaultNetworkCallbackCaptor.capture(), any());
MockitoSession session = mockitoSession().spyStatic(NonSdkApiWrapper.class).startMocking();
try {
- // Connect to VCN-over-Wifi network
+ // Connect to Wifi network
when(mMockWifiInfo.isCarrierMerged()).thenReturn(true);
when(mMockWifiInfo.getSubscriptionId()).thenReturn(subId);
- doReturn(mMockWifiInfo).when(() ->
- NonSdkApiWrapper.getVcnWifiInfo(mMockVcnNetworkCapabilities));
doReturn(true).when(() -> NonSdkApiWrapper.isPrimary(mMockWifiInfo));
mNetworkCallbackCaptor.getValue().onCapabilitiesChanged(
- mMockNetwork, mMockVcnNetworkCapabilities);
+ mMockNetwork, mMockNetworkCapabilities);
MergedCarrierEntry mergedCarrierEntry = wifiPickerTracker.getMergedCarrierEntry();
assertThat(mergedCarrierEntry.getConnectedState())
.isEqualTo(CONNECTED_STATE_CONNECTED);