summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-10 16:36:05 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-10 16:36:05 +0000
commit98e931f38a77b6f181c2963e3e5812115008bc77 (patch)
tree92ce425af46247e17c9d6b94fce69ffa6fafe9e8
parentb6dc2dcd1add9aef19ff9bc35041067b046e9595 (diff)
parentfff38eb5671d5dfe01a56b2d2fdea54383a1b75c (diff)
downloadwifi-android13-mainline-go-adservices-release.tar.gz
Snap for 8708169 from fff38eb5671d5dfe01a56b2d2fdea54383a1b75c to mainline-go-adservices-releaseaml_go_ads_330915100aml_go_ads_330915000aml_go_ads_330913000android13-mainline-go-adservices-release
Change-Id: I3aa1a8d674972c69ec280eb1bbc6f3d4d26eb3be
-rw-r--r--libs/WifiTrackerLib/res/values-es/strings.xml2
-rw-r--r--libs/WifiTrackerLib/res/values-zh-rCN/strings.xml2
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java12
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java10
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java19
5 files changed, 43 insertions, 2 deletions
diff --git a/libs/WifiTrackerLib/res/values-es/strings.xml b/libs/WifiTrackerLib/res/values-es/strings.xml
index 5215f5d96..cce6c644f 100644
--- a/libs/WifiTrackerLib/res/values-es/strings.xml
+++ b/libs/WifiTrackerLib/res/values-es/strings.xml
@@ -41,7 +41,7 @@
<string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"No se ha podido acceder al servidor DNS privado"</string>
<string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Conectado al dispositivo. Sin acceso a Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Calidad baja"</string>
- <string name="wifitrackerlib_admin_restricted_network" msgid="5439914801076897515">"No permitida por tu organización"</string>
+ <string name="wifitrackerlib_admin_restricted_network" msgid="5439914801076897515">"No permitido por tu organización"</string>
<string name="wifitrackerlib_wifi_security_short_eap_wpa_wpa2" msgid="4815223667006927841">"WPA/WPA2-EAP"</string>
<string name="wifitrackerlib_wifi_security_eap_wpa_wpa2" msgid="6425661975745405271">"WPA/WPA2-Enterprise"</string>
<string name="wifitrackerlib_wifi_security_short_eap_wpa3" msgid="6210273302049534874">"WPA3-EAP"</string>
diff --git a/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml b/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml
index b6d7937ec..bc2fef89b 100644
--- a/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml
+++ b/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml
@@ -41,7 +41,7 @@
<string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"无法访问专用 DNS 服务器"</string>
<string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"已连接到设备,但无法提供互联网连接。"</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"质量不佳"</string>
- <string name="wifitrackerlib_admin_restricted_network" msgid="5439914801076897515">"贵单位不允许使用"</string>
+ <string name="wifitrackerlib_admin_restricted_network" msgid="5439914801076897515">"您的组织不允许使用"</string>
<string name="wifitrackerlib_wifi_security_short_eap_wpa_wpa2" msgid="4815223667006927841">"WPA/WPA2-EAP"</string>
<string name="wifitrackerlib_wifi_security_eap_wpa_wpa2" msgid="6425661975745405271">"WPA/WPA2-Enterprise"</string>
<string name="wifitrackerlib_wifi_security_short_eap_wpa3" msgid="6210273302049534874">"WPA3-EAP"</string>
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
index 831970477..64d1c5a4d 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
@@ -85,6 +85,8 @@ public class BaseWifiTracker implements LifecycleObserver {
private int mWifiState = WifiManager.WIFI_STATE_DISABLED;
+ private boolean mIsInitialized = false;
+
// Registered on the worker thread
private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
@@ -311,6 +313,7 @@ public class BaseWifiTracker implements LifecycleObserver {
NonSdkApiWrapper.registerSystemDefaultNetworkCallback(
mConnectivityManager, mDefaultNetworkCallback, mWorkerHandler);
handleOnStart();
+ mIsInitialized = true;
});
}
@@ -329,6 +332,15 @@ public class BaseWifiTracker implements LifecycleObserver {
}
/**
+ * Returns true if this WifiTracker has already been initialized in the worker thread via
+ * handleOnStart()
+ */
+ @AnyThread
+ boolean isInitialized() {
+ return mIsInitialized;
+ }
+
+ /**
* Returns the state of Wi-Fi as one of the following values.
*
* <li>{@link WifiManager#WIFI_STATE_DISABLED}</li>
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java
index bed117bc4..2d3cf5404 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java
@@ -196,6 +196,16 @@ public class WifiPickerTracker extends BaseWifiTracker {
*/
@AnyThread
public @Nullable MergedCarrierEntry getMergedCarrierEntry() {
+ if (!isInitialized() && mMergedCarrierEntry == null) {
+ // Settings currently relies on the MergedCarrierEntry being available before
+ // handleOnStart() is called in order to display the W+ toggle. Populate it here if
+ // we aren't initialized yet.
+ int subId = SubscriptionManager.getDefaultDataSubscriptionId();
+ if (subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+ mMergedCarrierEntry = new MergedCarrierEntry(mWorkerHandler, mWifiManager,
+ /* forSavedNetworksPage */ false, mContext, subId);
+ }
+ }
return mMergedCarrierEntry;
}
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
index 0829eb60b..27b27c889 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
@@ -1427,6 +1427,25 @@ public class WifiPickerTrackerTest {
}
/**
+ * Tests that a MergedCarrierEntry is returned even if WifiPickerTracker hasn't been initialized
+ * via handleOnStart() yet.
+ */
+ @Test
+ public void testGetMergedCarrierEntry_trackerNotInitialized_entryIsNotNull() {
+ final int subId = 1;
+ MockitoSession session = mockitoSession().spyStatic(SubscriptionManager.class)
+ .startMocking();
+ try {
+ doReturn(subId).when(SubscriptionManager::getDefaultDataSubscriptionId);
+ final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
+ MergedCarrierEntry mergedCarrierEntry = wifiPickerTracker.getMergedCarrierEntry();
+ assertThat(mergedCarrierEntry).isNotNull();
+ } finally {
+ session.finishMocking();
+ }
+ }
+
+ /**
* Tests that roaming from one network to another will update the new network as the default
* network if the default route did not change away from Wifi during the roam. This happens if
* the new network was switched to via MBB.