diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-06-10 16:36:05 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-06-10 16:36:05 +0000 |
commit | 98e931f38a77b6f181c2963e3e5812115008bc77 (patch) | |
tree | 92ce425af46247e17c9d6b94fce69ffa6fafe9e8 | |
parent | b6dc2dcd1add9aef19ff9bc35041067b046e9595 (diff) | |
parent | fff38eb5671d5dfe01a56b2d2fdea54383a1b75c (diff) | |
download | wifi-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
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. |