From f744223515487f2854e886e3c7fab9383b0aecb4 Mon Sep 17 00:00:00 2001 From: Quang Luong Date: Wed, 10 May 2023 23:54:34 +0000 Subject: Add SwitchIntDef lint suppressor to scan description for SUW SUW linter is still giving errors for using WifiScanner band enums in a switch statement. Add SwitchIntDef to suppress these errors and allow SUW to sync WifiTrackerLib. Bug: 270173046 Test: atest StandardWifiEntryTest Change-Id: I01be472d2a784f7c59d9ffc42d6022f0fdbae55f --- .../src/com/android/wifitrackerlib/StandardWifiEntry.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java index e97a3f6f5..95ab2599c 100644 --- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java +++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java @@ -962,7 +962,7 @@ public class StandardWifiEntry extends WifiEntry { } // TODO(b/227622961): Remove the suppression once the linter recognizes BuildCompat.isAtLeastT() - @SuppressLint("NewApi") + @SuppressLint({"NewApi", "SwitchIntDef"}) private synchronized String getScanResultDescription(ScanResult scanResult, long nowMs) { final StringBuilder description = new StringBuilder(); description.append(" \n{"); -- cgit v1.2.3 From fb458ef8e31a4d4fa69c1d27d642681d22d1143b Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Tue, 16 May 2023 16:18:19 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I12d2d57d0ef3de1fad80e072d6376fa74284afbc --- libs/WifiTrackerLib/res/values-ca/arrays.xml | 2 +- libs/WifiTrackerLib/res/values-ca/strings.xml | 2 +- libs/WifiTrackerLib/res/values-cs/strings.xml | 4 ++-- libs/WifiTrackerLib/res/values-fr-rCA/strings.xml | 2 +- libs/WifiTrackerLib/res/values-pa/strings.xml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libs/WifiTrackerLib/res/values-ca/arrays.xml b/libs/WifiTrackerLib/res/values-ca/arrays.xml index 8c28cf048..3d226f588 100644 --- a/libs/WifiTrackerLib/res/values-ca/arrays.xml +++ b/libs/WifiTrackerLib/res/values-ca/arrays.xml @@ -26,7 +26,7 @@ "S\'està connectant…" "S\'està autenticant…" "S\'està obtenint l\'adreça IP…" - "Connectat" + "Connectada" "Suspesa" "S\'està desconnectant…" "Desconnectada" diff --git a/libs/WifiTrackerLib/res/values-ca/strings.xml b/libs/WifiTrackerLib/res/values-ca/strings.xml index c2bfc3089..efb8a0253 100644 --- a/libs/WifiTrackerLib/res/values-ca/strings.xml +++ b/libs/WifiTrackerLib/res/values-ca/strings.xml @@ -20,7 +20,7 @@ "Connexió automàtica desactivada" "Desada per %1$s" "No es connectarà automàticament" - "No hi ha accés a Internet" + "Sense accés a Internet" "Problema d\'autenticació" "Comprova la contrasenya i torna-ho a provar" "Error de configuració d\'IP" diff --git a/libs/WifiTrackerLib/res/values-cs/strings.xml b/libs/WifiTrackerLib/res/values-cs/strings.xml index bb981a9f6..c7a657f61 100644 --- a/libs/WifiTrackerLib/res/values-cs/strings.xml +++ b/libs/WifiTrackerLib/res/values-cs/strings.xml @@ -18,9 +18,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> " / " "Automatické připojení je vypnuté" - "Uloženo uživatelem %1$s" + "Uložil(a): %1$s" "Nelze se automaticky připojit" - "Nejste připojeni k internetu" + "Není připojení k internetu" "Problém s ověřením" "Zkontrolujte heslo a zkuste to znovu" "Selhání konfigurace protokolu IP" diff --git a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml index b77fd28b1..8fa176bd7 100644 --- a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml +++ b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml @@ -51,7 +51,7 @@ "Suite-B-192" "WPA3-Enterprise 192 bits" "WPA/WPA2" - "WPA/WPA2-Personal" + "WPA/WPA2-Personnel" "WPA/WPA2/WPA3" "WPA/WPA2/WPA3-Personal" "WEP" diff --git a/libs/WifiTrackerLib/res/values-pa/strings.xml b/libs/WifiTrackerLib/res/values-pa/strings.xml index e6747340b..95c324195 100644 --- a/libs/WifiTrackerLib/res/values-pa/strings.xml +++ b/libs/WifiTrackerLib/res/values-pa/strings.xml @@ -22,7 +22,7 @@ "ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ" "ਕੋਈ ਇੰਟਰਨੈੱਟ ਪਹੁੰਚ ਨਹੀਂ" "ਪ੍ਰਮਾਣੀਕਰਨ ਸਮੱਸਿਆ" - "ਪਾਸਵਰਡ ਦੀ ਜਾਂਚ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ" + "ਪਾਸਵਰਡ ਦੀ ਜਾਂਚ ਕਰ ਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ" "IP ਸੰਰੂਪਣ ਅਸਫਲਤਾ" "ਬੰਦ ਕੀਤਾ ਗਿਆ" "ਪਹੁੰਚ ਬਿੰਦੂ ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਸੰਪੂਰਨ ਰੁਝੇਂਵੇਂ ਵਿੱਚ ਹੈ" -- cgit v1.2.3 From 5523d14263e759f832407ef4499fa7fd34125306 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Tue, 16 May 2023 16:20:17 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I3abe2b39565a1475857ed4f0443b579ccdae7edd --- libs/WifiTrackerLib/res/values-ca/arrays.xml | 2 +- libs/WifiTrackerLib/res/values-ca/strings.xml | 2 +- libs/WifiTrackerLib/res/values-cs/strings.xml | 4 ++-- libs/WifiTrackerLib/res/values-fr-rCA/strings.xml | 2 +- libs/WifiTrackerLib/res/values-pa/strings.xml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libs/WifiTrackerLib/res/values-ca/arrays.xml b/libs/WifiTrackerLib/res/values-ca/arrays.xml index 8c28cf048..3d226f588 100644 --- a/libs/WifiTrackerLib/res/values-ca/arrays.xml +++ b/libs/WifiTrackerLib/res/values-ca/arrays.xml @@ -26,7 +26,7 @@ "S\'està connectant…" "S\'està autenticant…" "S\'està obtenint l\'adreça IP…" - "Connectat" + "Connectada" "Suspesa" "S\'està desconnectant…" "Desconnectada" diff --git a/libs/WifiTrackerLib/res/values-ca/strings.xml b/libs/WifiTrackerLib/res/values-ca/strings.xml index fc28a37a1..5d1002fd3 100644 --- a/libs/WifiTrackerLib/res/values-ca/strings.xml +++ b/libs/WifiTrackerLib/res/values-ca/strings.xml @@ -21,7 +21,7 @@ "Connexió automàtica desactivada" "Desada per %1$s" "No es connectarà automàticament" - "No hi ha accés a Internet" + "Sense accés a Internet" "Problema d\'autenticació" "Comprova la contrasenya i torna-ho a provar" "Error de configuració d\'IP" diff --git a/libs/WifiTrackerLib/res/values-cs/strings.xml b/libs/WifiTrackerLib/res/values-cs/strings.xml index 0472dc5f7..ed574bb8a 100644 --- a/libs/WifiTrackerLib/res/values-cs/strings.xml +++ b/libs/WifiTrackerLib/res/values-cs/strings.xml @@ -19,9 +19,9 @@ " / " "Kontrola přístupu k internetu…" "Automatické připojení je vypnuté" - "Uloženo uživatelem %1$s" + "Uložil(a): %1$s" "Nelze se automaticky připojit" - "Nejste připojeni k internetu" + "Není připojení k internetu" "Problém s ověřením" "Zkontrolujte heslo a zkuste to znovu" "Selhání konfigurace protokolu IP" diff --git a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml index 9248e42fe..0f05c5c89 100644 --- a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml +++ b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml @@ -57,7 +57,7 @@ "Suite-B-192" "WPA3-Enterprise 192 bits" "WPA/WPA2" - "WPA/WPA2-Personal" + "WPA/WPA2-Personnel" "WPA/WPA2/WPA3" "WPA/WPA2/WPA3-Personal" "WEP" diff --git a/libs/WifiTrackerLib/res/values-pa/strings.xml b/libs/WifiTrackerLib/res/values-pa/strings.xml index ba9beec75..322e547c7 100644 --- a/libs/WifiTrackerLib/res/values-pa/strings.xml +++ b/libs/WifiTrackerLib/res/values-pa/strings.xml @@ -23,7 +23,7 @@ "ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ" "ਕੋਈ ਇੰਟਰਨੈੱਟ ਪਹੁੰਚ ਨਹੀਂ" "ਪ੍ਰਮਾਣੀਕਰਨ ਸਮੱਸਿਆ" - "ਪਾਸਵਰਡ ਦੀ ਜਾਂਚ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ" + "ਪਾਸਵਰਡ ਦੀ ਜਾਂਚ ਕਰ ਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ" "IP ਸੰਰੂਪਣ ਅਸਫਲਤਾ" "ਮੌਜੂਦਾ ਸੁਰੱਖਿਆ ਸੈਟਿੰਗਾਂ ਨਾਲ ਉਪਲਬਧ ਨਹੀਂ ਹੈ" "ਬੰਦ ਕੀਤਾ ਗਿਆ" -- cgit v1.2.3 From b98d924c449875f46c5454117a2951682be85351 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Tue, 16 May 2023 16:23:54 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I9c62fd4d97e331dc241ed6467c02036d23bbf024 --- libs/WifiTrackerLib/res/values-ca/arrays.xml | 2 +- libs/WifiTrackerLib/res/values-ca/strings.xml | 2 +- libs/WifiTrackerLib/res/values-cs/strings.xml | 4 ++-- libs/WifiTrackerLib/res/values-fr-rCA/strings.xml | 2 +- libs/WifiTrackerLib/res/values-pa/strings.xml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libs/WifiTrackerLib/res/values-ca/arrays.xml b/libs/WifiTrackerLib/res/values-ca/arrays.xml index 8c28cf048..3d226f588 100644 --- a/libs/WifiTrackerLib/res/values-ca/arrays.xml +++ b/libs/WifiTrackerLib/res/values-ca/arrays.xml @@ -26,7 +26,7 @@ "S\'està connectant…" "S\'està autenticant…" "S\'està obtenint l\'adreça IP…" - "Connectat" + "Connectada" "Suspesa" "S\'està desconnectant…" "Desconnectada" diff --git a/libs/WifiTrackerLib/res/values-ca/strings.xml b/libs/WifiTrackerLib/res/values-ca/strings.xml index d5189588f..91d960aa3 100644 --- a/libs/WifiTrackerLib/res/values-ca/strings.xml +++ b/libs/WifiTrackerLib/res/values-ca/strings.xml @@ -21,7 +21,7 @@ "Connexió automàtica desactivada" "Desada per %1$s" "No es connectarà automàticament" - "No hi ha accés a Internet" + "Sense accés a Internet" "Problema d\'autenticació" "Comprova la contrasenya i torna-ho a provar" "Error de configuració d\'IP" diff --git a/libs/WifiTrackerLib/res/values-cs/strings.xml b/libs/WifiTrackerLib/res/values-cs/strings.xml index fffdc2ba8..4b2c95e74 100644 --- a/libs/WifiTrackerLib/res/values-cs/strings.xml +++ b/libs/WifiTrackerLib/res/values-cs/strings.xml @@ -19,9 +19,9 @@ " / " "Kontrola přístupu k internetu…" "Automatické připojení je vypnuté" - "Uloženo uživatelem %1$s" + "Uložil(a): %1$s" "Nelze se automaticky připojit" - "Nejste připojeni k internetu" + "Není připojení k internetu" "Problém s ověřením" "Zkontrolujte heslo a zkuste to znovu" "Selhání konfigurace protokolu IP" diff --git a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml index 6f266a1e5..591a58575 100644 --- a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml +++ b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml @@ -53,7 +53,7 @@ "Suite-B-192" "WPA3-Enterprise 192 bits" "WPA/WPA2" - "WPA/WPA2-Personal" + "WPA/WPA2-Personnel" "WPA/WPA2/WPA3" "WPA/WPA2/WPA3-Personal" "WEP" diff --git a/libs/WifiTrackerLib/res/values-pa/strings.xml b/libs/WifiTrackerLib/res/values-pa/strings.xml index 734b3516c..0f6eba333 100644 --- a/libs/WifiTrackerLib/res/values-pa/strings.xml +++ b/libs/WifiTrackerLib/res/values-pa/strings.xml @@ -23,7 +23,7 @@ "ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ" "ਕੋਈ ਇੰਟਰਨੈੱਟ ਪਹੁੰਚ ਨਹੀਂ" "ਪ੍ਰਮਾਣੀਕਰਨ ਸਮੱਸਿਆ" - "ਪਾਸਵਰਡ ਦੀ ਜਾਂਚ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ" + "ਪਾਸਵਰਡ ਦੀ ਜਾਂਚ ਕਰ ਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ" "IP ਸੰਰੂਪਣ ਅਸਫਲਤਾ" "ਮੌਜੂਦਾ ਸੁਰੱਖਿਆ ਸੈਟਿੰਗਾਂ ਨਾਲ ਉਪਲਬਧ ਨਹੀਂ ਹੈ" "ਬੰਦ ਕੀਤਾ ਗਿਆ" -- cgit v1.2.3 From c465f7a8a784b1bfbf5c93e73fbf25f06bad44d9 Mon Sep 17 00:00:00 2001 From: Quang Luong Date: Tue, 16 May 2023 00:17:50 +0000 Subject: Go back to using app default network instead of the system default Go back to using registerDefaultNetworkCallback instead of registerSystemDefaultNetworkCallback so we can properly detect if VPN over wifi is the default network, and show W+ as connected. However, going back to registerDefaultNetworkCallback will result in b/224857908 and show wifi as low quality if it's validated but the VPN app chooses cell as the underlying network. To prevent this, do not show wifi as low quality if cell is default via VPN. Bug: 265362819 Test: atest WifiTrackerLibTests Change-Id: Id3f840ac28ae37afabf930efeec013b391e23030 --- .../android/wifitrackerlib/NonSdkApiWrapper.java | 14 ----------- .../android/wifitrackerlib/BaseWifiTracker.java | 4 ++-- .../android/wifitrackerlib/NonSdkApiWrapper.java | 11 --------- .../src/com/android/wifitrackerlib/WifiEntry.java | 16 ++++++++----- .../wifitrackerlib/PasspointWifiEntryTest.java | 27 ++++++++-------------- .../wifitrackerlib/StandardWifiEntryTest.java | 25 +++++++------------- .../wifitrackerlib/WifiPickerTrackerTest.java | 14 ++++++++++- 7 files changed, 42 insertions(+), 69 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 f0a7c7c87..52c51557b 100644 --- a/libs/WifiTrackerLib/sdk_src/src/com/android/wifitrackerlib/NonSdkApiWrapper.java +++ b/libs/WifiTrackerLib/sdk_src/src/com/android/wifitrackerlib/NonSdkApiWrapper.java @@ -23,7 +23,6 @@ import android.net.ConnectivityManager; import android.net.Network; import android.net.NetworkCapabilities; import android.net.wifi.WifiInfo; -import android.os.Handler; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -74,19 +73,6 @@ class NonSdkApiWrapper { return false; } - /** - * Registers the system default network callback. - */ - static void registerSystemDefaultNetworkCallback( - @NonNull ConnectivityManager connectivityManager, - @NonNull ConnectivityManager.NetworkCallback callback, - @NonNull Handler handler) { - // registerSystemDefaultNetworkCallback does not have visibility to non-updatable modules, - // so we have to use the regular registerDefaultNetworkCallback here. - // TODO(b/230643853): See if we can add registerSystemDefaultNetworkCallback to the SDK. - connectivityManager.registerDefaultNetworkCallback(callback, handler); - } - /** * Returns true if the WifiInfo is for the primary network, false otherwise. */ diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java index a430a44f4..1e0c5844e 100644 --- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java +++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java @@ -364,6 +364,8 @@ public class BaseWifiTracker { /* broadcastPermission */ null, mWorkerHandler); mConnectivityManager.registerNetworkCallback(mNetworkRequest, mNetworkCallback, mWorkerHandler); + mConnectivityManager.registerDefaultNetworkCallback(mDefaultNetworkCallback, + mWorkerHandler); mConnectivityDiagnosticsManager.registerConnectivityDiagnosticsCallback(mNetworkRequest, mConnectivityDiagnosticsExecutor, mConnectivityDiagnosticsCallback); if (mSharedConnectivityManager != null && mSharedConnectivityCallback != null @@ -371,8 +373,6 @@ public class BaseWifiTracker { mSharedConnectivityManager.registerCallback(mSharedConnectivityExecutor, mSharedConnectivityCallback); } - NonSdkApiWrapper.registerSystemDefaultNetworkCallback( - mConnectivityManager, mDefaultNetworkCallback, mWorkerHandler); handleOnStart(); mIsInitialized = true; }); diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java index 3bd206f5f..0a71bcbe8 100644 --- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java +++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NonSdkApiWrapper.java @@ -25,7 +25,6 @@ import android.net.NetworkCapabilities; import android.net.TransportInfo; import android.net.vcn.VcnTransportInfo; import android.net.wifi.WifiInfo; -import android.os.Handler; import android.os.UserManager; import android.text.Annotation; import android.text.SpannableString; @@ -110,16 +109,6 @@ class NonSdkApiWrapper { return UserManager.isDeviceInDemoMode(context); } - /** - * Registers the default network callback. - */ - static void registerSystemDefaultNetworkCallback( - @NonNull ConnectivityManager connectivityManager, - @NonNull ConnectivityManager.NetworkCallback callback, - @NonNull Handler handler) { - connectivityManager.registerSystemDefaultNetworkCallback(callback, handler); - } - /** * Returns true if the WifiInfo is for the primary network, false otherwise. */ diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java index c2bc0ad7a..703d7a770 100644 --- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java +++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java @@ -238,6 +238,7 @@ public class WifiEntry { protected NetworkInfo mNetworkInfo; protected Network mNetwork; protected NetworkCapabilities mNetworkCapabilities; + protected NetworkCapabilities mDefaultNetworkCapabilities; protected ConnectivityDiagnosticsManager.ConnectivityReport mConnectivityReport; protected ConnectedInfo mConnectedInfo; @@ -249,7 +250,6 @@ public class WifiEntry { protected boolean mCalledDisconnect = false; protected boolean mIsDefaultNetwork; - protected boolean mIsCellDefaultNetwork; private Optional mManageSubscriptionAction = Optional.empty(); @@ -334,11 +334,12 @@ public class WifiEntry { /** * Returns whether the level icon for this network should show an X or not. + * By default, this means any connected network that has no/low-quality internet access. */ public boolean shouldShowXLevelIcon() { return getConnectedState() != CONNECTED_STATE_DISCONNECTED && mConnectivityReport != null - && (!hasInternetAccess() || !mIsDefaultNetwork) + && (!hasInternetAccess() || isLowQuality()) && !canSignIn() && isPrimaryNetwork(); } @@ -380,8 +381,12 @@ public class WifiEntry { if (mNetworkCapabilities == null) { return false; } + if (mDefaultNetworkCapabilities == null) { + return false; + } return mNetworkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED) - && mIsCellDefaultNetwork; + && mDefaultNetworkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) + && !mDefaultNetworkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_VPN); } /** @@ -976,8 +981,7 @@ public class WifiEntry { @NonNull Network network, @NonNull NetworkCapabilities capabilities) { onNetworkCapabilitiesChanged(network, capabilities); - mIsCellDefaultNetwork = Utils.getWifiInfo(capabilities) == null - && capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR); + mDefaultNetworkCapabilities = capabilities; mIsDefaultNetwork = network.equals(mNetwork); notifyOnUpdated(); } @@ -986,7 +990,7 @@ public class WifiEntry { * Notifies this WifiEntry that the default network was lost. */ synchronized void onDefaultNetworkLost() { - mIsCellDefaultNetwork = false; + mDefaultNetworkCapabilities = null; mIsDefaultNetwork = false; notifyOnUpdated(); } diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/PasspointWifiEntryTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/PasspointWifiEntryTest.java index fcd939e00..ebd86cb02 100644 --- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/PasspointWifiEntryTest.java +++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/PasspointWifiEntryTest.java @@ -45,6 +45,7 @@ import android.os.test.TestLooper; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.mockito.MockitoSession; @@ -222,7 +223,7 @@ public class PasspointWifiEntryTest { } @Test - public void testShouldShowXLevelIcon_unvalidatedOrNotDefault_returnsTrue() { + public void testShouldShowXLevelIcon_unvalidatedOrLowQuality_returnsTrue() { when(mMockWifiInfo.isPasspointAp()).thenReturn(true); when(mMockWifiInfo.getPasspointFqdn()).thenReturn(FQDN); @@ -233,37 +234,27 @@ public class PasspointWifiEntryTest { // Disconnected should return false; assertThat(entry.shouldShowXLevelIcon()).isEqualTo(false); - // Not validated, Not Default + // Connected but validation attempt not complete, should not show X level icon yet. entry.onNetworkCapabilitiesChanged(mMockNetwork, mMockNetworkCapabilities); - - // Validation attempt not complete, should not show X level icon yet. assertThat(entry.shouldShowXLevelIcon()).isEqualTo(false); - // Validation attempt complete, should show X level icon now. + // Validation attempt complete, should show X level icon. ConnectivityDiagnosticsManager.ConnectivityReport connectivityReport = mock( ConnectivityDiagnosticsManager.ConnectivityReport.class); when(connectivityReport.getNetwork()).thenReturn(mMockNetwork); entry.updateConnectivityReport(connectivityReport); - - assertThat(entry.shouldShowXLevelIcon()).isEqualTo(true); - - // Not Validated, Default - entry.onDefaultNetworkCapabilitiesChanged(mMockNetwork, mMockNetworkCapabilities); - assertThat(entry.shouldShowXLevelIcon()).isEqualTo(true); - // Validated, Default + // Internet validated, should not show X level icon. when(mMockNetworkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)) .thenReturn(true); entry.onNetworkCapabilitiesChanged(mMockNetwork, mMockNetworkCapabilities); - assertThat(entry.shouldShowXLevelIcon()).isEqualTo(false); - // Validated, Not Default - Network otherNetwork = mock(Network.class); - when(otherNetwork.getNetId()).thenReturn(2); - entry.onDefaultNetworkCapabilitiesChanged(otherNetwork, new NetworkCapabilities()); - + // Cell becomes default (i.e. low quality wifi), show X level icon. + entry.onDefaultNetworkCapabilitiesChanged(Mockito.mock(Network.class), + new NetworkCapabilities.Builder() + .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR).build()); assertThat(entry.shouldShowXLevelIcon()).isEqualTo(true); } diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardWifiEntryTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardWifiEntryTest.java index bd954a632..609b00c31 100644 --- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardWifiEntryTest.java +++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardWifiEntryTest.java @@ -84,6 +84,7 @@ import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.mockito.MockitoSession; @@ -826,39 +827,29 @@ public class StandardWifiEntryTest { // Disconnected should return false; assertThat(entry.shouldShowXLevelIcon()).isEqualTo(false); - // Not validated, Not Default + // Connected but validation attempt not complete, should not show X level icon yet. when(mMockWifiInfo.getNetworkId()).thenReturn(networkId); when(mMockWifiInfo.getRssi()).thenReturn(TestUtils.GOOD_RSSI); - entry.onNetworkCapabilitiesChanged(mMockNetwork, mMockNetworkCapabilities); - - // Validation attempt not complete, should not show X level icon yet. assertThat(entry.shouldShowXLevelIcon()).isEqualTo(false); - // Validation attempt complete, should show X level icon now. + // Validation attempt complete, should show X level icon. ConnectivityDiagnosticsManager.ConnectivityReport connectivityReport = mock( ConnectivityDiagnosticsManager.ConnectivityReport.class); when(connectivityReport.getNetwork()).thenReturn(mMockNetwork); entry.updateConnectivityReport(connectivityReport); assertThat(entry.shouldShowXLevelIcon()).isEqualTo(true); - // Not Validated, Default - entry.onDefaultNetworkCapabilitiesChanged(mMockNetwork, mMockNetworkCapabilities); - - assertThat(entry.shouldShowXLevelIcon()).isEqualTo(true); - - // Validated, Default + // Internet validated, should not show X level icon. when(mMockNetworkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)) .thenReturn(true); entry.onNetworkCapabilitiesChanged(mMockNetwork, mMockNetworkCapabilities); - assertThat(entry.shouldShowXLevelIcon()).isEqualTo(false); - // Validated, Not Default - Network otherNetwork = mock(Network.class); - when(otherNetwork.getNetId()).thenReturn(2); - entry.onDefaultNetworkCapabilitiesChanged(otherNetwork, new NetworkCapabilities()); - + // Cell becomes default (i.e. low quality wifi), show X level icon. + entry.onDefaultNetworkCapabilitiesChanged(Mockito.mock(Network.class), + new NetworkCapabilities.Builder() + .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR).build()); assertThat(entry.shouldShowXLevelIcon()).isEqualTo(true); } diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java index 78675a742..aa9f0d8e3 100644 --- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java +++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java @@ -788,7 +788,19 @@ public class WifiPickerTrackerTest { // Cell default + primary network validation should trigger low quality assertThat(wifiPickerTracker.getConnectedWifiEntry().getSummary()).isEqualTo(lowQuality); - // Lose the default network. Low quality should disappear, since cell isn't default anymore + // Cell + VPN is default should not trigger low quality, since the VPN underlying network is + // determined by the VPN app and not whether Wi-Fi is low quality or not. + mDefaultNetworkCallbackCaptor.getValue().onCapabilitiesChanged(Mockito.mock(Network.class), + new NetworkCapabilities.Builder() + .addTransportType(NetworkCapabilities.TRANSPORT_VPN) + .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR).build()); + assertThat(wifiPickerTracker.getConnectedWifiEntry().getSummary()).isNotEqualTo(lowQuality); + + // Set Cell to the default but then lose the default network. Low quality should disappear + // since cell default was lost. + mDefaultNetworkCallbackCaptor.getValue().onCapabilitiesChanged(Mockito.mock(Network.class), + new NetworkCapabilities.Builder() + .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR).build()); mDefaultNetworkCallbackCaptor.getValue().onLost(mock(Network.class)); assertThat(wifiPickerTracker.getConnectedWifiEntry().isDefaultNetwork()).isFalse(); } -- cgit v1.2.3 From 22601ac9506930c2f1724c4addfab22181e98924 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Tue, 16 May 2023 18:09:03 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: If20fc0d5739bcdba42bd344a16c259ac6117d9ab --- libs/WifiTrackerLib/res/values-ca/arrays.xml | 2 +- libs/WifiTrackerLib/res/values-ca/strings.xml | 2 +- libs/WifiTrackerLib/res/values-cs/strings.xml | 4 ++-- libs/WifiTrackerLib/res/values-fr-rCA/strings.xml | 2 +- libs/WifiTrackerLib/res/values-pa/strings.xml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libs/WifiTrackerLib/res/values-ca/arrays.xml b/libs/WifiTrackerLib/res/values-ca/arrays.xml index 8c28cf048..3d226f588 100644 --- a/libs/WifiTrackerLib/res/values-ca/arrays.xml +++ b/libs/WifiTrackerLib/res/values-ca/arrays.xml @@ -26,7 +26,7 @@ "S\'està connectant…" "S\'està autenticant…" "S\'està obtenint l\'adreça IP…" - "Connectat" + "Connectada" "Suspesa" "S\'està desconnectant…" "Desconnectada" diff --git a/libs/WifiTrackerLib/res/values-ca/strings.xml b/libs/WifiTrackerLib/res/values-ca/strings.xml index fc28a37a1..5d1002fd3 100644 --- a/libs/WifiTrackerLib/res/values-ca/strings.xml +++ b/libs/WifiTrackerLib/res/values-ca/strings.xml @@ -21,7 +21,7 @@ "Connexió automàtica desactivada" "Desada per %1$s" "No es connectarà automàticament" - "No hi ha accés a Internet" + "Sense accés a Internet" "Problema d\'autenticació" "Comprova la contrasenya i torna-ho a provar" "Error de configuració d\'IP" diff --git a/libs/WifiTrackerLib/res/values-cs/strings.xml b/libs/WifiTrackerLib/res/values-cs/strings.xml index 0472dc5f7..ed574bb8a 100644 --- a/libs/WifiTrackerLib/res/values-cs/strings.xml +++ b/libs/WifiTrackerLib/res/values-cs/strings.xml @@ -19,9 +19,9 @@ " / " "Kontrola přístupu k internetu…" "Automatické připojení je vypnuté" - "Uloženo uživatelem %1$s" + "Uložil(a): %1$s" "Nelze se automaticky připojit" - "Nejste připojeni k internetu" + "Není připojení k internetu" "Problém s ověřením" "Zkontrolujte heslo a zkuste to znovu" "Selhání konfigurace protokolu IP" diff --git a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml index 9248e42fe..0f05c5c89 100644 --- a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml +++ b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml @@ -57,7 +57,7 @@ "Suite-B-192" "WPA3-Enterprise 192 bits" "WPA/WPA2" - "WPA/WPA2-Personal" + "WPA/WPA2-Personnel" "WPA/WPA2/WPA3" "WPA/WPA2/WPA3-Personal" "WEP" diff --git a/libs/WifiTrackerLib/res/values-pa/strings.xml b/libs/WifiTrackerLib/res/values-pa/strings.xml index ba9beec75..322e547c7 100644 --- a/libs/WifiTrackerLib/res/values-pa/strings.xml +++ b/libs/WifiTrackerLib/res/values-pa/strings.xml @@ -23,7 +23,7 @@ "ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ" "ਕੋਈ ਇੰਟਰਨੈੱਟ ਪਹੁੰਚ ਨਹੀਂ" "ਪ੍ਰਮਾਣੀਕਰਨ ਸਮੱਸਿਆ" - "ਪਾਸਵਰਡ ਦੀ ਜਾਂਚ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ" + "ਪਾਸਵਰਡ ਦੀ ਜਾਂਚ ਕਰ ਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ" "IP ਸੰਰੂਪਣ ਅਸਫਲਤਾ" "ਮੌਜੂਦਾ ਸੁਰੱਖਿਆ ਸੈਟਿੰਗਾਂ ਨਾਲ ਉਪਲਬਧ ਨਹੀਂ ਹੈ" "ਬੰਦ ਕੀਤਾ ਗਿਆ" -- cgit v1.2.3 From 17b4cbbc6311a3acc11ee5c51320bc885cf86aed Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Mon, 22 May 2023 14:22:46 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Ibddc64112d56a6278bbcfdc3d41d2ed6dac0e15d --- libs/WifiTrackerLib/res/values-fr-rCA/strings.xml | 2 +- libs/WifiTrackerLib/res/values-hy/strings.xml | 2 +- libs/WifiTrackerLib/res/values-iw/strings.xml | 2 +- libs/WifiTrackerLib/res/values-or/arrays.xml | 2 +- libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml | 2 +- libs/WifiTrackerLib/res/values-pt-rPT/strings.xml | 2 +- libs/WifiTrackerLib/res/values-ru/strings.xml | 4 ++-- libs/WifiTrackerLib/res/values-sk/strings.xml | 2 +- libs/WifiTrackerLib/res/values-zh-rCN/strings.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml index 8fa176bd7..3312678c0 100644 --- a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml +++ b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml @@ -18,7 +18,7 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> " / " "La connexion automatique est désactivée" - "Enregistrés par %1$s" + "Enregistré par %1$s" "Reconnexion automatique impossible" "Aucun accès à Internet" "Problème d\'authentification" diff --git a/libs/WifiTrackerLib/res/values-hy/strings.xml b/libs/WifiTrackerLib/res/values-hy/strings.xml index fed6afb9c..52241f4ad 100644 --- a/libs/WifiTrackerLib/res/values-hy/strings.xml +++ b/libs/WifiTrackerLib/res/values-hy/strings.xml @@ -18,7 +18,7 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> " / " "Ավտոմատ միացումն անջատված է" - "Ով է պահել՝ %1$s" + "Պահված է՝ %1$s" "Չի միանա ավտոմատ" "Ինտերնետ կապ չկա" "Նույնականացման խնդիր" diff --git a/libs/WifiTrackerLib/res/values-iw/strings.xml b/libs/WifiTrackerLib/res/values-iw/strings.xml index 0ac690562..dd700c6f7 100644 --- a/libs/WifiTrackerLib/res/values-iw/strings.xml +++ b/libs/WifiTrackerLib/res/values-iw/strings.xml @@ -18,7 +18,7 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> " / " "החיבור האוטומטי כבוי" - "נשמרה על-ידי %1$s" + "נשמרה על-ידי: %1$s" "לא יתבצע חיבור באופן אוטומטי" "אין גישה לאינטרנט" "בעיית אימות" diff --git a/libs/WifiTrackerLib/res/values-or/arrays.xml b/libs/WifiTrackerLib/res/values-or/arrays.xml index 607552e7b..838ab874c 100644 --- a/libs/WifiTrackerLib/res/values-or/arrays.xml +++ b/libs/WifiTrackerLib/res/values-or/arrays.xml @@ -26,7 +26,7 @@ "ସଂଯୋଗ ହେଉଛି…" "ପ୍ରାମାଣିକରଣ କରାଯାଉଛି…" "IP ଠିକଣା ପ୍ରାପ୍ତ କରୁଛି…" - "ସଂଯୋଗ ହୋଇଛି" + "କନେକ୍ଟ କରାଯାଇଛି" "ସାମୟିକ ଭାବରେ ବନ୍ଦ କରାଯାଇଛି" "ବିଚ୍ଛିନ୍ନ କରାଯାଉଛି…" "ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି" diff --git a/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml b/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml index 822b09180..351582278 100644 --- a/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml +++ b/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml @@ -26,7 +26,7 @@ "A ligar…" "A autenticar…" "A obter endereço IP…" - "Ligado" + "Ligada" "Suspenso" "A desligar…" "Desligado" diff --git a/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml b/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml index 50a4bcdd3..8f574c911 100644 --- a/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml +++ b/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml @@ -22,7 +22,7 @@ "Não é efetuada uma ligação automaticamente." "Sem acesso à Internet." "Problema de autenticação" - "Verifique a palavra-passe e tente novamente." + "Verifique palavra-passe e tente de novo" "Falha de configuração de IP" "Desativada" "Ponto de acesso temporariamente cheio." diff --git a/libs/WifiTrackerLib/res/values-ru/strings.xml b/libs/WifiTrackerLib/res/values-ru/strings.xml index 950361d15..b9497b8d9 100644 --- a/libs/WifiTrackerLib/res/values-ru/strings.xml +++ b/libs/WifiTrackerLib/res/values-ru/strings.xml @@ -20,9 +20,9 @@ "Автоподключение отключено" "Сохранено: %1$s" "Подключение не будет выполняться автоматически" - "Без доступа к Интернету" + "Без доступа к интернету" "Ошибка аутентификации" - "Похоже, вы указали неверный пароль. Повторите попытку." + "Неверный пароль. Повторите попытку." "Ошибка конфигурации IP" "Отключено" "К точке доступа подключено слишком много устройств" diff --git a/libs/WifiTrackerLib/res/values-sk/strings.xml b/libs/WifiTrackerLib/res/values-sk/strings.xml index e2282a363..559b4a2f7 100644 --- a/libs/WifiTrackerLib/res/values-sk/strings.xml +++ b/libs/WifiTrackerLib/res/values-sk/strings.xml @@ -18,7 +18,7 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> " / " "Automatické pripojenie je vypnuté" - "Uložil používateľ %1$s" + "Uložila aplikácia %1$s" "Nedôjde k automatickému pripojeniu" "Bez prístupu k internetu" "Problém s overením" diff --git a/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml b/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml index bc2fef89b..464c98b96 100644 --- a/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml +++ b/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml @@ -18,7 +18,7 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> " / " "自动连接已关闭" - "已由%1$s保存" + "由%1$s保存" "无法自动连接" "无法访问互联网" "身份验证出现问题" -- cgit v1.2.3 From 25dbcd489e6776be2540086da582e04888e5a8b4 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Mon, 22 May 2023 14:24:03 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I7227d58e7e31c5114be674d76cced17774c0ecdc --- libs/WifiTrackerLib/res/values-fr-rCA/strings.xml | 2 +- libs/WifiTrackerLib/res/values-hy/strings.xml | 2 +- libs/WifiTrackerLib/res/values-iw/strings.xml | 2 +- libs/WifiTrackerLib/res/values-or/arrays.xml | 2 +- libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml | 2 +- libs/WifiTrackerLib/res/values-pt-rPT/strings.xml | 2 +- libs/WifiTrackerLib/res/values-ru/strings.xml | 4 ++-- libs/WifiTrackerLib/res/values-sk/strings.xml | 2 +- libs/WifiTrackerLib/res/values-zh-rCN/strings.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml index 0f05c5c89..968ceaccf 100644 --- a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml +++ b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml @@ -19,7 +19,7 @@ " / " "Recherche d\'un accès Internet…" "La connexion automatique est désactivée" - "Enregistrés par %1$s" + "Enregistré par %1$s" "Reconnexion automatique impossible" "Aucun accès à Internet" "Problème d\'authentification" diff --git a/libs/WifiTrackerLib/res/values-hy/strings.xml b/libs/WifiTrackerLib/res/values-hy/strings.xml index 1a881b219..f1749bb5b 100644 --- a/libs/WifiTrackerLib/res/values-hy/strings.xml +++ b/libs/WifiTrackerLib/res/values-hy/strings.xml @@ -19,7 +19,7 @@ " / " "Ինտերնետի հասանելիության ստուգում…" "Ավտոմատ միացումն անջատված է" - "Ով է պահել՝ %1$s" + "Պահված է՝ %1$s" "Չի միանա ավտոմատ" "Ինտերնետ կապ չկա" "Նույնականացման խնդիր" diff --git a/libs/WifiTrackerLib/res/values-iw/strings.xml b/libs/WifiTrackerLib/res/values-iw/strings.xml index c2366b405..500806c8a 100644 --- a/libs/WifiTrackerLib/res/values-iw/strings.xml +++ b/libs/WifiTrackerLib/res/values-iw/strings.xml @@ -19,7 +19,7 @@ " / " "מתבצעת בדיקה לצורך גישה לאינטרנט..." "החיבור האוטומטי כבוי" - "נשמרה על-ידי %1$s" + "נשמרה על-ידי: %1$s" "לא יתבצע חיבור באופן אוטומטי" "אין גישה לאינטרנט" "בעיית אימות" diff --git a/libs/WifiTrackerLib/res/values-or/arrays.xml b/libs/WifiTrackerLib/res/values-or/arrays.xml index 607552e7b..838ab874c 100644 --- a/libs/WifiTrackerLib/res/values-or/arrays.xml +++ b/libs/WifiTrackerLib/res/values-or/arrays.xml @@ -26,7 +26,7 @@ "ସଂଯୋଗ ହେଉଛି…" "ପ୍ରାମାଣିକରଣ କରାଯାଉଛି…" "IP ଠିକଣା ପ୍ରାପ୍ତ କରୁଛି…" - "ସଂଯୋଗ ହୋଇଛି" + "କନେକ୍ଟ କରାଯାଇଛି" "ସାମୟିକ ଭାବରେ ବନ୍ଦ କରାଯାଇଛି" "ବିଚ୍ଛିନ୍ନ କରାଯାଉଛି…" "ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି" diff --git a/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml b/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml index 822b09180..351582278 100644 --- a/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml +++ b/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml @@ -26,7 +26,7 @@ "A ligar…" "A autenticar…" "A obter endereço IP…" - "Ligado" + "Ligada" "Suspenso" "A desligar…" "Desligado" diff --git a/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml b/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml index 179435b6f..0ba5796f0 100644 --- a/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml +++ b/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml @@ -23,7 +23,7 @@ "Não é efetuada uma ligação automaticamente." "Sem acesso à Internet." "Problema de autenticação" - "Verifique a palavra-passe e tente novamente." + "Verifique palavra-passe e tente de novo" "Falha de configuração de IP" "Indisponível com as definições de segurança atuais" "Desativada" diff --git a/libs/WifiTrackerLib/res/values-ru/strings.xml b/libs/WifiTrackerLib/res/values-ru/strings.xml index befda266b..b25060f77 100644 --- a/libs/WifiTrackerLib/res/values-ru/strings.xml +++ b/libs/WifiTrackerLib/res/values-ru/strings.xml @@ -21,9 +21,9 @@ "Автоподключение отключено" "Сохранено: %1$s" "Подключение не будет выполняться автоматически" - "Без доступа к Интернету" + "Без доступа к интернету" "Ошибка аутентификации" - "Похоже, вы указали неверный пароль. Повторите попытку." + "Неверный пароль. Повторите попытку." "Ошибка конфигурации IP" "Доступ закрыт согласно настройкам безопасности" "Отключено" diff --git a/libs/WifiTrackerLib/res/values-sk/strings.xml b/libs/WifiTrackerLib/res/values-sk/strings.xml index e3e495511..c757dc71c 100644 --- a/libs/WifiTrackerLib/res/values-sk/strings.xml +++ b/libs/WifiTrackerLib/res/values-sk/strings.xml @@ -19,7 +19,7 @@ " / " "Kontroluje sa dostupnosť internetového pripojenia..." "Automatické pripojenie je vypnuté" - "Uložil používateľ %1$s" + "Uložila aplikácia %1$s" "Nedôjde k automatickému pripojeniu" "Bez prístupu k internetu" "Problém s overením" diff --git a/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml b/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml index cbf3a82b8..5be532e2e 100644 --- a/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml +++ b/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml @@ -19,7 +19,7 @@ " / " "正在检查互联网访问权限…" "自动连接已关闭" - "已由%1$s保存" + "由%1$s保存" "无法自动连接" "无法访问互联网" "身份验证出现问题" -- cgit v1.2.3 From 86bd74dc43dc7e329875201144479dc57f57aa0f Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Mon, 22 May 2023 14:26:45 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I41910c84cee3f9d19e6a6f5680d54176db911487 --- libs/WifiTrackerLib/res/values-fr-rCA/strings.xml | 2 +- libs/WifiTrackerLib/res/values-hy/strings.xml | 2 +- libs/WifiTrackerLib/res/values-iw/strings.xml | 2 +- libs/WifiTrackerLib/res/values-or/arrays.xml | 2 +- libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml | 2 +- libs/WifiTrackerLib/res/values-pt-rPT/strings.xml | 2 +- libs/WifiTrackerLib/res/values-ru/strings.xml | 4 ++-- libs/WifiTrackerLib/res/values-sk/strings.xml | 2 +- libs/WifiTrackerLib/res/values-zh-rCN/strings.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml index 591a58575..8e5e6028f 100644 --- a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml +++ b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml @@ -19,7 +19,7 @@ " / " "Recherche d\'un accès Internet…" "La connexion automatique est désactivée" - "Enregistrés par %1$s" + "Enregistré par %1$s" "Reconnexion automatique impossible" "Aucun accès à Internet" "Problème d\'authentification" diff --git a/libs/WifiTrackerLib/res/values-hy/strings.xml b/libs/WifiTrackerLib/res/values-hy/strings.xml index 750ee17da..a4603e5e3 100644 --- a/libs/WifiTrackerLib/res/values-hy/strings.xml +++ b/libs/WifiTrackerLib/res/values-hy/strings.xml @@ -19,7 +19,7 @@ " / " "Ինտերնետի հասանելիության ստուգում…" "Ավտոմատ միացումն անջատված է" - "Ով է պահել՝ %1$s" + "Պահված է՝ %1$s" "Չի միանա ավտոմատ" "Ինտերնետ կապ չկա" "Նույնականացման խնդիր" diff --git a/libs/WifiTrackerLib/res/values-iw/strings.xml b/libs/WifiTrackerLib/res/values-iw/strings.xml index 5fbbb47e4..1c33e1dd5 100644 --- a/libs/WifiTrackerLib/res/values-iw/strings.xml +++ b/libs/WifiTrackerLib/res/values-iw/strings.xml @@ -19,7 +19,7 @@ " / " "מתבצעת בדיקה לצורך גישה לאינטרנט..." "החיבור האוטומטי כבוי" - "נשמרה על-ידי %1$s" + "נשמרה על-ידי: %1$s" "לא יתבצע חיבור באופן אוטומטי" "אין גישה לאינטרנט" "בעיית אימות" diff --git a/libs/WifiTrackerLib/res/values-or/arrays.xml b/libs/WifiTrackerLib/res/values-or/arrays.xml index 607552e7b..838ab874c 100644 --- a/libs/WifiTrackerLib/res/values-or/arrays.xml +++ b/libs/WifiTrackerLib/res/values-or/arrays.xml @@ -26,7 +26,7 @@ "ସଂଯୋଗ ହେଉଛି…" "ପ୍ରାମାଣିକରଣ କରାଯାଉଛି…" "IP ଠିକଣା ପ୍ରାପ୍ତ କରୁଛି…" - "ସଂଯୋଗ ହୋଇଛି" + "କନେକ୍ଟ କରାଯାଇଛି" "ସାମୟିକ ଭାବରେ ବନ୍ଦ କରାଯାଇଛି" "ବିଚ୍ଛିନ୍ନ କରାଯାଉଛି…" "ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି" diff --git a/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml b/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml index 822b09180..351582278 100644 --- a/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml +++ b/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml @@ -26,7 +26,7 @@ "A ligar…" "A autenticar…" "A obter endereço IP…" - "Ligado" + "Ligada" "Suspenso" "A desligar…" "Desligado" diff --git a/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml b/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml index e6757a522..d71585bc6 100644 --- a/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml +++ b/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml @@ -23,7 +23,7 @@ "Não é efetuada uma ligação automaticamente." "Sem acesso à Internet." "Problema de autenticação" - "Verifique a palavra-passe e tente novamente." + "Verifique palavra-passe e tente de novo" "Falha de configuração de IP" "Indisponível com as definições de segurança atuais" "Desativada" diff --git a/libs/WifiTrackerLib/res/values-ru/strings.xml b/libs/WifiTrackerLib/res/values-ru/strings.xml index 65d6d8cc4..6e11b0de6 100644 --- a/libs/WifiTrackerLib/res/values-ru/strings.xml +++ b/libs/WifiTrackerLib/res/values-ru/strings.xml @@ -21,9 +21,9 @@ "Автоподключение отключено" "Сохранено: %1$s" "Подключение не будет выполняться автоматически" - "Без доступа к Интернету" + "Без доступа к интернету" "Ошибка аутентификации" - "Похоже, вы указали неверный пароль. Повторите попытку." + "Неверный пароль. Повторите попытку." "Ошибка конфигурации IP" "Доступ закрыт согласно настройкам безопасности" "Отключено" diff --git a/libs/WifiTrackerLib/res/values-sk/strings.xml b/libs/WifiTrackerLib/res/values-sk/strings.xml index 699917ef6..12048cd0b 100644 --- a/libs/WifiTrackerLib/res/values-sk/strings.xml +++ b/libs/WifiTrackerLib/res/values-sk/strings.xml @@ -19,7 +19,7 @@ " / " "Kontroluje sa dostupnosť internetového pripojenia..." "Automatické pripojenie je vypnuté" - "Uložil používateľ %1$s" + "Uložila aplikácia %1$s" "Nedôjde k automatickému pripojeniu" "Bez prístupu k internetu" "Problém s overením" diff --git a/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml b/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml index 5a766aa58..d11f8c84d 100644 --- a/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml +++ b/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml @@ -19,7 +19,7 @@ " / " "正在检查互联网访问权限…" "自动连接已关闭" - "已由%1$s保存" + "由%1$s保存" "无法自动连接" "无法访问互联网" "身份验证出现问题" -- cgit v1.2.3 From 75d43c49b7e43916c103d7067ddbb8be60aeb816 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Tue, 23 May 2023 00:22:39 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Ibb9ecf706a5a43b38c3a1f59af7f3dadd1d3947e --- libs/WifiTrackerLib/res/values-fr-rCA/strings.xml | 2 +- libs/WifiTrackerLib/res/values-hy/strings.xml | 2 +- libs/WifiTrackerLib/res/values-iw/strings.xml | 2 +- libs/WifiTrackerLib/res/values-or/arrays.xml | 2 +- libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml | 2 +- libs/WifiTrackerLib/res/values-pt-rPT/strings.xml | 2 +- libs/WifiTrackerLib/res/values-ru/strings.xml | 4 ++-- libs/WifiTrackerLib/res/values-sk/strings.xml | 2 +- libs/WifiTrackerLib/res/values-zh-rCN/strings.xml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml index 0f05c5c89..968ceaccf 100644 --- a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml +++ b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml @@ -19,7 +19,7 @@ " / " "Recherche d\'un accès Internet…" "La connexion automatique est désactivée" - "Enregistrés par %1$s" + "Enregistré par %1$s" "Reconnexion automatique impossible" "Aucun accès à Internet" "Problème d\'authentification" diff --git a/libs/WifiTrackerLib/res/values-hy/strings.xml b/libs/WifiTrackerLib/res/values-hy/strings.xml index 1a881b219..f1749bb5b 100644 --- a/libs/WifiTrackerLib/res/values-hy/strings.xml +++ b/libs/WifiTrackerLib/res/values-hy/strings.xml @@ -19,7 +19,7 @@ " / " "Ինտերնետի հասանելիության ստուգում…" "Ավտոմատ միացումն անջատված է" - "Ով է պահել՝ %1$s" + "Պահված է՝ %1$s" "Չի միանա ավտոմատ" "Ինտերնետ կապ չկա" "Նույնականացման խնդիր" diff --git a/libs/WifiTrackerLib/res/values-iw/strings.xml b/libs/WifiTrackerLib/res/values-iw/strings.xml index c2366b405..500806c8a 100644 --- a/libs/WifiTrackerLib/res/values-iw/strings.xml +++ b/libs/WifiTrackerLib/res/values-iw/strings.xml @@ -19,7 +19,7 @@ " / " "מתבצעת בדיקה לצורך גישה לאינטרנט..." "החיבור האוטומטי כבוי" - "נשמרה על-ידי %1$s" + "נשמרה על-ידי: %1$s" "לא יתבצע חיבור באופן אוטומטי" "אין גישה לאינטרנט" "בעיית אימות" diff --git a/libs/WifiTrackerLib/res/values-or/arrays.xml b/libs/WifiTrackerLib/res/values-or/arrays.xml index 607552e7b..838ab874c 100644 --- a/libs/WifiTrackerLib/res/values-or/arrays.xml +++ b/libs/WifiTrackerLib/res/values-or/arrays.xml @@ -26,7 +26,7 @@ "ସଂଯୋଗ ହେଉଛି…" "ପ୍ରାମାଣିକରଣ କରାଯାଉଛି…" "IP ଠିକଣା ପ୍ରାପ୍ତ କରୁଛି…" - "ସଂଯୋଗ ହୋଇଛି" + "କନେକ୍ଟ କରାଯାଇଛି" "ସାମୟିକ ଭାବରେ ବନ୍ଦ କରାଯାଇଛି" "ବିଚ୍ଛିନ୍ନ କରାଯାଉଛି…" "ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି" diff --git a/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml b/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml index 822b09180..351582278 100644 --- a/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml +++ b/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml @@ -26,7 +26,7 @@ "A ligar…" "A autenticar…" "A obter endereço IP…" - "Ligado" + "Ligada" "Suspenso" "A desligar…" "Desligado" diff --git a/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml b/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml index 179435b6f..0ba5796f0 100644 --- a/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml +++ b/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml @@ -23,7 +23,7 @@ "Não é efetuada uma ligação automaticamente." "Sem acesso à Internet." "Problema de autenticação" - "Verifique a palavra-passe e tente novamente." + "Verifique palavra-passe e tente de novo" "Falha de configuração de IP" "Indisponível com as definições de segurança atuais" "Desativada" diff --git a/libs/WifiTrackerLib/res/values-ru/strings.xml b/libs/WifiTrackerLib/res/values-ru/strings.xml index befda266b..b25060f77 100644 --- a/libs/WifiTrackerLib/res/values-ru/strings.xml +++ b/libs/WifiTrackerLib/res/values-ru/strings.xml @@ -21,9 +21,9 @@ "Автоподключение отключено" "Сохранено: %1$s" "Подключение не будет выполняться автоматически" - "Без доступа к Интернету" + "Без доступа к интернету" "Ошибка аутентификации" - "Похоже, вы указали неверный пароль. Повторите попытку." + "Неверный пароль. Повторите попытку." "Ошибка конфигурации IP" "Доступ закрыт согласно настройкам безопасности" "Отключено" diff --git a/libs/WifiTrackerLib/res/values-sk/strings.xml b/libs/WifiTrackerLib/res/values-sk/strings.xml index e3e495511..c757dc71c 100644 --- a/libs/WifiTrackerLib/res/values-sk/strings.xml +++ b/libs/WifiTrackerLib/res/values-sk/strings.xml @@ -19,7 +19,7 @@ " / " "Kontroluje sa dostupnosť internetového pripojenia..." "Automatické pripojenie je vypnuté" - "Uložil používateľ %1$s" + "Uložila aplikácia %1$s" "Nedôjde k automatickému pripojeniu" "Bez prístupu k internetu" "Problém s overením" diff --git a/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml b/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml index cbf3a82b8..5be532e2e 100644 --- a/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml +++ b/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml @@ -19,7 +19,7 @@ " / " "正在检查互联网访问权限…" "自动连接已关闭" - "已由%1$s保存" + "由%1$s保存" "无法自动连接" "无法访问互联网" "身份验证出现问题" -- cgit v1.2.3 From 8813c0baec1e3b7d308e0d6c8803ed9b9e66d4a6 Mon Sep 17 00:00:00 2001 From: Oscar Shu Date: Tue, 23 May 2023 22:48:02 +0000 Subject: Use high priority receiver for WifiTrackerLib This is needed to reduce broadcast delays, so that Settings can query for scan results promptly. Bug: 282724532 Test: compile Change-Id: I0a188798edbbfb1f3b2808e5a5c0539582d9594c --- libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java index a430a44f4..85fcef870 100644 --- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java +++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java @@ -360,6 +360,7 @@ public class BaseWifiTracker { filter.addAction(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION); filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); filter.addAction(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED); + filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY); mContext.registerReceiver(mBroadcastReceiver, filter, /* broadcastPermission */ null, mWorkerHandler); mConnectivityManager.registerNetworkCallback(mNetworkRequest, mNetworkCallback, -- cgit v1.2.3 From 6f52fcd9541710dc7e31d0ce7baba5b688541d19 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Mon, 29 May 2023 05:55:51 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Ia055a54737ccf9adc20cb382169db59f1a318879 --- libs/WifiTrackerLib/res/values-ar/strings.xml | 2 +- libs/WifiTrackerLib/res/values-kn/strings.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/WifiTrackerLib/res/values-ar/strings.xml b/libs/WifiTrackerLib/res/values-ar/strings.xml index a9fe995ee..b5aab8121 100644 --- a/libs/WifiTrackerLib/res/values-ar/strings.xml +++ b/libs/WifiTrackerLib/res/values-ar/strings.xml @@ -18,7 +18,7 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> " / " "الاتصال التلقائي غير مُفعَّل." - "تم الحفظ من قِبل %1$s." + "تم الحفظ من قِبل %1$s" "لن يتم الاتصال بالإنترنت تلقائيًا." "لا يتوفّر اتصال بالإنترنت" "حدثت مشكلة في المصادقة." diff --git a/libs/WifiTrackerLib/res/values-kn/strings.xml b/libs/WifiTrackerLib/res/values-kn/strings.xml index fac17d508..bcad3a4d3 100644 --- a/libs/WifiTrackerLib/res/values-kn/strings.xml +++ b/libs/WifiTrackerLib/res/values-kn/strings.xml @@ -22,7 +22,7 @@ "ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕನೆಕ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ" "ಯಾವುದೇ ಇಂಟರ್ನೆಟ್ ಪ್ರವೇಶವಿಲ್ಲ" "ದೃಢೀಕರಣದ ಸಮಸ್ಯೆ" - "ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ" + "ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲಿಸಿ, ಪುನಃ ಪ್ರಯತ್ನಿಸಿ" "IP ಕಾನ್ಫಿಗರೇಶನ್ ವೈಫಲ್ಯ" "ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ" "ಆ್ಯಕ್ಸೆಸ್ ಪಾಯಿಂಟ್ ತಾತ್ಕಾಲಿಕವಾಗಿ ಭರ್ತಿಯಾಗಿದೆ" @@ -32,7 +32,7 @@ "ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ." "ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ." "ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗಿದೆ" - "ಉಳಿಸಲಾಗಿದೆ" + "ಸೇವ್‌ ಮಾಡಲಾಗಿದೆ" "ಮೀಟರ್ ಮಾಡಲಾಗಿದೆ" "ಮೀಟರ್ ಮಾಡಲಾಗಿಲ್ಲ" "%1$s ಆ್ಯಪ್ ಮೂಲಕ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ" -- cgit v1.2.3 From 33d65a92d3328224ea82ec552344cfceacceed47 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Mon, 29 May 2023 05:57:04 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I156149bf427d5853fb8a8891fbcdc76765ec5a3e --- libs/WifiTrackerLib/res/values-ar/strings.xml | 2 +- libs/WifiTrackerLib/res/values-kn/strings.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/WifiTrackerLib/res/values-ar/strings.xml b/libs/WifiTrackerLib/res/values-ar/strings.xml index 2b4a3fd03..298ecfe2a 100644 --- a/libs/WifiTrackerLib/res/values-ar/strings.xml +++ b/libs/WifiTrackerLib/res/values-ar/strings.xml @@ -19,7 +19,7 @@ " / " "جارٍ التأكّد من الاتصال بالإنترنت..." "الاتصال التلقائي غير مُفعَّل." - "تم الحفظ من قِبل %1$s." + "تم الحفظ من قِبل %1$s" "لن يتم الاتصال بالإنترنت تلقائيًا." "لا يتوفّر اتصال بالإنترنت" "حدثت مشكلة في المصادقة." diff --git a/libs/WifiTrackerLib/res/values-kn/strings.xml b/libs/WifiTrackerLib/res/values-kn/strings.xml index 019f7d624..e47928534 100644 --- a/libs/WifiTrackerLib/res/values-kn/strings.xml +++ b/libs/WifiTrackerLib/res/values-kn/strings.xml @@ -23,7 +23,7 @@ "ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕನೆಕ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ" "ಯಾವುದೇ ಇಂಟರ್ನೆಟ್ ಪ್ರವೇಶವಿಲ್ಲ" "ದೃಢೀಕರಣದ ಸಮಸ್ಯೆ" - "ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ" + "ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲಿಸಿ, ಪುನಃ ಪ್ರಯತ್ನಿಸಿ" "IP ಕಾನ್ಫಿಗರೇಶನ್ ವೈಫಲ್ಯ" "ಪ್ರಸ್ತುತ ಭದ್ರತಾ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಜೊತೆ ಲಭ್ಯವಿಲ್ಲ" "ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ" @@ -34,7 +34,7 @@ "ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ." "ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ." "ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗಿದೆ" - "ಉಳಿಸಲಾಗಿದೆ" + "ಸೇವ್‌ ಮಾಡಲಾಗಿದೆ" "ಮೀಟರ್ ಮಾಡಲಾಗಿದೆ" "ಮೀಟರ್ ಮಾಡಲಾಗಿಲ್ಲ" "%1$s ಆ್ಯಪ್ ಮೂಲಕ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ" -- cgit v1.2.3 From 6b19337451f3a8ec08703ca85e355ff5ba09290e Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Mon, 29 May 2023 05:59:23 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I25f6f4c8ce557331e1abfe954964159368022fad --- libs/WifiTrackerLib/res/values-ar/strings.xml | 2 +- libs/WifiTrackerLib/res/values-kn/strings.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/WifiTrackerLib/res/values-ar/strings.xml b/libs/WifiTrackerLib/res/values-ar/strings.xml index 14bd0b642..4a556f321 100644 --- a/libs/WifiTrackerLib/res/values-ar/strings.xml +++ b/libs/WifiTrackerLib/res/values-ar/strings.xml @@ -19,7 +19,7 @@ " / " "جارٍ التأكّد من الاتصال بالإنترنت..." "الاتصال التلقائي غير مُفعَّل." - "تم الحفظ من قِبل %1$s." + "تم الحفظ من قِبل %1$s" "لن يتم الاتصال بالإنترنت تلقائيًا." "لا يتوفّر اتصال بالإنترنت" "حدثت مشكلة في المصادقة." diff --git a/libs/WifiTrackerLib/res/values-kn/strings.xml b/libs/WifiTrackerLib/res/values-kn/strings.xml index a2c45d16a..da0ae14f2 100644 --- a/libs/WifiTrackerLib/res/values-kn/strings.xml +++ b/libs/WifiTrackerLib/res/values-kn/strings.xml @@ -23,7 +23,7 @@ "ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕನೆಕ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ" "ಯಾವುದೇ ಇಂಟರ್ನೆಟ್ ಪ್ರವೇಶವಿಲ್ಲ" "ದೃಢೀಕರಣದ ಸಮಸ್ಯೆ" - "ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ" + "ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲಿಸಿ, ಪುನಃ ಪ್ರಯತ್ನಿಸಿ" "IP ಕಾನ್ಫಿಗರೇಶನ್ ವೈಫಲ್ಯ" "ಪ್ರಸ್ತುತ ಭದ್ರತಾ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಜೊತೆ ಲಭ್ಯವಿಲ್ಲ" "ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ" @@ -34,7 +34,7 @@ "ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ." "ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ." "ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗಿದೆ" - "ಉಳಿಸಲಾಗಿದೆ" + "ಸೇವ್‌ ಮಾಡಲಾಗಿದೆ" "ಮೀಟರ್ ಮಾಡಲಾಗಿದೆ" "ಮೀಟರ್ ಮಾಡಲಾಗಿಲ್ಲ" "%1$s ಆ್ಯಪ್ ಮೂಲಕ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ" -- cgit v1.2.3 From b20e4d46f8f49ad04b5bdf811d78e5016afa609e Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Mon, 29 May 2023 10:47:15 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Icd53ccf1f73f50d9398d82c489f8792d67614e07 --- libs/WifiTrackerLib/res/values-ar/strings.xml | 2 +- libs/WifiTrackerLib/res/values-kn/strings.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/WifiTrackerLib/res/values-ar/strings.xml b/libs/WifiTrackerLib/res/values-ar/strings.xml index 2b4a3fd03..298ecfe2a 100644 --- a/libs/WifiTrackerLib/res/values-ar/strings.xml +++ b/libs/WifiTrackerLib/res/values-ar/strings.xml @@ -19,7 +19,7 @@ " / " "جارٍ التأكّد من الاتصال بالإنترنت..." "الاتصال التلقائي غير مُفعَّل." - "تم الحفظ من قِبل %1$s." + "تم الحفظ من قِبل %1$s" "لن يتم الاتصال بالإنترنت تلقائيًا." "لا يتوفّر اتصال بالإنترنت" "حدثت مشكلة في المصادقة." diff --git a/libs/WifiTrackerLib/res/values-kn/strings.xml b/libs/WifiTrackerLib/res/values-kn/strings.xml index 019f7d624..e47928534 100644 --- a/libs/WifiTrackerLib/res/values-kn/strings.xml +++ b/libs/WifiTrackerLib/res/values-kn/strings.xml @@ -23,7 +23,7 @@ "ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕನೆಕ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ" "ಯಾವುದೇ ಇಂಟರ್ನೆಟ್ ಪ್ರವೇಶವಿಲ್ಲ" "ದೃಢೀಕರಣದ ಸಮಸ್ಯೆ" - "ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ" + "ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲಿಸಿ, ಪುನಃ ಪ್ರಯತ್ನಿಸಿ" "IP ಕಾನ್ಫಿಗರೇಶನ್ ವೈಫಲ್ಯ" "ಪ್ರಸ್ತುತ ಭದ್ರತಾ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಜೊತೆ ಲಭ್ಯವಿಲ್ಲ" "ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ" @@ -34,7 +34,7 @@ "ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ." "ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ." "ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗಿದೆ" - "ಉಳಿಸಲಾಗಿದೆ" + "ಸೇವ್‌ ಮಾಡಲಾಗಿದೆ" "ಮೀಟರ್ ಮಾಡಲಾಗಿದೆ" "ಮೀಟರ್ ಮಾಡಲಾಗಿಲ್ಲ" "%1$s ಆ್ಯಪ್ ಮೂಲಕ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ" -- cgit v1.2.3 From ff11f71d80088f60cda5d5a6924eb7093ff63b93 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sun, 4 Jun 2023 13:23:35 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Ifda083629adcdcb25d975abaa71ada883c626ec2 --- libs/WifiTrackerLib/res/values-or/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/WifiTrackerLib/res/values-or/strings.xml b/libs/WifiTrackerLib/res/values-or/strings.xml index 40ebec7ff..0a5393c7c 100644 --- a/libs/WifiTrackerLib/res/values-or/strings.xml +++ b/libs/WifiTrackerLib/res/values-or/strings.xml @@ -32,7 +32,7 @@ "ସଂଯୋଗ କରାଯାଇପାରିବ ନାହିଁ। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।" "ସଂଯୋଗ କରାଯାଇପାରିବ ନାହିଁ। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।" "ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି" - "ସେଭ୍ କରାଯାଇଛି" + "ସେଭ କରାଯାଇଛି" "ମିଟର ହୋଇଥିବା" "ମିଟର ହୋଇନଥିବା" "%1$s ମାଧ୍ୟମରେ ସଂଯୋଗ କରାଯାଇଛି" -- cgit v1.2.3 From 3765bb265ac7d56544fe3bd6452efc2c50eed11c Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sun, 4 Jun 2023 13:24:44 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I6bea932aa606bee10d1b871815a7c99d3e155172 --- libs/WifiTrackerLib/res/values-or/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/WifiTrackerLib/res/values-or/strings.xml b/libs/WifiTrackerLib/res/values-or/strings.xml index 2cfe11bbe..9e992f962 100644 --- a/libs/WifiTrackerLib/res/values-or/strings.xml +++ b/libs/WifiTrackerLib/res/values-or/strings.xml @@ -34,7 +34,7 @@ "ସଂଯୋଗ କରାଯାଇପାରିବ ନାହିଁ। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।" "ସଂଯୋଗ କରାଯାଇପାରିବ ନାହିଁ। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।" "ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି" - "ସେଭ୍ କରାଯାଇଛି" + "ସେଭ କରାଯାଇଛି" "ମିଟର ହୋଇଥିବା" "ମିଟର ହୋଇନଥିବା" "%1$s ମାଧ୍ୟମରେ ସଂଯୋଗ କରାଯାଇଛି" -- cgit v1.2.3 From 5b55237916c671d70a1ea6d7030983465bf7f10e Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sun, 4 Jun 2023 13:27:02 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Iaa390e85c6c4348e9bccf3cddae2ece2ea8b7c22 --- libs/WifiTrackerLib/res/values-or/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/WifiTrackerLib/res/values-or/strings.xml b/libs/WifiTrackerLib/res/values-or/strings.xml index 84f4fb9d6..d68783ba3 100644 --- a/libs/WifiTrackerLib/res/values-or/strings.xml +++ b/libs/WifiTrackerLib/res/values-or/strings.xml @@ -34,7 +34,7 @@ "ସଂଯୋଗ କରାଯାଇପାରିବ ନାହିଁ। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।" "ସଂଯୋଗ କରାଯାଇପାରିବ ନାହିଁ। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।" "ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି" - "ସେଭ୍ କରାଯାଇଛି" + "ସେଭ କରାଯାଇଛି" "ମିଟର ହୋଇଥିବା" "ମିଟର ହୋଇନଥିବା" "%1$s ମାଧ୍ୟମରେ ସଂଯୋଗ କରାଯାଇଛି" -- cgit v1.2.3 From e0b9e68523b7bf2f4bde57a239e16b3f6278d1ba Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sun, 4 Jun 2023 21:55:08 -0700 Subject: Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Ia1e803e7529259396864b9bee9c8074c0013c812 --- libs/WifiTrackerLib/res/values-or/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/WifiTrackerLib/res/values-or/strings.xml b/libs/WifiTrackerLib/res/values-or/strings.xml index 2cfe11bbe..9e992f962 100644 --- a/libs/WifiTrackerLib/res/values-or/strings.xml +++ b/libs/WifiTrackerLib/res/values-or/strings.xml @@ -34,7 +34,7 @@ "ସଂଯୋଗ କରାଯାଇପାରିବ ନାହିଁ। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।" "ସଂଯୋଗ କରାଯାଇପାରିବ ନାହିଁ। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।" "ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି" - "ସେଭ୍ କରାଯାଇଛି" + "ସେଭ କରାଯାଇଛି" "ମିଟର ହୋଇଥିବା" "ମିଟର ହୋଇନଥିବା" "%1$s ମାଧ୍ୟମରେ ସଂଯୋଗ କରାଯାଇଛି" -- cgit v1.2.3 From e2b61da8f7e4ae51d961d063ce08225290e29bb5 Mon Sep 17 00:00:00 2001 From: Quang Anh Luong Date: Thu, 8 Jun 2023 17:33:13 +0900 Subject: Fix L2 connected networks disappearing L2 connected networks are disappearing in the Wifi picker due to them not being correctly identified as the primary Wifi network since they don't have NetworkCapabilities yet. To fix this, treat L2 connected networks as primary as long as they have a NetworkInfo from the NETWORK_STATE_CHANGED broadcast (which always matches the primary network). Bug: 286345967 Test: atest WifiPickerTrackerTest, manually verify network will not disappear briefly when manually connecting. Change-Id: Ib32877201f72bc299346c9453eb31c1aeffa6d4c Merged-In: Ib32877201f72bc299346c9453eb31c1aeffa6d4c --- .../src/com/android/wifitrackerlib/WifiEntry.java | 6 ++- .../android/wifitrackerlib/WifiPickerTracker.java | 1 + .../wifitrackerlib/WifiPickerTrackerTest.java | 44 ++++++++++++++++++++++ 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java index 703d7a770..0c575f73b 100644 --- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java +++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java @@ -365,10 +365,12 @@ public class WifiEntry { * Returns whether this network is the primary Wi-Fi network or not. */ public boolean isPrimaryNetwork() { - if (mWifiInfo == null) { + if (getConnectedState() == CONNECTED_STATE_DISCONNECTED) { + // In case we have mNetworkInfo but the state is disconnected. return false; } - return NonSdkApiWrapper.isPrimary(mWifiInfo); + return mNetworkInfo != null + || (mWifiInfo != null && NonSdkApiWrapper.isPrimary(mWifiInfo)); } /** diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java index 81a458def..dc2a7b4dc 100644 --- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java +++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java @@ -386,6 +386,7 @@ public class WifiPickerTracker extends BaseWifiTracker { for (WifiEntry entry : getAllWifiEntries()) { entry.onPrimaryWifiInfoChanged(primaryWifiInfo, networkInfo); } + updateWifiEntries(); } @WorkerThread diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java index aa9f0d8e3..96b3e5459 100644 --- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java +++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java @@ -52,6 +52,7 @@ import android.net.ConnectivityManager; import android.net.LinkProperties; import android.net.Network; import android.net.NetworkCapabilities; +import android.net.NetworkInfo; import android.net.TransportInfo; import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; @@ -213,6 +214,10 @@ public class WifiPickerTrackerTest { when(mMockContext.getSystemService(SharedConnectivityManager.class)) .thenReturn(mMockSharedConnectivityManager); when(mMockContext.getString(anyInt())).thenReturn(""); + when(mMockResources.getStringArray(R.array.wifitrackerlib_wifi_status)).thenReturn( + new String[]{"", "Scanning", "Connecting", "Authenticating", "Obtaining IP address", + "Connected", "Suspended", "Disconnecting", "Unsuccessful", "Blocked", + "Temporarily avoiding poor connection"}); BaseWifiTracker.mEnableSharedConnectivityFeature = true; } @@ -579,6 +584,45 @@ public class WifiPickerTrackerTest { assertThat(wifiPickerTracker.getConnectedWifiEntry()).isEqualTo(entry); } + /** + * Tests that an L2 connected network (i.e. from NETWORK_STATE_CHANGED) will correctly be + * returned in getConnectedEntry() as the primary network. + */ + @Test + public void testGetConnectedEntry_networkL2Connected_returnsConnectedEntry() { + final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker(); + final WifiConfiguration config = new WifiConfiguration(); + config.SSID = "\"ssid\""; + config.networkId = 1; + when(mMockWifiManager.getPrivilegedConfiguredNetworks()) + .thenReturn(Collections.singletonList(config)); + when(mMockWifiManager.getScanResults()).thenReturn(Arrays.asList( + buildScanResult("ssid", "bssid", START_MILLIS))); + wifiPickerTracker.onStart(); + mTestLooper.dispatchAll(); + verify(mMockContext).registerReceiver( + mBroadcastReceiverCaptor.capture(), any(), any(), any()); + verify(mMockConnectivityManager).registerNetworkCallback( + any(), mNetworkCallbackCaptor.capture(), any()); + final WifiEntry entry = wifiPickerTracker.getWifiEntries().get(0); + + // Simulate an L2 connected network that's still authenticating. + when(mMockWifiInfo.getNetworkId()).thenReturn(1); + when(mMockWifiInfo.getRssi()).thenReturn(-50); + NetworkInfo mockNetworkInfo = mock(NetworkInfo.class); + when(mockNetworkInfo.getDetailedState()) + .thenReturn(NetworkInfo.DetailedState.AUTHENTICATING); + Intent networkStateChanged = new Intent(WifiManager.NETWORK_STATE_CHANGED_ACTION); + networkStateChanged.putExtra(WifiManager.EXTRA_NETWORK_INFO, mockNetworkInfo); + mBroadcastReceiverCaptor.getValue().onReceive(mMockContext, networkStateChanged); + + // Network should be returned in getConnectedWifiEntry() even though it's not L3 connected. + verify(mMockCallback, atLeastOnce()).onWifiEntriesChanged(); +// assertThat(wifiPickerTracker.getWifiEntries()).isEmpty(); + assertThat(wifiPickerTracker.getConnectedWifiEntry()).isEqualTo(entry); + assertThat(entry.isPrimaryNetwork()).isTrue(); + } + /** * Tests that connecting to a network will update getConnectedEntry() to return the connected * WifiEntry if the framework times out and gives us an empty list of configs. -- cgit v1.2.3 From 2638dbca29ac8fba8ca1ff34f9c8484400895002 Mon Sep 17 00:00:00 2001 From: Quang Anh Luong Date: Wed, 14 Jun 2023 12:36:12 +0900 Subject: Refactor BaseWifiTracker.Scanner class to prevent infinite scans Refactor the Scanner class by removing the direct start()/stop() methods and driving it only via lifecycle events/wifi state changes, which makes the logic more robust and readable. The flag tracking the lifecycle state is also now updated directly in the main thread instead of the worker thread so it's consistent with the actual state. Bug: 286836535 Test: atest WifiTrackerLibTests, manually verify wifi picker shows scan results. Change-Id: Ie2e4028a8c59b0fa46443f64a4801569f35d9e55 Merged-In: Ie2e4028a8c59b0fa46443f64a4801569f35d9e55 --- .../android/wifitrackerlib/BaseWifiTracker.java | 140 ++++++++++++++------- 1 file changed, 94 insertions(+), 46 deletions(-) diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java index 05af6100b..7dc7ba597 100644 --- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java +++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java @@ -101,7 +101,6 @@ public class BaseWifiTracker { private int mWifiState = WifiManager.WIFI_STATE_DISABLED; private boolean mIsInitialized = false; - private boolean mIsStopped = true; // Registered on the worker thread private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { @@ -117,11 +116,7 @@ public class BaseWifiTracker { if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) { mWifiState = intent.getIntExtra( WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_DISABLED); - if (mWifiState == WifiManager.WIFI_STATE_ENABLED) { - mScanner.start(); - } else { - mScanner.stop(); - } + mScanner.onWifiStateChanged(mWifiState == WifiManager.WIFI_STATE_ENABLED); notifyOnWifiStateChanged(); handleWifiStateChangedAction(); } else if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(action)) { @@ -352,8 +347,11 @@ public class BaseWifiTracker { */ @MainThread public void onStart() { + if (isVerboseLoggingEnabled()) { + Log.v(mTag, "onStart"); + } + mScanner.onStart(); mWorkerHandler.post(() -> { - mIsStopped = false; IntentFilter filter = new IntentFilter(); filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); filter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); @@ -384,9 +382,11 @@ public class BaseWifiTracker { */ @MainThread public void onStop() { + if (isVerboseLoggingEnabled()) { + Log.v(mTag, "onStop"); + } + mScanner.onStop(); mWorkerHandler.post(() -> { - mIsStopped = true; - mScanner.stop(); try { mContext.unregisterReceiver(mBroadcastReceiver); mConnectivityManager.unregisterNetworkCallback(mNetworkCallback); @@ -634,27 +634,28 @@ public class BaseWifiTracker { } /** - * Scanner to handle starting scans every SCAN_INTERVAL_MILLIS + * Helper class to handle starting scans every SCAN_INTERVAL_MILLIS. + * + * Scanning is only done when the activity is in the Started state and Wi-Fi is enabled. */ - @WorkerThread private class Scanner extends Handler { - private static final int SCAN_RETRY_TIMES = 3; - - private int mRetry = 0; - private boolean mIsActive; + private boolean mIsStartedState = false; + private boolean mIsWifiEnabled = false; private final WifiScanner.ScanListener mFirstScanListener = new WifiScanner.ScanListener() { @Override + @MainThread public void onPeriodChanged(int periodInMs) { // No-op. } @Override + @MainThread public void onResults(WifiScanner.ScanData[] results) { mWorkerHandler.post(() -> { - if (!mIsActive || mIsStopped) { + if (!shouldScan()) { return; } - if (sVerboseLogging) { + if (isVerboseLoggingEnabled()) { Log.v(mTag, "Received scan results from first scan request."); } List scanResults = new ArrayList<>(); @@ -670,29 +671,32 @@ public class BaseWifiTracker { new Intent(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION) .putExtra(WifiManager.EXTRA_RESULTS_UPDATED, true)); // Now start scanning via WifiManager.startScan(). - postScan(); + scanLoop(); }); } @Override + @MainThread public void onFullResult(ScanResult fullScanResult) { // No-op. } @Override + @MainThread public void onSuccess() { // No-op. } @Override + @MainThread public void onFailure(int reason, String description) { mWorkerHandler.post(() -> { - if (!mIsActive || mIsStopped) { + if (!mIsWifiEnabled) { return; } Log.e(mTag, "Failed to scan! Reason: " + reason + ", "); // First scan failed, start scanning normally anyway. - postScan(); + scanLoop(); }); } }; @@ -701,14 +705,58 @@ public class BaseWifiTracker { super(looper); } - private void start() { - if (mIsActive || mIsStopped) { - return; + /** + * Called when the activity enters the Started state. + * When this happens, evaluate if we need to start scanning. + */ + @MainThread + private void onStart() { + mIsStartedState = true; + mWorkerHandler.post(this::possiblyStartScanning); + } + + /** + * Called when the activity exits the Started state. + * When this happens, stop scanning. + */ + @MainThread + private void onStop() { + mIsStartedState = false; + mWorkerHandler.post(this::stopScanning); + } + + /** + * Called whenever the Wi-Fi state changes. If the new state differs from the old state, + * then re-evaluate whether we need to start or stop scanning. + * @param enabled Whether Wi-Fi is enabled or not. + */ + @WorkerThread + private void onWifiStateChanged(boolean enabled) { + boolean oldEnabled = mIsWifiEnabled; + mIsWifiEnabled = enabled; + if (mIsWifiEnabled != oldEnabled) { + if (mIsWifiEnabled) { + possiblyStartScanning(); + } else { + stopScanning(); + } } - mIsActive = true; - if (isVerboseLoggingEnabled()) { - Log.v(mTag, "Scanner start"); + } + + /** + * Returns true if we should be scanning and false if not. + * Scanning should only happen when Wi-Fi is enabled and the activity is started. + */ + private boolean shouldScan() { + return mIsWifiEnabled && mIsStartedState; + } + + @WorkerThread + private void possiblyStartScanning() { + if (!shouldScan()) { + return; } + Log.i(mTag, "Scanning started"); if (BuildCompat.isAtLeastU()) { // Start off with a fast scan of 2.4GHz, 5GHz, and 6GHz RNR using WifiScanner. // After this is done, fall back to WifiManager.startScan() to get the rest of @@ -720,40 +768,40 @@ public class BaseWifiTracker { scanSettings.setRnrSetting(WifiScanner.WIFI_RNR_ENABLED); WifiScanner wifiScanner = mContext.getSystemService(WifiScanner.class); if (wifiScanner != null) { + wifiScanner.stopScan(mFirstScanListener); + if (isVerboseLoggingEnabled()) { + Log.v(mTag, "Issuing scan request from WifiScanner"); + } wifiScanner.startScan(scanSettings, mFirstScanListener); return; } else { Log.e(mTag, "Failed to retrieve WifiScanner!"); } } - postScan(); + scanLoop(); } - private void stop() { - mIsActive = false; - if (isVerboseLoggingEnabled()) { - Log.v(mTag, "Scanner stop"); - } - mRetry = 0; + @WorkerThread + private void stopScanning() { + Log.i(mTag, "Scanning stopped"); removeCallbacksAndMessages(null); } - private void postScan() { - if (!mIsActive || mIsStopped) { - Log.wtf(mTag, "Tried to run scan loop when we've already stopped!"); + @WorkerThread + private void scanLoop() { + if (!shouldScan()) { + Log.wtf(mTag, "Scan loop called even though we shouldn't be scanning!" + + " mIsWifiEnabled=" + mIsWifiEnabled + + " mIsStartedState=" + mIsStartedState); return; } - if (mWifiManager.startScan()) { - mRetry = 0; - } else if (++mRetry >= SCAN_RETRY_TIMES) { - // TODO(b/70983952): See if toast is needed here - if (isVerboseLoggingEnabled()) { - Log.v(mTag, "Scanner failed to start scan " + mRetry + " times!"); - } - mRetry = 0; - return; + if (isVerboseLoggingEnabled()) { + Log.v(mTag, "Issuing scan request from WifiManager"); } - postDelayed(this::postScan, mScanIntervalMillis); + // Remove any pending scanLoops in case possiblyStartScanning was called more than once. + removeCallbacksAndMessages(null); + mWifiManager.startScan(); + postDelayed(this::scanLoop, mScanIntervalMillis); } } -- cgit v1.2.3 From cba0f23e2ac47b2824809bf52cb1a6f4c4d35f40 Mon Sep 17 00:00:00 2001 From: Quang Anh Luong Date: Fri, 30 Jun 2023 18:04:32 +0900 Subject: Check if current process is visible before contining scans Due to strange cases where mIsStartedState is still true even though Settings is in the background (causing infinite scans), manually check the application is visible before continuing the scan loop. Bug: 284491185 Test: atest WifiTrackerLibTests Change-Id: Iebf9728cfde64a97db4dd78be2e8231c106c2021 --- .../src/com/android/wifitrackerlib/BaseWifiTracker.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java index 7dc7ba597..5f1abd9a5 100644 --- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java +++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java @@ -21,6 +21,7 @@ import static android.net.NetworkCapabilities.TRANSPORT_WIFI; import static android.os.Build.VERSION_CODES; import android.annotation.TargetApi; +import android.app.ActivityManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -136,6 +137,7 @@ public class BaseWifiTracker { protected final WifiTrackerInjector mInjector; protected final Context mContext; + protected final @NonNull ActivityManager mActivityManager; protected final WifiManager mWifiManager; protected final ConnectivityManager mConnectivityManager; protected final ConnectivityDiagnosticsManager mConnectivityDiagnosticsManager; @@ -301,6 +303,7 @@ public class BaseWifiTracker { BaseWifiTrackerCallback listener, String tag) { mInjector = injector; + mActivityManager = context.getSystemService(ActivityManager.class); lifecycle.addObserver(new LifecycleObserver() { @OnLifecycleEvent(Lifecycle.Event.ON_START) @MainThread @@ -795,6 +798,12 @@ public class BaseWifiTracker { + " mIsStartedState=" + mIsStartedState); return; } + if (!isAppVisible()) { + Log.wtf(mTag, "Scan loop called even though app isn't visible anymore!" + + " mIsWifiEnabled=" + mIsWifiEnabled + + " mIsStartedState=" + mIsStartedState); + return; + } if (isVerboseLoggingEnabled()) { Log.v(mTag, "Issuing scan request from WifiManager"); } @@ -805,6 +814,13 @@ public class BaseWifiTracker { } } + private boolean isAppVisible() { + ActivityManager.RunningAppProcessInfo processInfo = + new ActivityManager.RunningAppProcessInfo(); + ActivityManager.getMyMemoryState(processInfo); + return processInfo.importance <= ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE; + } + /** * Posts onWifiStateChanged callback on the main thread. */ -- cgit v1.2.3