summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2021-08-14 06:31:22 +0000
committerXin Li <delphij@google.com>2021-08-14 06:31:22 +0000
commit7e2dfd92fd0d12900f2f5b767bb0b2e9b701c9ef (patch)
treef7f8672724dc3442169374423e4041929481b152
parente8aafd7af8f43c75cf02f23a88977088801f7325 (diff)
parentf31c02c4e1ccfff5a58f3391d89e2faddbe75bbc (diff)
downloadwifi-temp_sam_202323961.tar.gz
Merge sc-dev-plus-aosp-without-vendor@7634622temp_sam_202323961
Merged-In: Iad85d5e2afed841718db70c9de1f77dc90df8acc Change-Id: I45a3fa76d6f66181705a1faf599e7f9839750a38
-rw-r--r--OWNERS2
-rw-r--r--libs/WifiTrackerLib/Android.bp6
-rw-r--r--libs/WifiTrackerLib/TEST_MAPPING7
-rw-r--r--libs/WifiTrackerLib/lint-baseline.xml340
-rw-r--r--libs/WifiTrackerLib/res/values-af/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-af/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-am/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-am/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-ar/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-ar/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-as/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-as/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-az/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-az/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-b+sr+Latn/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-b+sr+Latn/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-be/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-be/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-bg/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-bg/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-bn/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-bn/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-bs/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-bs/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-ca/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-ca/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-cs/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-cs/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-da/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-da/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-de/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-de/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-el/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-el/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-en-rAU/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-en-rAU/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-en-rCA/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-en-rCA/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-en-rGB/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-en-rGB/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-en-rIN/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-en-rIN/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-en-rXC/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-en-rXC/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-es-rUS/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-es-rUS/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-es/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-es/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-et/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-et/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-eu/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-eu/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-fa/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-fa/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-fi/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-fi/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-fr-rCA/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-fr-rCA/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-fr/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-fr/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-gl/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-gl/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-gu/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-gu/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-hi/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-hi/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-hr/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-hr/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-hu/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-hu/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-hy/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-hy/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-in/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-in/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-is/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-is/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-it/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-it/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-iw/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-iw/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-ja/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-ja/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-ka/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-ka/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-kk/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-kk/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-km/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-km/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-kn/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-kn/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-ko/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-ko/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-ky/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-ky/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-lo/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-lo/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-lt/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-lt/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-lv/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-lv/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-mk/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-mk/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-ml/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-ml/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-mn/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-mn/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-mr/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-mr/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-ms/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-ms/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-my/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-my/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-nb/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-nb/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-ne/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-ne/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-nl/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-nl/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-or/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-or/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-pa/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-pa/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-pl/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-pl/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-pt-rBR/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-pt-rBR/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-pt-rPT/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-pt/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-pt/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-ro/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-ro/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-ru/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-ru/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-si/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-si/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-sk/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-sk/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-sl/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-sl/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-sq/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-sq/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-sr/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-sr/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-sv/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-sv/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-sw/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-sw/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-ta/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-ta/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-te/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-te/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-th/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-th/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-tl/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-tl/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-tr/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-tr/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-uk/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-uk/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-ur/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-ur/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-uz/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-uz/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-vi/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-vi/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-zh-rCN/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-zh-rCN/strings.xml81
-rw-r--r--libs/WifiTrackerLib/res/values-zh-rHK/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-zh-rHK/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-zh-rTW/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-zh-rTW/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values-zu/arrays.xml26
-rw-r--r--libs/WifiTrackerLib/res/values-zu/strings.xml80
-rw-r--r--libs/WifiTrackerLib/res/values/arrays.xml2
-rw-r--r--libs/WifiTrackerLib/res/values/strings.xml175
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java100
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java170
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/NetworkDetailsTracker.java5
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/NetworkRequestEntry.java22
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/OsuWifiEntry.java213
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointNetworkDetailsTracker.java35
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java313
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java93
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/ScanResultUpdater.java21
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardNetworkDetailsTracker.java82
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java1095
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java798
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java377
-rw-r--r--libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java585
-rw-r--r--libs/WifiTrackerLib/tests/Android.bp2
-rw-r--r--libs/WifiTrackerLib/tests/AndroidManifest.xml3
-rwxr-xr-xlibs/WifiTrackerLib/tests/simulate_wifi.py890
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/MergedCarrierEntryTest.java145
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/NetworkDetailsTrackerTest.java11
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/PasspointWifiEntryTest.java182
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/SavedNetworkTrackerTest.java128
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardNetworkDetailsTrackerTest.java112
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardWifiEntryTest.java699
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/UtilsTest.java159
-rw-r--r--libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java541
-rw-r--r--libwifi_hal/Android.mk56
-rw-r--r--libwifi_hal/hal_tool.cpp6
-rw-r--r--libwifi_hal/wifi_hal_common.cpp19
-rw-r--r--libwifi_system_iface/include/wifi_system/interface_tool.h14
-rw-r--r--libwifi_system_iface/interface_tool.cpp71
206 files changed, 10246 insertions, 6284 deletions
diff --git a/OWNERS b/OWNERS
index dd01ed3da..583ac1f39 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1 +1 @@
-include platform/packages/modules/Wifi:/OWNERS
+include platform/packages/modules/Wifi:/WIFI_OWNERS
diff --git a/libs/WifiTrackerLib/Android.bp b/libs/WifiTrackerLib/Android.bp
index eea49521b..4442d013b 100644
--- a/libs/WifiTrackerLib/Android.bp
+++ b/libs/WifiTrackerLib/Android.bp
@@ -10,5 +10,11 @@ android_library {
"SettingsLibHelpUtils",
],
+ // TODO(b/187099809): Re-enable lint check once the min_sdk_version is updated
+ lint: {
+ enabled: false,
+ },
+
+ // TODO(b/187099809): Update this once we remove SettingsLib's dependency on WifiTrackerLib
min_sdk_version: "21",
}
diff --git a/libs/WifiTrackerLib/TEST_MAPPING b/libs/WifiTrackerLib/TEST_MAPPING
new file mode 100644
index 000000000..35e3f95cd
--- /dev/null
+++ b/libs/WifiTrackerLib/TEST_MAPPING
@@ -0,0 +1,7 @@
+{
+ "presubmit": [
+ {
+ "name": "WifiTrackerLibTests"
+ }
+ ]
+}
diff --git a/libs/WifiTrackerLib/lint-baseline.xml b/libs/WifiTrackerLib/lint-baseline.xml
index 1d4353d7a..ecc4bc6c1 100644
--- a/libs/WifiTrackerLib/lint-baseline.xml
+++ b/libs/WifiTrackerLib/lint-baseline.xml
@@ -8,18 +8,40 @@
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java"
- line="146"
+ line="148"
column="14"/>
</issue>
<issue
id="NewApi"
+ message="Call requires API level 29 (current min is 21): `android.net.NetworkCapabilities#getTransportInfo`"
+ errorLine1=" final TransportInfo transportInfo = networkCapabilities.getTransportInfo();"
+ errorLine2=" ~~~~~~~~~~~~~~~~">
+ <location
+ file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java"
+ line="220"
+ column="65"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Cast from `TransportInfo` to `WifiInfo` requires API level 29 (current min is 21)"
+ errorLine1=" return ((WifiInfo) transportInfo).isPrimary();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java"
+ line="224"
+ column="17"/>
+ </issue>
+
+ <issue
+ id="NewApi"
message="Call requires API level 26 (current min is 21): `android.net.ConnectivityManager#registerNetworkCallback`"
errorLine1=" mConnectivityManager.registerNetworkCallback(mNetworkRequest, mNetworkCallback,"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java"
- line="267"
+ line="291"
column="30"/>
</issue>
@@ -30,7 +52,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java"
- line="269"
+ line="293"
column="30"/>
</issue>
@@ -41,18 +63,29 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java"
- line="272"
+ line="296"
column="62"/>
</issue>
<issue
id="NewApi"
+ message="Call requires API level 31 (current min is 21): `android.net.wifi.WifiInfo#getSubscriptionId`"
+ errorLine1=" return wifiInfo.isCarrierMerged() &amp;&amp; mSubscriptionId == wifiInfo.getSubscriptionId();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java"
+ line="132"
+ column="74"/>
+ </issue>
+
+ <issue
+ id="NewApi"
message="Call requires API level 28 (current min is 21): `android.content.Context#getMainExecutor`"
errorLine1=" mWifiManager.startSubscriptionProvisioning(mOsuProvider, mContext.getMainExecutor(),"
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/OsuWifiEntry.java"
- line="170"
+ line="141"
column="75"/>
</issue>
@@ -63,7 +96,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/OsuWifiEntry.java"
- line="285"
+ line="159"
column="39"/>
</issue>
@@ -74,7 +107,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/OsuWifiEntry.java"
- line="305"
+ line="179"
column="26"/>
</issue>
@@ -85,7 +118,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/OsuWifiEntry.java"
- line="385"
+ line="261"
column="47"/>
</issue>
@@ -96,7 +129,7 @@
errorLine2=" ~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/OsuWifiEntry.java"
- line="389"
+ line="265"
column="45"/>
</issue>
@@ -195,7 +228,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="110"
+ line="113"
column="64"/>
</issue>
@@ -206,7 +239,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="111"
+ line="114"
column="33"/>
</issue>
@@ -217,7 +250,7 @@
errorLine2=" ~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="111"
+ line="114"
column="45"/>
</issue>
@@ -228,7 +261,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="112"
+ line="115"
column="41"/>
</issue>
@@ -239,7 +272,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="112"
+ line="115"
column="53"/>
</issue>
@@ -250,7 +283,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="114"
+ line="117"
column="33"/>
</issue>
@@ -261,7 +294,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="131"
+ line="134"
column="25"/>
</issue>
@@ -272,7 +305,7 @@
errorLine2=" ~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="137"
+ line="140"
column="59"/>
</issue>
@@ -283,7 +316,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="139"
+ line="142"
column="25"/>
</issue>
@@ -294,7 +327,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="300"
+ line="302"
column="28"/>
</issue>
@@ -305,7 +338,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="390"
+ line="385"
column="22"/>
</issue>
@@ -316,7 +349,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="390"
+ line="385"
column="68"/>
</issue>
@@ -327,7 +360,7 @@
errorLine2=" ~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="390"
+ line="385"
column="80"/>
</issue>
@@ -338,7 +371,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="450"
+ line="425"
column="67"/>
</issue>
@@ -349,7 +382,7 @@
errorLine2=" ~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="450"
+ line="425"
column="79"/>
</issue>
@@ -360,7 +393,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="477"
+ line="452"
column="34"/>
</issue>
@@ -371,7 +404,7 @@
errorLine2=" ~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="477"
+ line="452"
column="46"/>
</issue>
@@ -382,7 +415,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="501"
+ line="476"
column="66"/>
</issue>
@@ -393,7 +426,7 @@
errorLine2=" ~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="501"
+ line="476"
column="78"/>
</issue>
@@ -404,7 +437,7 @@
errorLine2=" ~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="527"
+ line="502"
column="45"/>
</issue>
@@ -415,7 +448,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="527"
+ line="502"
column="57"/>
</issue>
@@ -426,7 +459,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="529"
+ line="504"
column="37"/>
</issue>
@@ -437,7 +470,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="568"
+ line="543"
column="40"/>
</issue>
@@ -448,7 +481,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java"
- line="606"
+ line="581"
column="42"/>
</issue>
@@ -459,29 +492,18 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java"
- line="129"
+ line="128"
column="54"/>
</issue>
<issue
id="NewApi"
- message="Call requires API level 23 (current min is 21): `android.net.wifi.WifiConfiguration#isPasspoint`"
- errorLine1=" if (config != null &amp;&amp; !config.isPasspoint()) {"
- errorLine2=" ~~~~~~~~~~~">
- <location
- file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java"
- line="160"
- column="39"/>
- </issue>
-
- <issue
- id="NewApi"
message="Call requires API level 26 (current min is 21): `android.net.wifi.WifiManager#getPasspointConfigurations`"
errorLine1=" updatePasspointWifiEntryConfigs(mWifiManager.getPasspointConfigurations());"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java"
- line="166"
+ line="157"
column="54"/>
</issue>
@@ -492,7 +514,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java"
- line="216"
+ line="207"
column="30"/>
</issue>
@@ -503,7 +525,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java"
- line="217"
+ line="208"
column="30"/>
</issue>
@@ -514,7 +536,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java"
- line="218"
+ line="209"
column="30"/>
</issue>
@@ -525,7 +547,7 @@
errorLine2=" ~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java"
- line="221"
+ line="212"
column="44"/>
</issue>
@@ -536,7 +558,7 @@
errorLine2=" ~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java"
- line="237"
+ line="228"
column="75"/>
</issue>
@@ -547,7 +569,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java"
- line="351"
+ line="308"
column="76"/>
</issue>
@@ -558,7 +580,7 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardNetworkDetailsTracker.java"
- line="189"
+ line="176"
column="20"/>
</issue>
@@ -569,7 +591,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java"
- line="334"
+ line="337"
column="28"/>
</issue>
@@ -580,7 +602,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java"
- line="381"
+ line="379"
column="47"/>
</issue>
@@ -591,7 +613,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java"
- line="384"
+ line="382"
column="64"/>
</issue>
@@ -602,7 +624,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java"
- line="386"
+ line="384"
column="22"/>
</issue>
@@ -613,7 +635,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java"
- line="395"
+ line="393"
column="38"/>
</issue>
@@ -624,7 +646,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java"
- line="524"
+ line="531"
column="27"/>
</issue>
@@ -635,7 +657,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java"
- line="726"
+ line="737"
column="36"/>
</issue>
@@ -646,7 +668,7 @@
errorLine2=" ~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java"
- line="908"
+ line="920"
column="21"/>
</issue>
@@ -657,7 +679,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="89"
+ line="92"
column="44"/>
</issue>
@@ -668,7 +690,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="593"
+ line="628"
column="18"/>
</issue>
@@ -679,7 +701,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="596"
+ line="631"
column="66"/>
</issue>
@@ -690,7 +712,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="601"
+ line="636"
column="40"/>
</issue>
@@ -701,7 +723,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="614"
+ line="649"
column="57"/>
</issue>
@@ -712,7 +734,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="618"
+ line="653"
column="41"/>
</issue>
@@ -723,7 +745,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="627"
+ line="662"
column="44"/>
</issue>
@@ -734,7 +756,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="638"
+ line="673"
column="18"/>
</issue>
@@ -745,7 +767,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="643"
+ line="678"
column="66"/>
</issue>
@@ -756,7 +778,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="649"
+ line="684"
column="45"/>
</issue>
@@ -767,7 +789,7 @@
errorLine2=" ~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="651"
+ line="686"
column="25"/>
</issue>
@@ -778,7 +800,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="652"
+ line="687"
column="38"/>
</issue>
@@ -789,7 +811,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="667"
+ line="702"
column="18"/>
</issue>
@@ -800,7 +822,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="671"
+ line="706"
column="57"/>
</issue>
@@ -811,7 +833,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java"
- line="687"
+ line="722"
column="41"/>
</issue>
@@ -822,18 +844,29 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java"
- line="633"
+ line="760"
column="39"/>
</issue>
<issue
id="NewApi"
+ message="Call requires API level R (current min is 21): `android.net.wifi.WifiInfo#getWifiStandard`"
+ errorLine1=" mConnectedInfo.wifiStandard = wifiInfo.getWifiStandard();"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java"
+ line="779"
+ column="56"/>
+ </issue>
+
+ <issue
+ id="NewApi"
message="Call requires API level 29 (current min is 21): `android.net.RouteInfo#hasGateway`"
errorLine1=" instanceof Inet4Address &amp;&amp; routeInfo.hasGateway()) {"
errorLine2=" ~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java"
- line="707"
+ line="835"
column="58"/>
</issue>
@@ -844,7 +877,7 @@
errorLine2=" ~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java"
- line="751"
+ line="879"
column="46"/>
</issue>
@@ -855,19 +888,41 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="191"
+ line="212"
column="52"/>
</issue>
<issue
id="NewApi"
- message="Call requires API level 23 (current min is 21): `android.net.wifi.WifiConfiguration#isPasspoint`"
- errorLine1=" if (config != null &amp;&amp; !config.isPasspoint()) {"
- errorLine2=" ~~~~~~~~~~~">
+ message="Call requires API level 31 (current min is 21): `android.telephony.TelephonyManager#registerTelephonyCallback`"
+ errorLine1=" mTelephonyManager.registerTelephonyCallback("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="232"
- column="39"/>
+ line="222"
+ column="27"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level R (current min is 21): `android.telephony.SubscriptionManager#getActiveDataSubscriptionId`"
+ errorLine1=" updateMergedCarrierEntry(SubscriptionManager.getActiveDataSubscriptionId());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
+ line="224"
+ column="54"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 31 (current min is 21): `android.telephony.TelephonyManager#unregisterTelephonyCallback`"
+ errorLine1=" mTelephonyManager.unregisterTelephonyCallback(mActiveDataSubIdListener);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
+ line="238"
+ column="31"/>
</issue>
<issue
@@ -877,7 +932,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="238"
+ line="270"
column="52"/>
</issue>
@@ -888,7 +943,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="391"
+ line="470"
column="30"/>
</issue>
@@ -899,7 +954,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="392"
+ line="471"
column="30"/>
</issue>
@@ -910,7 +965,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="393"
+ line="472"
column="30"/>
</issue>
@@ -921,7 +976,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="432"
+ line="511"
column="30"/>
</issue>
@@ -932,7 +987,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="433"
+ line="512"
column="30"/>
</issue>
@@ -943,7 +998,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="434"
+ line="513"
column="30"/>
</issue>
@@ -954,7 +1009,7 @@
errorLine2=" ~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="483"
+ line="562"
column="75"/>
</issue>
@@ -965,7 +1020,7 @@
errorLine2=" ~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="536"
+ line="615"
column="37"/>
</issue>
@@ -976,30 +1031,19 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="545"
+ line="624"
column="71"/>
</issue>
<issue
id="NewApi"
message="Call requires API level 23 (current min is 21): `android.net.wifi.WifiConfiguration#isPasspoint`"
- errorLine1=" !cachedConfig.isEphemeral() &amp;&amp; !cachedConfig.isPasspoint()).count();"
- errorLine2=" ~~~~~~~~~~~">
+ errorLine1=" if (config.isPasspoint()) {"
+ errorLine2=" ~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="650"
- column="74"/>
- </issue>
-
- <issue
- id="NewApi"
- message="Call requires API level 23 (current min is 21): `android.net.wifi.WifiConfiguration#isPasspoint`"
- errorLine1=" !cachedConfig.isEphemeral() &amp;&amp; !cachedConfig.isPasspoint()).count();"
- errorLine2=" ~~~~~~~~~~~">
- <location
- file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="685"
- column="66"/>
+ line="704"
+ column="24"/>
</issue>
<issue
@@ -1009,7 +1053,7 @@
errorLine2=" ~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="688"
+ line="722"
column="44"/>
</issue>
@@ -1020,63 +1064,85 @@
errorLine2=" ~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="692"
+ line="726"
column="42"/>
</issue>
<issue
id="NewApi"
- message="Call requires API level 23 (current min is 21): `android.net.wifi.WifiConfiguration#isPasspoint`"
- errorLine1=" if (config != null &amp;&amp; !config.isPasspoint()) {"
- errorLine2=" ~~~~~~~~~~~">
+ message="Call requires API level R (current min is 21): `android.net.wifi.hotspot2.PasspointConfiguration#getUniqueId`"
+ errorLine1=" config.getUniqueId()), Function.identity())));"
+ errorLine2=" ~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="703"
- column="43"/>
+ line="768"
+ column="32"/>
</issue>
<issue
id="NewApi"
- message="Call requires API level R (current min is 21): `android.net.wifi.hotspot2.PasspointConfiguration#getUniqueId`"
- errorLine1=" config.getUniqueId()), Function.identity())));"
- errorLine2=" ~~~~~~~~~~~">
+ message="Call requires API level R (current min is 21): `android.net.wifi.WifiConfiguration#getKey`"
+ errorLine1=" uniqueIdToPasspointWifiEntryKey(cachedWifiConfig.getKey()));"
+ errorLine2=" ~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="734"
- column="32"/>
+ line="888"
+ column="66"/>
</issue>
<issue
id="NewApi"
- message="Call requires API level 23 (current min is 21): `android.net.wifi.WifiConfiguration#isPasspoint`"
- errorLine1=" wifiConfig.isPasspoint() &amp;&amp; wifiConfig.networkId == connectedNetId"
- errorLine2=" ~~~~~~~~~~~">
+ message="Class requires API level 31 (current min is 21): `android.telephony.TelephonyCallback`"
+ errorLine1=" /* package */ class ActiveDataSubIdListener extends TelephonyCallback implements"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="849"
- column="32"/>
+ line="969"
+ column="65"/>
</issue>
<issue
id="NewApi"
- message="Call requires API level R (current min is 21): `android.net.wifi.WifiConfiguration#getKey`"
- errorLine1=" uniqueIdToPasspointWifiEntryKey(wifiConfig.getKey())))"
- errorLine2=" ~~~~~~">
+ message="Class requires API level 31 (current min is 21): `android.telephony.TelephonyCallback.ActiveDataSubscriptionIdListener`"
+ errorLine1=" TelephonyCallback.ActiveDataSubscriptionIdListener {"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="851"
- column="76"/>
+ line="970"
+ column="13"/>
</issue>
<issue
id="NewApi"
- message="Call requires API level R (current min is 21): `android.net.wifi.WifiConfiguration#getKey`"
- errorLine1=" uniqueIdToPasspointWifiEntryKey(wifiConfig.getKey()));"
- errorLine2=" ~~~~~~">
+ message="Call requires API level 31 (current min is 21): `new android.telephony.TelephonyCallback`"
+ errorLine1=" super();"
+ errorLine2=" ~~~~~">
+ <location
+ file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
+ line="972"
+ column="13"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): android.telephony.SubscriptionManager#getDefaultDataSubscriptionId [NewApi]"
+ errorLine1=" handleDefaultSubscriptionChanged(SubscriptionManager.getDefaultDataSubscriptionId());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java"
- line="854"
- column="72"/>
+ line="212"
+ column="62"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 31 (current min is 21): android.net.wifi.WifiManager#isCarrierNetworkOffloadEnabled [NewApi]"
+ errorLine1=" return mWifiManager.isCarrierNetworkOffloadEnabled(mSubscriptionId, true);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="frameworks/opt/net/wifi/libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java"
+ line="142"
+ column="29"/>
</issue>
</issues>
diff --git a/libs/WifiTrackerLib/res/values-af/arrays.xml b/libs/WifiTrackerLib/res/values-af/arrays.xml
index 877ecb065..d7f1d511d 100644
--- a/libs/WifiTrackerLib/res/values-af/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-af/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Soek tans …"</item>
- <item msgid="6222852518007967736">"Koppel tans …"</item>
- <item msgid="1176401854208153464">"Staaf tans …"</item>
- <item msgid="1377026397901197257">"Verkry tans IP-adres …"</item>
- <item msgid="7627139816052121509">"Gekoppel"</item>
- <item msgid="1598801023719359130">"Opgeskort"</item>
- <item msgid="9160765456671002324">"Ontkoppel tans …"</item>
- <item msgid="8013176736494493734">"Ontkoppel"</item>
- <item msgid="4077393480368783785">"Onsuksesvol"</item>
- <item msgid="605372180740008604">"Geblokkeer"</item>
- <item msgid="5102306451432929048">"Vermy tydelik swak verbinding"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Soek tans …"</item>
+ <item msgid="9055468790485684083">"Koppel tans …"</item>
+ <item msgid="6099499723199990208">"Staaf tans …"</item>
+ <item msgid="6794055951297347103">"Verkry tans IP-adres …"</item>
+ <item msgid="5450920562291300229">"Gekoppel"</item>
+ <item msgid="6332116533879646145">"Opgeskort"</item>
+ <item msgid="294459081501073818">"Ontkoppel tans …"</item>
+ <item msgid="1577368920272598676">"Ontkoppel"</item>
+ <item msgid="7655843177582495451">"Onsuksesvol"</item>
+ <item msgid="8953752690917593623">"Geblokkeer"</item>
+ <item msgid="4400457817750243671">"Vermy swak verbinding tydelik"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-af/strings.xml b/libs/WifiTrackerLib/res/values-af/strings.xml
index dca16b5e8..275c36b2b 100644
--- a/libs/WifiTrackerLib/res/values-af/strings.xml
+++ b/libs/WifiTrackerLib/res/values-af/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Outomatiese koppeling is af"</string>
- <string name="saved_network" msgid="6241977554502802914">"Gestoor deur <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Sal nie outomaties koppel nie"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Geen internettoegang nie"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Stawingsprobleem"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Gaan wagwoord na en probeer weer"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP-opstelling het misluk"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Gedeaktiveer"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Toegangspunt is tydelik vol"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Ontkoppel"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Gestoor"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Beperk"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Onbeperk"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Gekoppel via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Beskikbaar deur <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Outomaties gekoppel deur <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Outomaties deur netwerkgraderingverskaffer gekoppel"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Beperkte verbinding"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Daar kan nie by private DNS-bediener ingegaan word nie"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Geen internet nie"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Outomatiese koppeling is af"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Gestoor deur <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Sal nie outomaties koppel nie"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Geen internettoegang nie"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Stawingsprobleem"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Gaan wagwoord na en probeer weer"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP-opstelling het misluk"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Gedeaktiveer"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Toegangspunt is tydelik vol"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Tydelike swak netwerktoestande"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Swak sein. Probeer nader aan die roeteerder beweeg."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Netwerk is oor kapasiteit. Probeer later weer."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Kan nie koppel nie. Probeer later weer."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Netwerk is nie met hierdie toestel versoenbaar nie"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Ontkoppel"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Gestoor"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Beperk"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Onbeperk"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Gekoppel deur <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Beskikbaar deur <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Outomaties gekoppel deur <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Outomaties deur netwerkgraderingverskaffer gekoppel"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Beperkte verbinding"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Kan nie toegang tot private DNS-bediener kry nie"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Gekoppel aan toestel. Kan nie internet verskaf nie."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Lae gehalte"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Geen"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Verval"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Tik om aan te meld"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Tik om intekening te hernu en te koppel"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Maak tans <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> oop"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Kon nie koppel nie"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Voltooi tans aanmelding …"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Kon nie aanmelding voltooi nie. Tik om weer te probeer."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Aanmelding is voltooi. Koppel tans …"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Hierdie netwerk ontvang \'n unieke ID wat gebruik kan word om toestelligging na te spoor. "<annotation id="url">"Kom meer te wete"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Baie stadig"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Stadig"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Middelmatig"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Vinnig"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Baie vinnig"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Geen"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Verval"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Tik om aan te meld"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Tik om intekening te hernu en te koppel"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Maak tans <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> oop"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Kon nie koppel nie"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Voltooi tans aanmelding …"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Kon nie aanmelding voltooi nie. Tik om weer te probeer."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Aanmelding is voltooi. Koppel tans …"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Hierdie netwerk ontvang \'n SIM-ID wat gebruik kan word om toestelligging na te spoor. "<annotation id="url">"Kom meer te wete"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Baie stadig"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Stadig"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Medium"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Vinnig"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Baie vinnig"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-fi sal vir nou nie outomaties koppel nie"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-am/arrays.xml b/libs/WifiTrackerLib/res/values-am/arrays.xml
index 95ac6d810..b4ec90d54 100644
--- a/libs/WifiTrackerLib/res/values-am/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-am/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"በመቃኘት ላይ…"</item>
- <item msgid="6222852518007967736">"በመገናኘት ላይ…"</item>
- <item msgid="1176401854208153464">"በማረጋገጥ ላይ…"</item>
- <item msgid="1377026397901197257">"የአይፒ አድራሻን በማግኘት ላይ…"</item>
- <item msgid="7627139816052121509">"ተገናኝቷል"</item>
- <item msgid="1598801023719359130">"ታግዷል"</item>
- <item msgid="9160765456671002324">"ግንኝነት በማቋረጥ ላይ…"</item>
- <item msgid="8013176736494493734">"ተቋርጧል"</item>
- <item msgid="4077393480368783785">"አልተሳካም"</item>
- <item msgid="605372180740008604">"ታግዷል"</item>
- <item msgid="5102306451432929048">"ለጊዜው ከደካማ ግንኙነት በመታቀብ ላይ"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"በመቃኘት ላይ…"</item>
+ <item msgid="9055468790485684083">"በመገናኘት ላይ…"</item>
+ <item msgid="6099499723199990208">"በማረጋገጥ ላይ…"</item>
+ <item msgid="6794055951297347103">"የአይፒ አድራሻን በማግኘት ላይ…"</item>
+ <item msgid="5450920562291300229">"ተገናኝቷል"</item>
+ <item msgid="6332116533879646145">"ታግዷል"</item>
+ <item msgid="294459081501073818">"ግንኝነት በማቋረጥ ላይ…"</item>
+ <item msgid="1577368920272598676">"ተቋርጧል"</item>
+ <item msgid="7655843177582495451">"አልተሳካም"</item>
+ <item msgid="8953752690917593623">"ታግዷል"</item>
+ <item msgid="4400457817750243671">"ለጊዜው ከደካማ ግንኙነት በመታቀብ ላይ"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-am/strings.xml b/libs/WifiTrackerLib/res/values-am/strings.xml
index 0280faaf0..9391ccf5b 100644
--- a/libs/WifiTrackerLib/res/values-am/strings.xml
+++ b/libs/WifiTrackerLib/res/values-am/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"ራስ-ተገናኝ ጠፍቷል"</string>
- <string name="saved_network" msgid="6241977554502802914">"የተቀመጠው በ<xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"በራስ-ሰር አይገናኝም"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"ምንም የበይነመረብ መዳረሻ የለም"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"የማረጋገጥ ችግር"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"የይለፍ ቃልን ይፈትሹ እና እንደገና ይሞክሩ"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"የአይፒ ውቅረት መሰናከል"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"ተሰናክሏል"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"የመዳረሻ ነጥብ ለጊዜው ሞልቷል"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"ተቋርጧል"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"ተቀምጧል"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"የሚለካ"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"ያልተለካ"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"በ <xliff:g id="NAME">%1$s</xliff:g> በኩል ተገናኝተዋል"</string>
- <string name="available_via_app" msgid="9110324040292242769">"በ<xliff:g id="NAME">%1$s</xliff:g> በኩል የሚገኝ"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"በ<xliff:g id="NAME">%1$s</xliff:g> በኩል በራስ-ሰር ተገናኝቷል"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"በአውታረ መረብ ደረጃ ሰጪ አቅራቢ በኩል በራስ-ሰር ተገናኝቷል"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"የተገደበ ግንኙነት"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"የግል ዲኤንኤስ አገልጋይ ሊደረስበት አይችልም"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"ምንም በይነመረብ የለም"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"ራስ-ተገናኝ ጠፍቷል"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"የተቀመጠው በ<xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"በራስ-ሰር አይገናኝም"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"ምንም የበይነመረብ መዳረሻ የለም"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"የማረጋገጥ ችግር"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"የይለፍ ቃልን ይፈትሹ እና እንደገና ይሞክሩ"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"የአይፒ ውቅረት መሰናከል"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"ተሰናክሏል"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"የመዳረሻ ነጥብ ለጊዜው ሞልቷል"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"ጊዜያዊ ደካማ የአውታረ መረብ ሁኔታዎች"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"ደካማ ሲግናል። ወደ ራውተር ለመቅረብ ይሞክሩ።"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"አውታረመረብ ከአቅም በላይ ነው። ቆይተው እንደገና ይሞክሩ።"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"መገናኘት አልተቻለም። ቆይተው እንደገና ይሞክሩ።"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"አውታረ መረብ ከዚህ መሣሪያ ጋር ተኳሃኝ አይደለም"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"ተቋርጧል"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"ተቀምጧል"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"የሚለካ"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"ያልተለካ"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"በ <xliff:g id="NAME">%1$s</xliff:g> በኩል ተገናኝተዋል"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"በ<xliff:g id="NAME">%1$s</xliff:g> በኩል የሚገኝ"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"በ<xliff:g id="NAME">%1$s</xliff:g> በኩል በራስ-ሰር ተገናኝቷል"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"በአውታረ መረብ ደረጃ ሰጪ አቅራቢ በኩል በራስ-ሰር ተገናኝቷል"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"የተገደበ ግንኙነት"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"የግል ዲኤንኤስ አገልጋይ ሊደረስበት አይችልም"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"ከመሣሪያው ጋር ተገናኝቷል። በይነመረብ ማቅረብ አልተቻለም።"</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"አነስተኛ ጥራት"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"የለም"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"ጊዜው አልፏል"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"ለመመዝገብ መታ ያድርጉ"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"የደንበኝነት ምዝገባን ዳግም ለማደስ እና ለማገናኘት መታ ይድርጉ"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>ን በመክፈት ላይ"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"መገናኘት አልተቻለም"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"መመዝገብን በማጠናቀቅ ላይ…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"ምዝገባን ማጠናቀቅ አልተቻለም። እንደገና ለመሞከር መታ ያድርጉ።"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"ምዝገባ ተጠናቋል። በማገናኘት ላይ…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"ይህ አውታረ መረብ የመሣሪያ አካባቢን ለመከታተል ስራ ላይ ሊውል የሚችል ልዩ መታወቂያ ተቀብሏል። "<annotation id="url">"የበለጠ ለመረዳት"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"በጣም ቀርፋፋ"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"አዘግይ"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"እሺ"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"መካከለኛ"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"ፈጣን"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"እጅግ በጣም ፈጣን"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"ምንም"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"ጊዜው አልፏል"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"ለመመዝገብ መታ ያድርጉ"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"የደንበኝነት ምዝገባን ዳግም ለማደስ እና ለማገናኘት መታ ይድርጉ"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>ን በመክፈት ላይ"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"መገናኘት አልተቻለም"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"መመዝገብን በማጠናቀቅ ላይ…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"ምዝገባን ማጠናቀቅ አልተቻለም። እንደገና ለመሞከር መታ ያድርጉ።"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"ምዝገባ ተጠናቋል። በማገናኘት ላይ…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"ይህ አውታረ መረብ የመሣሪያ አካባቢን ለመከታተል ሥራ ላይ ሊውል የሚችል የሲም መታወቂያ ተቀብሏል። "<annotation id="url">"የበለጠ ለመረዳት"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"በጣም ቀርፋፋ"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"ቀርፋፋ"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"እሺ"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"መካከለኛ"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"ፈጣን"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"በጣም ፈጣን"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ar/arrays.xml b/libs/WifiTrackerLib/res/values-ar/arrays.xml
index e93d0b151..2dd2962b0 100644
--- a/libs/WifiTrackerLib/res/values-ar/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-ar/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"جارٍ البحث عن الشبكات…"</item>
- <item msgid="6222852518007967736">"جارٍ الاتصال…"</item>
- <item msgid="1176401854208153464">"جارٍ المصادقة…"</item>
- <item msgid="1377026397901197257">"‏جارٍ الحصول على عنوان IP…"</item>
- <item msgid="7627139816052121509">"متصلة"</item>
- <item msgid="1598801023719359130">"معلّقة"</item>
- <item msgid="9160765456671002324">"جارٍ قطع الاتصال…"</item>
- <item msgid="8013176736494493734">"غير متصلة"</item>
- <item msgid="4077393480368783785">"تعذّر الاتصال بالشبكة"</item>
- <item msgid="605372180740008604">"محظورة"</item>
- <item msgid="5102306451432929048">"يتم مؤقتًا تجنب الاتصال الضعيف"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"جارٍ البحث عن الشبكات…"</item>
+ <item msgid="9055468790485684083">"جارٍ الاتصال بالإنترنت…"</item>
+ <item msgid="6099499723199990208">"جارٍ مصادقة الشبكة…"</item>
+ <item msgid="6794055951297347103">"‏جارٍ الحصول على عنوان IP…"</item>
+ <item msgid="5450920562291300229">"متصلة"</item>
+ <item msgid="6332116533879646145">"معلّقة"</item>
+ <item msgid="294459081501073818">"جارٍ قطع الاتصال بالشبكة…"</item>
+ <item msgid="1577368920272598676">"غير متصلة"</item>
+ <item msgid="7655843177582495451">"تعذّر الاتصال بالشبكة."</item>
+ <item msgid="8953752690917593623">"محظورة"</item>
+ <item msgid="4400457817750243671">"يتم مؤقتًا تجنب الاتصال الضعيف بالإنترنت"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ar/strings.xml b/libs/WifiTrackerLib/res/values-ar/strings.xml
index a73a4037e..58aae2950 100644
--- a/libs/WifiTrackerLib/res/values-ar/strings.xml
+++ b/libs/WifiTrackerLib/res/values-ar/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"الاتصال التلقائي غير مفعّل"</string>
- <string name="saved_network" msgid="6241977554502802914">"تم الحفظ بواسطة <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"لن يتم الاتصال بالإنترنت تلقائيًا."</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"لا يتوفّر اتصال بالإنترنت"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"مشكلة في المصادقة"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"يُرجى التحقق من كلمة المرور وإعادة المحاولة"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"‏تعذّر إعداد عنوان IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"غير مفعّلة"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"نقطة الوصول ممتلئة مؤقتًا"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"غير متصلة"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"تم الحفظ"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"تفرض تكلفة استخدام"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"بدون قياس"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"تم الاتصال عبر <xliff:g id="NAME">%1$s</xliff:g>."</string>
- <string name="available_via_app" msgid="9110324040292242769">"متاحة من خلال <xliff:g id="NAME">%1$s</xliff:g>."</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"تم تلقائيًا توصيل الجهاز بشبكة <xliff:g id="NAME">%1$s</xliff:g>."</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"تم الاتصال تلقائيًا عبر مقدم خدمة تقييم الشبكة"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"اتصال محدود"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"لا يمكن الوصول إلى خادم أسماء نظام نطاقات خاص"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"لا يتوفر اتصال إنترنت."</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"الاتصال التلقائي غير مُفعَّل."</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"تم الحفظ من قِبل <xliff:g id="NAME">%1$s</xliff:g>."</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"لن يتم الاتصال بالإنترنت تلقائيًا."</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"لا يتوفّر اتصال بالإنترنت"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"حدثت مشكلة في المصادقة."</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"يُرجى التحقق من كلمة المرور وإعادة المحاولة."</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"‏تعذّر إعداد عنوان IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"غير مُفعَّلة"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"نقطة الوصول ممتلئة مؤقتًا."</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"الاتصال بشبكات الإنترنت سيئ حاليًا"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"الإشارة ضعيفة. حاوِل الاقتراب من جهاز التوجيه."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"تجاوزت الشبكة الحد الأقصى للسعة. يُرجى إعادة المحاولة لاحقًا."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"يتعذّر الاتصال بالشبكة. يُرجى إعادة المحاولة لاحقًا."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"الشبكة غير متوافقة مع هذا الجهاز."</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"غير متصلة"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"شبكة محفوظة"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"تفرض تكلفة استخدام"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"لا تفرض تكلفة استخدام"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"تم الاتصال من خلال <xliff:g id="NAME">%1$s</xliff:g>."</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"متاحة من خلال <xliff:g id="NAME">%1$s</xliff:g>."</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"تم الاتصال تلقائيًا بشبكة <xliff:g id="NAME">%1$s</xliff:g>."</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"تم الاتصال تلقائيًا من خلال مقدّم خدمة تقييم الشبكة."</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"الاتصال بالإنترنت محدود"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"لا يمكن الوصول إلى خادم أسماء نظام نطاقات خاص"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"الشبكة متصلة بالجهاز. يتعذّر توفير اتصال بالإنترنت."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"جودة منخفضة"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"بلا أمان"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"منتهية الصلاحية"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"انقر للاشتراك."</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"انقر لتجديد الاشتراك والاتصال بالشبكة."</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"جارٍ فتح <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"تعذّر الاتصال بالإنترنت."</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"جارٍ إكمال الاشتراك…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"تعذّر إكمال الاشتراك. انقر لإعادة المحاولة."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"اكتمل الاشتراك. جارٍ الاتصال…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"تتلقّى هذه الشبكة معرّفًا فريدًا يمكن استخدامه لتتبُّع الموقع الجغرافي للجهاز. "<annotation id="url">"مزيد من المعلومات"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"بطيئة جدًا"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"بطيئة"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"حسنًا"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"متوسطة"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"سريعة"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"سريعة جدًا"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"بدون أمان"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"منتهية الصلاحية"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"انقر للاشتراك."</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"انقر لتجديد الاشتراك والاتصال بالشبكة."</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"جارٍ فتح <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"تعذّر الاتصال بالإنترنت."</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"جارٍ إكمال الاشتراك…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"تعذّر إكمال الاشتراك. انقر لإعادة المحاولة."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"اكتمل الاشتراك. جارٍ الاتصال بالإنترنت…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"‏تتلقّى هذه الشبكة رقم تعريف لشريحة SIM يمكن استخدامه لتتبُّع الموقع الجغرافي للجهاز. "<annotation id="url">"مزيد من المعلومات"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"بطيئة جدًا"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"بطيئة"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"جيدة"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"متوسطة"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"سريعة"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"سريعة جدًا"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-as/arrays.xml b/libs/WifiTrackerLib/res/values-as/arrays.xml
index b9b370618..125bc7679 100644
--- a/libs/WifiTrackerLib/res/values-as/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-as/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"স্কেন কৰি থকা হৈছে…"</item>
- <item msgid="6222852518007967736">"সংযোগ কৰি থকা হৈছে…"</item>
- <item msgid="1176401854208153464">"বিশ্বাসযোগ্যতা প্ৰমাণীকৰণ কৰি থকা হৈছে…"</item>
- <item msgid="1377026397901197257">"আইপি ঠিকনা সংগ্ৰহ কৰি থকা হৈছে…"</item>
- <item msgid="7627139816052121509">"সংযুক্ত"</item>
- <item msgid="1598801023719359130">"নিলম্বিত"</item>
- <item msgid="9160765456671002324">"সংযোগ বিচ্ছিন্ন কৰি থকা হৈছে…"</item>
- <item msgid="8013176736494493734">"সংযোগ বিচ্ছিন্ন"</item>
- <item msgid="4077393480368783785">"বিফল"</item>
- <item msgid="605372180740008604">"অৱৰোধিত"</item>
- <item msgid="5102306451432929048">"কিছুসময়ৰ বাবে দুৰ্বল সংযোগ দেখুওৱা হোৱা নাই"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"স্কেন কৰি থকা হৈছে…"</item>
+ <item msgid="9055468790485684083">"সংযোগ কৰি থকা হৈছে…"</item>
+ <item msgid="6099499723199990208">"বিশ্বাসযোগ্যতা প্ৰমাণীকৰণ কৰি থকা হৈছে…"</item>
+ <item msgid="6794055951297347103">"আইপি ঠিকনা সংগ্ৰহ কৰি থকা হৈছে…"</item>
+ <item msgid="5450920562291300229">"সংযোজিত"</item>
+ <item msgid="6332116533879646145">"নিলম্বন কৰা হৈছে"</item>
+ <item msgid="294459081501073818">"সংযোগ বিচ্ছিন্ন কৰি থকা হৈছে…"</item>
+ <item msgid="1577368920272598676">"সংযোগ বিচ্ছিন্ন হৈছে"</item>
+ <item msgid="7655843177582495451">"বিফল হৈছে"</item>
+ <item msgid="8953752690917593623">"অৱৰোধ কৰা আছে"</item>
+ <item msgid="4400457817750243671">"সাময়িকভাৱে দুৰ্বল সংযোগ দেখুওৱা হোৱা নাই"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-as/strings.xml b/libs/WifiTrackerLib/res/values-as/strings.xml
index 1eeb44a5d..5afd87294 100644
--- a/libs/WifiTrackerLib/res/values-as/strings.xml
+++ b/libs/WifiTrackerLib/res/values-as/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"স্বয়ংক্ৰিয় সংযোগৰ সুবিধাটো অফ আছে"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g>এ ছেভ কৰিছে"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"স্বয়ংক্ৰিয়ভাৱে সংযোগ নহ’ব"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"ইণ্টাৰনেটৰ এক্সেছ নাই"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"বিশ্বাসযোগ্যতা প্ৰমাণীকৰণত সমস্যা হৈছে"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"পাছৱৰ্ড পৰীক্ষা কৰি আকৌ চেষ্টা কৰক"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"আইপি কনফিগাৰেশ্বন বিফল হৈছে"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"নিষ্ক্ৰিয় হৈ আছে"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"একচেছ পইণ্ট কিছু সময়ৰ বাবে পূৰ্ণ হৈ আছে"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"সংযোগ বিচ্ছিন্ন"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"ছেভ কৰি থোৱা নেটৱৰ্কসমূহ"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"নিৰিখ-নিৰ্দিষ্ট"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"নিৰিখ অনিৰ্দিষ্ট"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g>ৰ জৰিয়তে সংযুক্ত"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g>ৰ জৰিয়তে উপলব্ধ"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g>ৰ জৰিয়তে স্বয়ংক্ৰিয়ভাৱে সংযুক্ত"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"নেটৱৰ্ক ৰেটিং প্ৰদানকাৰীৰ জৰিয়তে স্বয়ং সংয়োগ কৰা হ’ল"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"ইণ্টাৰনেট সংযোগ সীমিত"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"ব্যক্তিগত DNS ছাৰ্ভাৰ এক্সেছ কৰিব নোৱাৰি"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"ইণ্টাৰনেট সংযোগ নাই"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"স্বয়ংক্ৰিয় সংযোগৰ সুবিধাটো অফ আছে"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g>এ ছেভ কৰিছে"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"স্বয়ংক্ৰিয়ভাৱে সংযোগ নহ’ব"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"ইণ্টাৰনেটৰ এক্সেছ নাই"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"বিশ্বাসযোগ্যতা প্ৰমাণীকৰণত সমস্যা হৈছে"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"পাছৱৰ্ড পৰীক্ষা কৰক আৰু পুনৰ চেষ্টা কৰক"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"আইপি কনফিগাৰেশ্বন বিফল হৈছে"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"অক্ষম কৰা আছে"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"এক্সেছ পইণ্ট সাময়িকভাৱে পূৰ্ণ হৈছে"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"অস্থায়ীভাৱে নেটৱৰ্ক বেয়া হোৱাৰ অৱস্থা"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"দুৰ্বল সংকেত। ৰাউটাৰৰ ওচৰলৈ গৈ চাওক।"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"নেটৱৰ্কে অধিকতম ক্ষমতা অতিক্ৰম কৰিছে। পাছত পুনৰ চেষ্টা কৰক।"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"সংযোগ কৰিব নোৱাৰি। পাছত পুনৰ চেষ্টা কৰক।"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"নেটৱৰ্কে এই ডিভাইচটোৰ সৈতে কাম কৰিব নোৱাৰে"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"সংযোগ বিচ্ছিন্ন হৈছে"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"ছেভ কৰা আছে"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"নিৰিখ-নিৰ্দিষ্ট"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"নিৰিখ নিৰ্দিষ্ট নকৰা"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g>ৰ জৰিয়তে সংযুক্ত হৈছে"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g>ৰ জৰিয়তে উপলব্ধ হৈছে"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g>ৰ জৰিয়তে স্বয়ংক্ৰিয়ভাৱে সংযুক্ত হৈছে"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"নেটৱৰ্ক ৰেটিং প্ৰদানকাৰীৰ জৰিয়তে স্বয়ংক্ৰিয়ভাৱে সংযুক্ত হৈছে"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"ইণ্টাৰনেট সংযোগ সীমিত"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"নাই"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"ম্যাদ উকলিছে"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"ছাইন আপ কৰিবলৈ টিপক"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"ছাবস্ক্ৰিপশ্বন নৱীকৰণ আৰু সংযোগ কৰিবলৈ টিপক"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> খুলি থকা হৈছে"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"সংযোগ কৰিব পৰা নগ’ল"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"ছাইন আপ সম্পূৰ্ণ কৰি থকা হৈছে…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"ছাইন আপ সম্পূৰ্ণ কৰিব পৰা নগ’ল। পুনৰ চেষ্টা কৰিবলৈ টিপক।"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"ছাইন আপ সম্পূৰ্ণ হৈছে। সংযোগ কৰি থকা হৈছে…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"এই নেটৱৰ্কটোৱে এটা সুকীয়া আইডি পায়, যিটো ডিভাইচৰ অৱস্থান ট্ৰেক কৰিবলৈ ব্যৱহাৰ কৰিব পাৰি। "<annotation id="url">"অধিক জানক"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"অতি লেহেম"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"লেহেমীয়া"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ঠিক"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"মধ্যমীয়া"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"দ্ৰুত"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"অতি দ্ৰুত"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"একো নাই"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"ম্যাদ উকলিছে"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"ছাইন আপ কৰিবলৈ টিপক"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"ছাবস্ক্ৰিপশ্বন নৱীকৰণ আৰু সংযোগ কৰিবলৈ টিপক"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> খুলি থকা হৈছে"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"সংযোগ কৰিব পৰা নগ’ল"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"ছাইন আপ সম্পূৰ্ণ কৰি থকা হৈছে…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"ছাইন আপ সম্পূৰ্ণ কৰিব পৰা নগ’ল। পুনৰ চেষ্টা কৰিবলৈ টিপক।"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"ছাইন আপ সম্পূৰ্ণ হৈছে। সংযোগ কৰি থকা হৈছে…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"এই নেটৱৰ্কটোৱে এটা ছিম আইডি পায়, যিটো ডিভাইচৰ অৱস্থান ট্ৰেক কৰিবলৈ ব্যৱহাৰ কৰিব পাৰি। "<annotation id="url">"অধিক জানক"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"অতি লেহেমীয়া"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"লেহেমীয়া"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ঠিক আছে"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"মধ্যমীয়া"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"দ্ৰুত"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"অতি দ্ৰুত"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-az/arrays.xml b/libs/WifiTrackerLib/res/values-az/arrays.xml
index 582d1de99..31b228d1b 100644
--- a/libs/WifiTrackerLib/res/values-az/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-az/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Skan edilir…"</item>
- <item msgid="6222852518007967736">"Qoşulur…"</item>
- <item msgid="1176401854208153464">"Doğrulanır…"</item>
- <item msgid="1377026397901197257">"IP ünvanı əldə edilir…"</item>
- <item msgid="7627139816052121509">"Qoşuldu"</item>
- <item msgid="1598801023719359130">"Dayandırılıb"</item>
- <item msgid="9160765456671002324">"Bağlantı kəsilir…"</item>
- <item msgid="8013176736494493734">"Bağlantı kəsildi"</item>
- <item msgid="4077393480368783785">"Uğursuz"</item>
- <item msgid="605372180740008604">"Bloklanıb"</item>
- <item msgid="5102306451432929048">"Zəif bağlantı müvəqqəti olaraq aradan qaldırılır"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Skan edilir…"</item>
+ <item msgid="9055468790485684083">"Qoşulur…"</item>
+ <item msgid="6099499723199990208">"Doğrulanır…"</item>
+ <item msgid="6794055951297347103">"IP ünvanı əldə edilir…"</item>
+ <item msgid="5450920562291300229">"Qoşulub"</item>
+ <item msgid="6332116533879646145">"Dayandırılıb"</item>
+ <item msgid="294459081501073818">"Bağlantı kəsilir…"</item>
+ <item msgid="1577368920272598676">"Bağlantı kəsildi"</item>
+ <item msgid="7655843177582495451">"Uğursuz"</item>
+ <item msgid="8953752690917593623">"Bloklanıb"</item>
+ <item msgid="4400457817750243671">"Zəif bağlantı müvəqqəti olaraq aradan qaldırılır"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-az/strings.xml b/libs/WifiTrackerLib/res/values-az/strings.xml
index b3f1a9700..1b8b157c3 100644
--- a/libs/WifiTrackerLib/res/values-az/strings.xml
+++ b/libs/WifiTrackerLib/res/values-az/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Avtomatik qoşulma sönülüdür"</string>
- <string name="saved_network" msgid="6241977554502802914">"Yadda saxlayan: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Avtomatik qoşulmayacaq"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"İnternetə giriş yoxdur"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Doğrulama problemi"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Parolu yoxlayın və yenidən cəhd edin"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP Konfiqurasiya Uğursuzluğu"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Deaktiv"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Giriş nöqtəsi müvəqqəti olaraq doludur"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Bağlantı kəsildi"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Yadda saxlanılan"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Tarif sayğacılı"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Limitsiz"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> ilə qoşulub"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> vasitəsilə əlçatandır"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> vasitəsilə avtomatik qoşulub"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Avtomatik olaraq şəbəkə reytinq provayderi ilə qoşuludur"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Məhdud bağlantı"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Özəl DNS serverinə giriş mümkün deyil"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"İnternet yoxdur"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Avtomatik qoşulma deaktivdir"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Yadda saxlayan: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Avtomatik qoşulmayacaq"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"İnternetə giriş yoxdur"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Doğrulama problemi"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Parolu yoxlayın və yenidən cəhd edin"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"İP konfiqurasiyası uğursuz oldu"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Deaktiv"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Giriş nöqtəsi müvəqqəti olaraq doludur"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Şəbəkə bağlantısı müvəqqəti zəifdir"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Zəif siqnal. Ruterə yaxınlaşdırın."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Şəbəkə limiti aşılıb. Sonra cəhd edin."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Qoşulmaq mümkün deyil. Sonra cəhd edin."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Şəbəkə bu cihaz ilə uyğun deyil"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Bağlantı kəsildi"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Yadda saxlandı"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Tarif sayğacılı"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Limitsiz"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> vasitəsilə qoşulub"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> vasitəsilə əlçatandır"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> vasitəsilə avtomatik qoşulub"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Avtomatik olaraq şəbəkə reytinq provayderi vasitəsilə qoşulub"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Məhdud bağlantı"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Özəl DNS serverinə giriş mümkün deyil"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Cihaza qoşulub. İnternet təmin etmək olmur."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Aşağı keyfiyyət"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Heç biri"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Vaxtı keçib"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Qeydiyyatdan keçmək üçün toxunun"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Abunəliyi yeniləmək və qoşulmaq üçün toxunun"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> açılır"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Qoşulmaq mümkün olmadı"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Qeydiyyat tamamlanır…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Qeydiyyat tamamlanmadı. Yenidən cəhd etmək üçün toxunun."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Qeydiyyat tamamlandı. Qoşulur…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Bu şəbəkə cihaz məkanını izləmək üçün istifadə edilə biləcək unikal ID qəbul edir. "<annotation id="url">"Ətraflı məlumat"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Çox Yavaş"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Yavaş"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Orta"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Sürətli"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Çox Sürətli"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Heç"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Bitib"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Qeydiyyatdan keçmək üçün toxunun"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Abunəliyi yeniləmək və qoşulmaq üçün toxunun"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> açılır"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Qoşulmaq mümkün olmadı"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Qeydiyyat tamamlanır…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Qeydiyyat tamamlanmadı. Yenidən cəhd etmək üçün toxunun."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Qeydiyyat tamamlandı. Qoşulur…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Bu şəbəkə cihaz məkanını izləmək üçün istifadə edilə biləcək SIM ID qəbul edir. "<annotation id="url">"Ətraflı məlumat"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Çox Zəif"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Zəif"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Orta"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Sürətli"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Çox Sürətli"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-b+sr+Latn/arrays.xml b/libs/WifiTrackerLib/res/values-b+sr+Latn/arrays.xml
index 2e5f1bce3..3975474ce 100644
--- a/libs/WifiTrackerLib/res/values-b+sr+Latn/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-b+sr+Latn/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Traži se…"</item>
- <item msgid="6222852518007967736">"Povezuje se…"</item>
- <item msgid="1176401854208153464">"Potvrđuje se identitet…"</item>
- <item msgid="1377026397901197257">"Preuzima se IP adresa…"</item>
- <item msgid="7627139816052121509">"Povezano"</item>
- <item msgid="1598801023719359130">"Suspendovano"</item>
- <item msgid="9160765456671002324">"Prekida se veza…"</item>
- <item msgid="8013176736494493734">"Veza je prekinuta"</item>
- <item msgid="4077393480368783785">"Nije uspelo"</item>
- <item msgid="605372180740008604">"Blokirano"</item>
- <item msgid="5102306451432929048">"Privremeno izbegavanje loše veze"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Traži se…"</item>
+ <item msgid="9055468790485684083">"Povezuje se…"</item>
+ <item msgid="6099499723199990208">"Potvrđuje se identitet…"</item>
+ <item msgid="6794055951297347103">"Preuzima se IP adresa…"</item>
+ <item msgid="5450920562291300229">"Povezano je"</item>
+ <item msgid="6332116533879646145">"Suspendovano"</item>
+ <item msgid="294459081501073818">"Prekida se veza…"</item>
+ <item msgid="1577368920272598676">"Veza je prekinuta"</item>
+ <item msgid="7655843177582495451">"Nije uspelo"</item>
+ <item msgid="8953752690917593623">"Blokirano"</item>
+ <item msgid="4400457817750243671">"Privremeno izbegavanje loše veze"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-b+sr+Latn/strings.xml b/libs/WifiTrackerLib/res/values-b+sr+Latn/strings.xml
index 7c578d3ba..26bac70ac 100644
--- a/libs/WifiTrackerLib/res/values-b+sr+Latn/strings.xml
+++ b/libs/WifiTrackerLib/res/values-b+sr+Latn/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Automatsko povezivanje je isključeno"</string>
- <string name="saved_network" msgid="6241977554502802914">"Sačuvao/la je <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Automatsko povezivanje nije uspelo"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Nema pristupa internetu"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problem sa potvrdom identiteta"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Proverite lozinku i probajte ponovo"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP konfiguracija je otkazala"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Onemogućeno"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Pristupna tačka je privremeno zauzeta"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Veza je prekinuta"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Sačuvano"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Sa ograničenjem"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Bez ograničenja"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Povezano preko: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Dostupno preko aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatski povezano preko: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatski povezano preko dobavljača ocene mreže"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Ograničena veza"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Pristup privatnom DNS serveru nije uspeo"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Nema interneta"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automatsko povezivanje je isključeno"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Sačuvao/la: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Automatsko povezivanje nije uspelo"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Nema pristupa internetu"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problem sa potvrdom identiteta"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Proverite lozinku i probajte ponovo"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP konfiguracija je otkazala"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Onemogućeno"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Pristupna tačka je privremeno zauzeta"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Privremeno slaba mreža"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Slab signal. Probajte da se približite ruteru."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Kapacitet mreže je premašen. Probajte ponovo kasnije."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Povezivanje nije uspelo. Probajte ponovo kasnije."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Mreža nije kompatibilna sa ovim uređajem"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Veza je prekinuta"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Sačuvano"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Sa ograničenjem"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Bez ograničenja"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Povezano pomoću aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Dostupno preko aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatski povezano pomoću aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatski povezano preko dobavljača ocene mreže"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Ograničena veza"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Pristup privatnom DNS serveru nije uspeo"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Uređaj je povezan. Pružanje interneta nije uspelo."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Loš kvalitet"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Ništa"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Isteklo"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Dodirnite da biste se registrovali"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Dodirnite da biste obnovili pretplatu i povezali"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Otvara se <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Povezivanje nije uspelo"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Registracija se dovršava…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Dovršavanje registracije nije uspelo. Dodirnite da biste probali ponovo."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Registracija je dovršena. Povezuje se…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Ova mreža zahteva jedinstveni ID koji može da se koristi za praćenje lokacije uređaja. "<annotation id="url">"Saznajte više"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Veoma spora"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Spora"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Potvrdi"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Srednja"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Brza"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Veoma brza"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Ništa"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Istekla"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Dodirnite da biste se registrovali"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Dodirnite da biste obnovili pretplatu i povezali se"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Otvara se <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Povezivanje nije uspelo"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Registracija se dovršava…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Dovršavanje registracije nije uspelo. Dodirnite da biste probali ponovo."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registracija je dovršena. Povezuje se…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Ova mreža dobija ID SIM kartice koji može da se koristi za praćenje lokacije uređaja. "<annotation id="url">"Saznajte više"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Veoma sporo"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Sporo"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"U redu"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Srednje"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Brzo"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Veoma brzo"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"WiFi trenutno ne može da se automatski poveže"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-be/arrays.xml b/libs/WifiTrackerLib/res/values-be/arrays.xml
index 6b53b51cd..e6b2c39d1 100644
--- a/libs/WifiTrackerLib/res/values-be/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-be/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Ідзе пошук…"</item>
- <item msgid="6222852518007967736">"Ідзе падключэнне…"</item>
- <item msgid="1176401854208153464">"Ідзе аўтэнтыфікацыя…"</item>
- <item msgid="1377026397901197257">"Атрымліваецца IP-адрас…"</item>
- <item msgid="7627139816052121509">"Падключана"</item>
- <item msgid="1598801023719359130">"Прыпынена"</item>
- <item msgid="9160765456671002324">"Ідзе адключэнне…"</item>
- <item msgid="8013176736494493734">"Адключана"</item>
- <item msgid="4077393480368783785">"Не ўдалося"</item>
- <item msgid="605372180740008604">"Заблакіравана"</item>
- <item msgid="5102306451432929048">"Сувязь часова палепшана"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Ідзе пошук…"</item>
+ <item msgid="9055468790485684083">"Ідзе падключэнне…"</item>
+ <item msgid="6099499723199990208">"Ідзе аўтэнтыфікацыя…"</item>
+ <item msgid="6794055951297347103">"Атрымліваецца IP-адрас…"</item>
+ <item msgid="5450920562291300229">"Падключана"</item>
+ <item msgid="6332116533879646145">"Прыпынена"</item>
+ <item msgid="294459081501073818">"Ідзе адключэнне…"</item>
+ <item msgid="1577368920272598676">"Адключана"</item>
+ <item msgid="7655843177582495451">"Збой"</item>
+ <item msgid="8953752690917593623">"Заблакіравана"</item>
+ <item msgid="4400457817750243671">"Сувязь часова палепшана"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-be/strings.xml b/libs/WifiTrackerLib/res/values-be/strings.xml
index c1cf8c682..4aa06ba0c 100644
--- a/libs/WifiTrackerLib/res/values-be/strings.xml
+++ b/libs/WifiTrackerLib/res/values-be/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Аўтападключэнне выключана"</string>
- <string name="saved_network" msgid="6241977554502802914">"Захавана праз: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Не будзе аўтаматычна падключацца"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Няма доступу да інтэрнэту"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Памылка аўтэнтыфікацыі"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Праверце пароль і паўтарыце спробу"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Збой канфігурацыі IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Адключана"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Пункт доступу часова заняты"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Адключана"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Захавана"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Сетка з падлікам трафіка"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Сетка без уліку трафіка"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Падключана праз праграму \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
- <string name="available_via_app" msgid="9110324040292242769">"Даступна праз: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Аўтаматычна падключана праз: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Аўтаматычна падключана праз пастаўшчыка паслугі ацэнкі сеткі"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Абмежаваныя магчымасці падключэння"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Не ўдалося атрымаць доступ да прыватнага DNS-сервера"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Няма падключэння да інтэрнэту"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Аўтападключэнне выключана"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Захавана праграмай \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Не будзе аўтаматычна падключацца"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Няма доступу да інтэрнэту"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Памылка аўтэнтыфікацыі"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Праверце пароль і паўтарыце спробу"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Збой канфігурацыі IP-адраса"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Выключана"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Пункт доступу часова заняты"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Часова неспрыяльныя ўмовы падключэння да сеткі"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Слабы сігнал. Перамясціцеся бліжэй да маршрутызатара."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Сетка перагружана. Паўтарыце спробу пазней."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Не ўдалося падключыцца. Паўтарыце спробу пазней."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Сетка не сумяшчальная з гэтай прыладай."</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Адключана"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Захавана"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"З падлікам трафіка"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Без уліку трафіка"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Падключана праз праграму \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Даступна праз праграму \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Аўтаматычна падключана праз праграму \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Аўтаматычна падключана праз пастаўшчыка паслугі ацэнкі сеткі"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Абмежаваныя магчымасці падключэння"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"Няма"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Тэрмін скончыўся"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Націсніце, каб зарэгістравацца"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Націсніце, каб падоўжыць падпіску і падключыцца"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Адкрываецца <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Не ўдалося падключыцца"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Рэгістрацыя завяршаецца…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Не ўдалося выканаць рэгістрацыю. Дакраніцеся, каб паўтарыць спробу."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Рэгістрацыя завершана. Ідзе падключэнне…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Гэта сетка атрымлівае ўнікальны ідэнтыфікатар, які можа выкарыстоўвацца для адсочвання месцазнаходжання прылады. "<annotation id="url">"Даведацца больш"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Вельмі павольная"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Павольная"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ОК"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Сярэдняя"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Хуткая"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Вельмі хуткая"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Няма"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Тэрмін скончыўся"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Націсніце, каб зарэгістравацца"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Націсніце, каб падоўжыць падпіску і падключыцца"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Адкрываецца <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Не ўдалося падключыцца"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Рэгістрацыя завяршаецца…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Не ўдалося выканаць рэгістрацыю. Дакраніцеся, каб паўтарыць спробу."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Рэгістрацыя завершана. Ідзе падключэнне…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Гэта сетка атрымлівае ідэнтыфікатар SIM-карты, які можа выкарыстоўвацца для адсочвання месцазнаходжання прылады. "<annotation id="url">"Даведацца больш"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Вельмі павольная"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Павольная"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ОК"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Сярэдняя"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Хуткая"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Вельмі хуткая"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-bg/arrays.xml b/libs/WifiTrackerLib/res/values-bg/arrays.xml
index 72a1f2096..232717ce3 100644
--- a/libs/WifiTrackerLib/res/values-bg/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-bg/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Сканира се…"</item>
- <item msgid="6222852518007967736">"Свързва се…"</item>
- <item msgid="1176401854208153464">"Удостоверява се…"</item>
- <item msgid="1377026397901197257">"IP адресът се извлича…"</item>
- <item msgid="7627139816052121509">"Установена е връзка"</item>
- <item msgid="1598801023719359130">"Спряно"</item>
- <item msgid="9160765456671002324">"Връзката се прекратява…"</item>
- <item msgid="8013176736494493734">"Няма връзка"</item>
- <item msgid="4077393480368783785">"Неуспешно"</item>
- <item msgid="605372180740008604">"Блокирано"</item>
- <item msgid="5102306451432929048">"Временно се избягва лоша връзка"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Сканира се…"</item>
+ <item msgid="9055468790485684083">"Установява се връзка…"</item>
+ <item msgid="6099499723199990208">"Удостоверява се…"</item>
+ <item msgid="6794055951297347103">"IP адресът се извлича…"</item>
+ <item msgid="5450920562291300229">"Установена е връзка"</item>
+ <item msgid="6332116533879646145">"Спряно"</item>
+ <item msgid="294459081501073818">"Връзката се прекратява…"</item>
+ <item msgid="1577368920272598676">"Няма връзка"</item>
+ <item msgid="7655843177582495451">"Неуспешно"</item>
+ <item msgid="8953752690917593623">"Блокирано"</item>
+ <item msgid="4400457817750243671">"Временно се избягва лоша връзка"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-bg/strings.xml b/libs/WifiTrackerLib/res/values-bg/strings.xml
index b824133f7..b6bcb0782 100644
--- a/libs/WifiTrackerLib/res/values-bg/strings.xml
+++ b/libs/WifiTrackerLib/res/values-bg/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Изкл. авт. свързване"</string>
- <string name="saved_network" msgid="6241977554502802914">"Запазено от <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Няма да се свърже автоматично"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Няма достъп до интернет"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Проблем при удостоверяването"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Проверете паролата и опитайте отново"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Неуспешно конфигуриране на IP адреса"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Деактивирани"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Точката за достъп временно е пълна"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Няма връзка"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Запазено"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"С отчитане"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Без отчитане"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Установена е връзка през <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Достъпно чрез <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Автоматично бе установена връзка през <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Автоматично е установена връзка чрез доставчик на услуги за оценяване на мрежите"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Ограничена връзка"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Не може да се осъществи достъп до частния DNS сървър"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Няма интернет"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Автом. свързване е изкл."</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Запазено от <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Няма да се свърже автоматично"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Няма достъп до интернет"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Проблем при удостоверяването"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Проверете паролата и опитайте отново"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Неуспешно конфигуриране на IP адреса"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Деактивирано"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Точката за достъп временно е пълна"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Временно лоши мрежови условия"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Сигналът е слаб. Приближете се до рутера."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Капацитетът на мрежата е надхвърлен. Опитайте отново по-късно."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Не може да се установи връзка. Опитайте отново по-късно."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Мрежата не е съвместима с това устройство"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Няма връзка"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Запазено"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"С отчитане"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Без отчитане"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Установена е връзка през <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Достъпно през <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Автоматично бе установена връзка през <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Автоматично е установена връзка чрез доставчик на услуги за оценяване на мрежите"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Ограничена връзка"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"Няма"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Изтекло"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Докоснете, за да се регистрирате"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Докоснете, за да подновите абонамента и да установите връзка"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> се отваря"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Не можа да се установи връзка"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Регистрацията се завършва…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Регистрацията не можа да бъде завършена. Докоснете, за да опитате отново."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Регистрацията е завършена. Установява се връзка…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Тази мрежа получава уникален идентификатор, който може да се използва за проследяване на местоположението на устройството. "<annotation id="url">"Научете повече"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Много бавна"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Бавна"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ОK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Средна"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Бърза"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Много бърза"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Няма"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Изтекло"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Докоснете, за да се регистрирате"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Докоснете, за да подновите абонамента и да установите връзка"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> се отваря"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Не се установи връзка"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Регистрацията се завършва…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Регистрацията не можа да бъде завършена. Докоснете, за да опитате отново."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Регистрацията е завършена. Установява се връзка…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Тази мрежа получава идентификатор за SIM карта, който може да се използва за проследяване на местоположението на устройството. "<annotation id="url">"Научете повече"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Много бавна"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Бавна"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Добра"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Средна"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Бърза"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Много бърза"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Засега Wi-Fi няма да се свързва автоматично"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-bn/arrays.xml b/libs/WifiTrackerLib/res/values-bn/arrays.xml
index f98faf640..934fbda96 100644
--- a/libs/WifiTrackerLib/res/values-bn/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-bn/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"স্ক্যান করা হচ্ছে…"</item>
- <item msgid="6222852518007967736">"কানেক্ট করা হচ্ছে…"</item>
- <item msgid="1176401854208153464">"যাচাইকরণ করা হচ্ছে…"</item>
- <item msgid="1377026397901197257">"আইপি অ্যাড্রেস সংগ্রহ করা হচ্ছে…"</item>
- <item msgid="7627139816052121509">"কানেক্ট করা হয়েছে"</item>
- <item msgid="1598801023719359130">"সাসপেন্ড করা আছে"</item>
- <item msgid="9160765456671002324">"ডিসকানেক্ট করা হচ্ছে…"</item>
- <item msgid="8013176736494493734">"ডিসকানেক্ট হয়ে গেছে"</item>
- <item msgid="4077393480368783785">"হয়নি"</item>
- <item msgid="605372180740008604">"ব্লক করা হয়েছে"</item>
- <item msgid="5102306451432929048">"সাময়িকভাবে খারাপ কানেকশন এড়ানো হচ্ছে"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"স্ক্যান করা হচ্ছে…"</item>
+ <item msgid="9055468790485684083">"কানেক্ট করা হচ্ছে…"</item>
+ <item msgid="6099499723199990208">"যাচাই করা হচ্ছে…"</item>
+ <item msgid="6794055951297347103">"আইপি অ্যাড্রেস সংগ্রহ করা হচ্ছে…"</item>
+ <item msgid="5450920562291300229">"কানেক্ট করা আছে"</item>
+ <item msgid="6332116533879646145">"সাসপেন্ড করা আছে"</item>
+ <item msgid="294459081501073818">"ডিসকানেক্ট করা হচ্ছে…"</item>
+ <item msgid="1577368920272598676">"ডিসকানেক্ট করা হয়েছে"</item>
+ <item msgid="7655843177582495451">"হয়নি"</item>
+ <item msgid="8953752690917593623">"ব্লক করা হয়েছে"</item>
+ <item msgid="4400457817750243671">"সাময়িকভাবে খারাপ কানেকশনে কানেক্ট করা হচ্ছে না"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-bn/strings.xml b/libs/WifiTrackerLib/res/values-bn/strings.xml
index 4aafb5ad3..37564af5e 100644
--- a/libs/WifiTrackerLib/res/values-bn/strings.xml
+++ b/libs/WifiTrackerLib/res/values-bn/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"অটোমেটিক কানেক্ট করার ফিচার বন্ধ আছে"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> দ্বারা সেভ করা"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"অটোমেটিক কানেক্ট করবে না"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"ইন্টারনেট অ্যাক্সেসের সুবিধা নেই"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"যাচাইকরণের সমস্যা"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"পাসওয়ার্ড দেখে আবার চেষ্টা করুন"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP কনফিগারেশনে ব্যর্থতা"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"অক্ষম হয়েছে"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"এই মুহূর্তে অ্যাক্সেস পয়েন্টের কোনও কানেকশন ফাঁকা নেই"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"কানেকশন নেই"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"সংরক্ষিত"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"মিটার্ড"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"পরিমাপ করা নয়"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g>-এর মাধ্যমে কানেক্ট করা আছে"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g>-এর মাধ্যমে উপলভ্য"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g>-এর মাধ্যমে অটোমেটিক কানেক্ট করা আছে"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"নেটওয়ার্কের রেটিং প্রদানকারীর মাধ্যমে অটোমেটিক কানেক্ট"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"সীমিত কানেকশন"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"ব্যক্তিগত ডিএনএস সার্ভার অ্যাক্সেস করা যাবে না"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"ইন্টারনেট কানেকশন নেই"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"অটোমেটিক কানেক্ট করার ফিচার বন্ধ আছে"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> সেভ করেছেন"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"অটোমেটিক কানেক্ট করবে না"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"ইন্টারনেট কানেকশন নেই"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"যাচাইকরণে কোনও সমস্যা হয়েছে"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"পাসওয়ার্ড দেখে নিয়ে আবার চেষ্টা করুন"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"আইপি কনফিগার করা যায়নি"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"বন্ধ আছে"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"এই মুহূর্তে অ্যাক্সেস পয়েন্টের কোনও কানেকশন ফাঁকা নেই"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"সাময়িকভাবে ভাল নেটওয়ার্ক কানেকশন নেই"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"দুর্বল সিগনাল। রাউটারের কাছে যান।"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"নেটওয়ার্কে লোডের সীমা পেরিয়ে গেছে। পরে আবার চেষ্টা করুন।"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"কানেক্ট করা যাচ্ছে না। পরে আবার চেষ্টা করুন।"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"এই ডিভাইসে নেটওয়ার্ক ব্যবহার করা যাবে না"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"ডিসকানেক্ট করা হয়েছে"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"সেভ করা হয়েছে"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"মিটার্ড"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"মিটার্ড নয়"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g>-এর মাধ্যমে কানেক্ট করা আছে"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g>-এর মাধ্যমে উপলভ্য"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g>-এর মাধ্যমে অটোমেটিক কানেক্ট করা আছে"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"নেটওয়ার্কের রেটিং প্রদানকারীর মাধ্যমে নিজে থেকে কানেক্ট হয়েছে"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"সীমিত কানেকশন"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"ব্যক্তিগত ডিএনএস সার্ভার অ্যাক্সেস করা যাবে না"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"ডিভাইসের সাথে কানেক্ট করা। ইন্টারনেট পরিষেবা প্রদান করা যাচ্ছে না।"</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"খারাপ কোয়ালিটি"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"কোনও কিছুই নয়"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"মেয়াদ শেষ হয়ে গেছে"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"সাইন-আপ করতে ট্যাপ করুন"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"সাবস্ক্রিপশন রিনিউ করে কানেক্ট করতে ট্যাপ করুন"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> খোলা হচ্ছে"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"কানেক্ট করা যায়নি"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"সাইন-আপ করা হচ্ছে…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"সাইন-আপ করা যায়নি। আবার চেষ্টা করতে ট্যাপ করুন।"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"সাইন-আপ করা হয়ে গেছে। কানেক্ট করা হচ্ছে…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"এই নেটওয়ার্কে একটি অনন্য আইডি পাবেন যার সাহায্যে এই নেটওয়ার্কের সাথে যুক্ত থাকা ডিভাইসের লোকেশন ট্র্যাক করা যাবে। "<annotation id="url">"আরও জানুন"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"খুব ধীরে"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"ধীরে"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ঠিক আছে"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"মাঝারি"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"দ্রুত"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"খুব দ্রুত"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"নেই"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"মেয়াদ শেষ হয়ে গেছে"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"সাইন-আপ করতে ট্যাপ করুন"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"সাবস্ক্রিপশন রিনিউ করে কানেক্ট করতে ট্যাপ করুন"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> খোলা হচ্ছে"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"কানেক্ট করা যায়নি"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"সাইন-আপ করা হচ্ছে…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"সাইন-আপ করা যায়নি। আবার চেষ্টা করতে ট্যাপ করুন।"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"সাইন-আপ করা হয়ে গেছে। কানেক্ট করা হচ্ছে…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"এই নেটওয়ার্কের কাছে একটি সিম আইডি থাকে যা ব্যবহার করে এই নেটওয়ার্কের সাথে যুক্ত থাকা ডিভাইসের লোকেশন ট্র্যাক করা যেত পারে। "<annotation id="url">"আরও জানুন"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"খুব ধীরে"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"ধীরে"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"বুঝেছি"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"মাঝারি"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"দ্রুত"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"খুব দ্রুত"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-bs/arrays.xml b/libs/WifiTrackerLib/res/values-bs/arrays.xml
index 9428a3763..d24412623 100644
--- a/libs/WifiTrackerLib/res/values-bs/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-bs/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Skeniranje…"</item>
- <item msgid="6222852518007967736">"Povezivanje…"</item>
- <item msgid="1176401854208153464">"Autentifikacija…"</item>
- <item msgid="1377026397901197257">"Dobivanje IP adrese…"</item>
- <item msgid="7627139816052121509">"Povezano"</item>
- <item msgid="1598801023719359130">"Obustavljeno"</item>
- <item msgid="9160765456671002324">"Prekidanje veze…"</item>
- <item msgid="8013176736494493734">"Veza je prekinuta"</item>
- <item msgid="4077393480368783785">"Neuspješno"</item>
- <item msgid="605372180740008604">"Blokirano"</item>
- <item msgid="5102306451432929048">"Privremeno izbjegavanje veza lošeg kvaliteta"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Skeniranje…"</item>
+ <item msgid="9055468790485684083">"Povezivanje…"</item>
+ <item msgid="6099499723199990208">"Autentifikacija…"</item>
+ <item msgid="6794055951297347103">"Dobivanje IP adrese…"</item>
+ <item msgid="5450920562291300229">"Povezano"</item>
+ <item msgid="6332116533879646145">"Obustavljeno"</item>
+ <item msgid="294459081501073818">"Prekidanje veze…"</item>
+ <item msgid="1577368920272598676">"Veza je prekinuta"</item>
+ <item msgid="7655843177582495451">"Neuspješno"</item>
+ <item msgid="8953752690917593623">"Blokirano"</item>
+ <item msgid="4400457817750243671">"Privremeno izbjegavanje veze lošeg kvaliteta"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-bs/strings.xml b/libs/WifiTrackerLib/res/values-bs/strings.xml
index efc88845b..c68b9e7a7 100644
--- a/libs/WifiTrackerLib/res/values-bs/strings.xml
+++ b/libs/WifiTrackerLib/res/values-bs/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Automatsko povezivanje je isključeno"</string>
- <string name="saved_network" msgid="6241977554502802914">"Sačuvano: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Automatsko povezivanje nije moguće"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Nema pristupa internetu"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problem pri autentifikaciji"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Provjerite lozinku i pokušajte ponovo"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Konfiguracija IP adrese nije uspjela"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Onemogućeno"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Pristupna tačka je privremeno puna"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Nije povezano"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Sačuvano"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"S naplatom"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Mreža bez naplate"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Povezano preko <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Dostupno putem mreže <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatski povezano putem mreže <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatski povezano putem ocjenjivača mreže"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Ograničena veza"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Nije moguće pristupiti privatnom DNS serveru"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Nema internetske veze"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automatsko povezivanje je isključeno"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Sačuvano putem aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Automatsko povezivanje nije moguće"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Nema pristupa internetu"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problem prilikom autentifikacije"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Provjerite lozinku i pokušajte ponovo"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Konfiguriranje IP adrese nije uspjelo"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Onemogućeno"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Pristupna tačka je privremeno puna"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Privremeno stanje slabe mreže"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Slab signal. Približite se ruteru."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Mreža je premašila kapacitet. Pokušajte ponovo kasnije."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Nije se moguće povezati. Pokušajte ponovo kasnije."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Mreža nije kompatibilna s ovim uređajem"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Veza je prekinuta"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Sačuvano"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"S naplatom"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Bez naplate"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Povezano putem aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Dostupno putem aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatski povezano putem aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatski povezano putem ocjenjivača mreže"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Ograničena veza"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Nije moguće pristupiti privatnom DNS serveru"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Povezano s uređajem. Nije moguće pružiti internetsku vezu."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Nizak kvalitet"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Ništa"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Isteklo"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Dodirnite za registraciju"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Dodirnite da obnovite pretplatu i povežete se"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Otvaranje <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Povezivanje nije uspjelo"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Završavanje registracije…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Registraciju nije moguće izvršiti. Dodirnite da pokušate ponovo."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Registracija je završena. Povezivanje…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Ova mreža prima jedinstveni ID koji se može koristiti za praćenje lokacije uređaja. "<annotation id="url">"Saznajte više"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Veoma sporo"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Sporo"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Uredu"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Srednja brzina"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Brzo"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Veoma brzo"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Ništa"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Isteklo"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Dodirnite za registraciju"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Dodirnite da obnovite pretplatu i povežete se"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Otvaranje <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Povezivanje nije uspjelo"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Završavanje registracije…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Dovršavanje registracije nije uspjelo. Dodirnite da pokušate ponovo."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registracija je završena. Povezivanje…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Ova mreža prima ID SIM-a koji se može koristiti za praćenje lokacije uređaja. "<annotation id="url">"Saznajte više"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Veoma sporo"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Sporo"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"UREDU"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Srednje"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Brzo"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Veoma brzo"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"WiFi mreža se trenutno ne može automatski povezati"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ca/arrays.xml b/libs/WifiTrackerLib/res/values-ca/arrays.xml
index d9b5412a4..3d226f588 100644
--- a/libs/WifiTrackerLib/res/values-ca/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-ca/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"S\'està cercant…"</item>
- <item msgid="6222852518007967736">"S\'està connectant…"</item>
- <item msgid="1176401854208153464">"S\'està autenticant…"</item>
- <item msgid="1377026397901197257">"S\'està obtenint l\'adreça IP…"</item>
- <item msgid="7627139816052121509">"Connectada"</item>
- <item msgid="1598801023719359130">"Suspesa"</item>
- <item msgid="9160765456671002324">"S\'està desconnectant…"</item>
- <item msgid="8013176736494493734">"Desconnectada"</item>
- <item msgid="4077393480368783785">"Incorrecta"</item>
- <item msgid="605372180740008604">"Bloquejada"</item>
- <item msgid="5102306451432929048">"S\'està evitant temporalment una connexió feble"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"S\'està cercant…"</item>
+ <item msgid="9055468790485684083">"S\'està connectant…"</item>
+ <item msgid="6099499723199990208">"S\'està autenticant…"</item>
+ <item msgid="6794055951297347103">"S\'està obtenint l\'adreça IP…"</item>
+ <item msgid="5450920562291300229">"Connectada"</item>
+ <item msgid="6332116533879646145">"Suspesa"</item>
+ <item msgid="294459081501073818">"S\'està desconnectant…"</item>
+ <item msgid="1577368920272598676">"Desconnectada"</item>
+ <item msgid="7655843177582495451">"Incorrecta"</item>
+ <item msgid="8953752690917593623">"Bloquejada"</item>
+ <item msgid="4400457817750243671">"S\'està evitant temporalment una connexió feble"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ca/strings.xml b/libs/WifiTrackerLib/res/values-ca/strings.xml
index 83b3f63cf..fff114c87 100644
--- a/libs/WifiTrackerLib/res/values-ca/strings.xml
+++ b/libs/WifiTrackerLib/res/values-ca/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Connexió automàtica desactivada"</string>
- <string name="saved_network" msgid="6241977554502802914">"Desada per <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"No es connectarà automàticament"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"No hi ha accés a Internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problema d\'autenticació"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Comprova la contrasenya i torna-ho a provar"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Error de configuració d\'IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Desactivat"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"El punt d\'accés està temporalment ple"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Desconnectada"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Desat"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"D\'ús mesurat"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"D\'ús no mesurat"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Connectat mitjançant <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Disponible mitjançant <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Connectada automàticament a través de: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Connectada automàticament a través d\'un proveïdor de valoració de xarxes"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Connexió limitada"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"No es pot accedir al servidor DNS privat"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Sense connexió a Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Connexió automàtica desactivada"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Desada per <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"No es connectarà automàticament"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"No hi ha accés a Internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problema d\'autenticació"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Comprova la contrasenya i torna-ho a provar"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Error de configuració d\'IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Desactivada"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"El punt d\'accés està temporalment ple"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Condicions de xarxa temporalment deficients"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Senyal feble. Prova d\'apropar-te a l\'encaminador."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"La xarxa està sobrecarregada. Torna-ho a provar més tard."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"No es pot establir la connexió. Torna-ho a provar més tard."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"La xarxa no és compatible amb aquest dispositiu"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Desconnectada"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Desada"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"D\'ús mesurat"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"D\'ús no mesurat"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Connectada a través de: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Disponible a través de: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Connectada automàticament a través de: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Connectada automàticament a través d\'un proveïdor de valoració de xarxes"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Connexió limitada"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"No es pot accedir al servidor DNS privat"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Connectat al dispositiu. Sense accés a Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Qualitat baixa"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Cap"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Caducada"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Toca per registrar-te"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Toca per renovar la subscripció i connectar-te"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"S\'està obrint <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"No s\'ha pogut connectar"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"S\'està completant el registre…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"No s\'ha pogut completar el registre. Toca per tornar-ho a provar."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"S\'ha completat el registre. S\'està connectant…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Aquesta xarxa rep un identificador únic que es pot utilitzar per fer el seguiment de la ubicació del dispositiu. "<annotation id="url">"Més informació"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Molt lenta"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lenta"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Correcta"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Mitjana"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Ràpida"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Molt ràpida"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Cap"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Caducada"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Toca per registrar-te"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Toca per renovar la subscripció i connectar-te"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"S\'està obrint <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"No s\'ha pogut connectar"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"S\'està completant el registre…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"No s\'ha pogut completar el registre. Toca per tornar-ho a provar."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"S\'ha completat el registre. S\'està connectant…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Aquesta xarxa rep un identificador de SIM que es pot utilitzar per fer el seguiment de la ubicació del dispositiu. "<annotation id="url">"Més informació"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Molt lenta"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lenta"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Acceptable"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Mitjana"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Ràpida"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Molt ràpida"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Per ara la Wi‑Fi no es connectarà automàticament"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-cs/arrays.xml b/libs/WifiTrackerLib/res/values-cs/arrays.xml
index b28d2d1f0..99b6e8299 100644
--- a/libs/WifiTrackerLib/res/values-cs/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-cs/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Vyhledávání…"</item>
- <item msgid="6222852518007967736">"Připojování…"</item>
- <item msgid="1176401854208153464">"Ověřování…"</item>
- <item msgid="1377026397901197257">"Načítání IP adresy…"</item>
- <item msgid="7627139816052121509">"Připojeno"</item>
- <item msgid="1598801023719359130">"Pozastaveno"</item>
- <item msgid="9160765456671002324">"Odpojování…"</item>
- <item msgid="8013176736494493734">"Odpojeno"</item>
- <item msgid="4077393480368783785">"Neúspěšné"</item>
- <item msgid="605372180740008604">"Blokováno"</item>
- <item msgid="5102306451432929048">"Dočasné předcházení slabému připojení"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Vyhledávání…"</item>
+ <item msgid="9055468790485684083">"Připojování…"</item>
+ <item msgid="6099499723199990208">"Ověřování…"</item>
+ <item msgid="6794055951297347103">"Načítání IP adresy…"</item>
+ <item msgid="5450920562291300229">"Připojeno"</item>
+ <item msgid="6332116533879646145">"Pozastaven"</item>
+ <item msgid="294459081501073818">"Odpojování…"</item>
+ <item msgid="1577368920272598676">"Odpojeno"</item>
+ <item msgid="7655843177582495451">"Neúspěšné"</item>
+ <item msgid="8953752690917593623">"Blokováno"</item>
+ <item msgid="4400457817750243671">"Dočasné předcházení slabému připojení"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-cs/strings.xml b/libs/WifiTrackerLib/res/values-cs/strings.xml
index f2317e855..2e4d07305 100644
--- a/libs/WifiTrackerLib/res/values-cs/strings.xml
+++ b/libs/WifiTrackerLib/res/values-cs/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Automatické připojení je vypnuté"</string>
- <string name="saved_network" msgid="6241977554502802914">"Uloženo uživatelem <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Nelze se automaticky připojit"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Nejste připojeni k internetu"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problém s ověřením"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Zkontrolujte heslo a zkuste to znovu"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Selhání konfigurace protokolu IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Vypnuto"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Přístupový bod je dočasně zaplněn"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Odpojeno"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Uloženo"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Měřená"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Neměřená"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Připojeno přes <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Dostupné přes <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automaticky připojeno přes <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automaticky připojeno přes poskytovatele hodnocení sítí"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Omezené připojení"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Nelze získat přístup k soukromému serveru DNS"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Nejste připojeni k internetu"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automatické připojení je vypnuté"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Uloženo uživatelem <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Nelze se automaticky připojit"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Nejste připojeni k internetu"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problém s ověřením"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Zkontrolujte heslo a zkuste to znovu"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Selhání konfigurace protokolu IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Vypnuto"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Přístupový bod je dočasně zaplněn"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Dočasně slabé připojení k síti"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Slabý signál. Zkuste se přesunout blíž k routeru."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Síť je přetížená. Zkuste to později."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Nejde se připojit. Zkuste to později."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Síť není kompatibilní s tímto zařízením"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Odpojeno"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Uloženo"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Měřená"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Neměřená"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Připojeno přes <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Dostupné přes <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automaticky připojeno přes <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automaticky připojeno přes poskytovatele hodnocení sítí"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Omezené připojení"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Nelze získat přístup k soukromému serveru DNS"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Připojeno k zařízení. Internet není k dispozici."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Nízká kvalita"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Žádné"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Platnost vypršela"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Klepnutím se zaregistrujete"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Klepnutím obnovíte předplatné a připojíte se"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Spouštění aplikace <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Nelze se připojit"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Dokončování registrace…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Registraci se nepodařilo dokončit. Klepnutím opakujte akci."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Registrace byla dokončena. Připojování…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Tato síť dostane jedinečný identifikátor, pomocí kterého lze sledovat polohu zařízení. "<annotation id="url">"Další informace"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Velmi pomalá"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Pomalá"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Střední"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Rychlá"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Velmi rychlá"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"–"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Vypršelo"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Klepnutím se zaregistrujete"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Klepnutím obnovíte předplatné a připojíte se"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Spouštění aplikace <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Nelze se připojit"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Dokončování registrace…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Registraci se nepodařilo dokončit. Klepnutím opakujte akci."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registrace byla dokončena. Připojování…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Tato síť dostane identifikátor SIM karty, pomocí kterého lze sledovat polohu zařízení. "<annotation id="url">"Další informace"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Velmi pomalá"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Pomalá"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Střední"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Rychlá"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Velmi rychlá"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi se prozatím nebude připojovat automaticky"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-da/arrays.xml b/libs/WifiTrackerLib/res/values-da/arrays.xml
index 118369b39..f447f76b7 100644
--- a/libs/WifiTrackerLib/res/values-da/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-da/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Scanner…"</item>
- <item msgid="6222852518007967736">"Opretter forbindelse…"</item>
- <item msgid="1176401854208153464">"Godkender…"</item>
- <item msgid="1377026397901197257">"Henter IP-adresse…"</item>
- <item msgid="7627139816052121509">"Forbundet"</item>
- <item msgid="1598801023719359130">"Suspenderet"</item>
- <item msgid="9160765456671002324">"Afbryder…"</item>
- <item msgid="8013176736494493734">"Afbrudt"</item>
- <item msgid="4077393480368783785">"Mislykkedes"</item>
- <item msgid="605372180740008604">"Blokeret"</item>
- <item msgid="5102306451432929048">"Undgår midlertidigt dårlig forbindelse"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Søger…"</item>
+ <item msgid="9055468790485684083">"Opretter forbindelse…"</item>
+ <item msgid="6099499723199990208">"Godkender…"</item>
+ <item msgid="6794055951297347103">"Henter IP-adresse…"</item>
+ <item msgid="5450920562291300229">"Forbundet"</item>
+ <item msgid="6332116533879646145">"Suspenderet"</item>
+ <item msgid="294459081501073818">"Afbryder…"</item>
+ <item msgid="1577368920272598676">"Afbrudt"</item>
+ <item msgid="7655843177582495451">"Mislykkedes"</item>
+ <item msgid="8953752690917593623">"Blokeret"</item>
+ <item msgid="4400457817750243671">"Undgår midlertidigt dårlig forbindelse"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-da/strings.xml b/libs/WifiTrackerLib/res/values-da/strings.xml
index 758bc1a3b..342783f7d 100644
--- a/libs/WifiTrackerLib/res/values-da/strings.xml
+++ b/libs/WifiTrackerLib/res/values-da/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Automatisk forbindelse til Wi-Fi er deaktiveret"</string>
- <string name="saved_network" msgid="6241977554502802914">"Gemt af <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Der oprettes ikke automatisk forbindelse"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Ingen internetadgang"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problem med godkendelse"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Tjek adgangskoden, og prøv igen"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP-konfigurationsfejl"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Deaktiveret"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Adgangspunktet er midlertidigt fuldt"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Afbrudt"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Gemt"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Forbrugsafregnet"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Ikke forbrugsafregnet"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Forbundet via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Tilgængeligt via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Der er oprettet automatisk forbindelse via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatisk forbundet via udbyder af netværksvurdering"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Begrænset forbindelse"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Der er ikke adgang til den private DNS-server"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Intet internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automatisk forbindelse er deaktiveret"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Gemt af <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Der oprettes ikke automatisk forbindelse"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Ingen internetadgang"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problem med godkendelse"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Tjek adgangskoden, og prøv igen"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP-konfigurationsfejl"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Deaktiveret"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Adgangspunktet er midlertidigt fuldt"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Midlertidig dårlig netværksforbindelse"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Svagt signal. Prøv at rykke tættere på routeren."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Netværkets kapacitet er overskredet. Prøv igen senere."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Der kan ikke oprettes forbindelse. Prøv igen senere."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Netværket er ikke kompatibelt med denne enhed"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Afbrudt"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Gemt"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Forbrugsafregnet"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Ikke forbrugsafregnet"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Forbundet via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Tilgængeligt via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatisk forbundet via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatisk forbundet via udbyder af netværksvurdering"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Begrænset forbindelse"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Der er ikke adgang til den private DNS-server"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Forbundet til enheden. Der er ikke noget internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Dårlig kvalitet"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Ingen"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Udløbet"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Tryk for at registrere"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Tryk for at forny abonnementet, og opret forbindelse"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Åbner <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Der kunne ikke oprettes forbindelse"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Fuldfører registrering…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Registreringen kunne ikke fuldføres. Tryk for at prøve igen."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Registreringen er fuldført. Opretter forbindelse…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Dette netværk kræver et unikt id, der kan bruges til at spore enhedens placering. "<annotation id="url">"Få flere oplysninger"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Meget langsom"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Langsom"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Middel"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Hurtig"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Meget hurtig"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Ingen"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Udløbet"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Tryk for at registrere"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Tryk for at forny abonnementet, og opret forbindelse"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Åbner <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Der kunne ikke oprettes forbindelse"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Fuldfører registrering…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Registreringen kunne ikke fuldføres. Tryk for at prøve igen."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registreringen er fuldført. Opretter forbindelse…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Dette netværk kræver et SIM-id, der kan bruges til at spore enhedens placering. "<annotation id="url">"Få flere oplysninger"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Meget langsom"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Langsom"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Middel"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Hurtig"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Meget hurtig"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Der oprettes ikke automatisk forbindelse til Wi-Fi-netværket i øjeblikket"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-de/arrays.xml b/libs/WifiTrackerLib/res/values-de/arrays.xml
index 618348c3b..581e4b350 100644
--- a/libs/WifiTrackerLib/res/values-de/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-de/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Scan läuft…"</item>
- <item msgid="6222852518007967736">"Verbindung wird hergestellt…"</item>
- <item msgid="1176401854208153464">"Wird authentifiziert…"</item>
- <item msgid="1377026397901197257">"IP-Adresse wird abgerufen…"</item>
- <item msgid="7627139816052121509">"Verbunden"</item>
- <item msgid="1598801023719359130">"Gesperrt"</item>
- <item msgid="9160765456671002324">"Verbindung wird getrennt…"</item>
- <item msgid="8013176736494493734">"Nicht verbunden"</item>
- <item msgid="4077393480368783785">"Fehlgeschlagen"</item>
- <item msgid="605372180740008604">"Blockiert"</item>
- <item msgid="5102306451432929048">"Schlechte Internetverbindung wird vorübergehend vermieden"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Wird gescannt…"</item>
+ <item msgid="9055468790485684083">"Verbindung wird hergestellt…"</item>
+ <item msgid="6099499723199990208">"Wird authentifiziert…"</item>
+ <item msgid="6794055951297347103">"IP-Adresse wird abgerufen…"</item>
+ <item msgid="5450920562291300229">"Verbunden"</item>
+ <item msgid="6332116533879646145">"Gesperrt"</item>
+ <item msgid="294459081501073818">"Verbindung wird getrennt…"</item>
+ <item msgid="1577368920272598676">"Nicht verbunden"</item>
+ <item msgid="7655843177582495451">"Fehlgeschlagen"</item>
+ <item msgid="8953752690917593623">"Blockiert"</item>
+ <item msgid="4400457817750243671">"Schlechte Internetverbindung wird vorübergehend vermieden"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-de/strings.xml b/libs/WifiTrackerLib/res/values-de/strings.xml
index 2fdabfafc..127c10a95 100644
--- a/libs/WifiTrackerLib/res/values-de/strings.xml
+++ b/libs/WifiTrackerLib/res/values-de/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Automatische Verbindung ist deaktiviert"</string>
- <string name="saved_network" msgid="6241977554502802914">"Gespeichert durch <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Kein automatischer Verbindungsaufbau"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Kein Internetzugriff"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Authentifizierungsproblem"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Prüfe das Passwort und versuch es noch einmal"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP-Konfigurationsfehler"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Deaktiviert"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Zugangspunkt vorübergehend voll belegt"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Nicht verbunden"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Gespeichert"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Kostenpflichtig"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Ohne Datenlimit"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Verbunden über <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Über <xliff:g id="NAME">%1$s</xliff:g> verfügbar"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatisch verbunden über <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatisch über Anbieter von Netzwerkbewertungen verbunden"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Eingeschränkte Verbindung"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Auf den privaten DNS-Server kann nicht zugegriffen werden"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Kein Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automatische Verbindung ist deaktiviert"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Gespeichert durch <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Kein automatischer Verbindungsaufbau"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Kein Internetzugriff"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Authentifizierungsproblem"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Prüfe das Passwort und versuch es noch einmal"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP-Konfigurationsfehler"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Deaktiviert"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Zugangspunkt vorübergehend voll belegt"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Vorübergehend schlechte Netzwerkverbindung"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Schwaches Signal. Geh näher an den Router heran."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Das Netzwerk ist ausgelastet. Versuch es später noch einmal."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Verbindung nicht möglich. Versuch es später noch einmal."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Das Netzwerk ist mit diesem Gerät nicht kompatibel"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Nicht verbunden"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Gespeichert"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Kostenpflichtig"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Ohne Datenlimit"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Verbunden über <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Über <xliff:g id="NAME">%1$s</xliff:g> verfügbar"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatisch verbunden über <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatisch über Anbieter von Netzwerkbewertungen verbunden"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Eingeschränkte Verbindung"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Auf den privaten DNS-Server kann nicht zugegriffen werden"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Mit Gerät verbunden. Internetverbindung nicht möglich."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Niedrige Qualität"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Keine"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Abgelaufen"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Zum Registrieren tippen"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Tippen, um das Abo zu verlängern und eine Verbindung herzustellen"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> wird geöffnet"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Verbindung nicht möglich"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Registrierung wird abgeschlossen…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Registrierung konnte nicht abgeschlossen werden. Tippe, um es noch einmal zu versuchen."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Registrierung abgeschlossen. Verbindung wird hergestellt…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Dieses Netzwerk empfängt eine eindeutige ID, mit der der Gerätestandort erfasst werden kann. "<annotation id="url">"Weitere Informationen"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Sehr langsam"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Langsam"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Ok"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Mittel"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Schnell"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Sehr schnell"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"–"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Abgelaufen"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Zum Anmelden tippen"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Tippen, um das Abo zu verlängern und eine Verbindung herzustellen"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> wird geöffnet"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Verbindung nicht möglich"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Anmeldung wird abgeschlossen…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Registrierung konnte nicht abgeschlossen werden. Tippe, um es noch einmal zu versuchen."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registrierung abgeschlossen. Verbindung wird hergestellt…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Dieses Netzwerk empfängt eine SIM-ID, mit der der Gerätestandort erfasst werden kann. "<annotation id="url">"Weitere Informationen"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Sehr langsam"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Langsam"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Mittel"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Schnell"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Sehr schnell"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-el/arrays.xml b/libs/WifiTrackerLib/res/values-el/arrays.xml
index b5cf1f540..dcc374807 100644
--- a/libs/WifiTrackerLib/res/values-el/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-el/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Σάρωση…"</item>
- <item msgid="6222852518007967736">"Σύνδεση…"</item>
- <item msgid="1176401854208153464">"Έλεγχος ταυτότητας…"</item>
- <item msgid="1377026397901197257">"Λήψη διεύθυνσης IP…"</item>
- <item msgid="7627139816052121509">"Συνδέθηκε"</item>
- <item msgid="1598801023719359130">"Σε αναστολή"</item>
- <item msgid="9160765456671002324">"Αποσύνδεση…"</item>
- <item msgid="8013176736494493734">"Αποσυνδέθηκε"</item>
- <item msgid="4077393480368783785">"Ανεπιτυχής"</item>
- <item msgid="605372180740008604">"Αποκλείστηκε"</item>
- <item msgid="5102306451432929048">"Προσωρινή αποφυγή αδύναμης σύνδεσης"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Σάρωση…"</item>
+ <item msgid="9055468790485684083">"Σύνδεση…"</item>
+ <item msgid="6099499723199990208">"Έλεγχος ταυτότητας…"</item>
+ <item msgid="6794055951297347103">"Λήψη διεύθυνσης IP…"</item>
+ <item msgid="5450920562291300229">"Συνδέθηκε"</item>
+ <item msgid="6332116533879646145">"Σε αναστολή"</item>
+ <item msgid="294459081501073818">"Αποσύνδεση…"</item>
+ <item msgid="1577368920272598676">"Αποσυνδέθηκε"</item>
+ <item msgid="7655843177582495451">"Ανεπιτυχής"</item>
+ <item msgid="8953752690917593623">"Αποκλείστηκε"</item>
+ <item msgid="4400457817750243671">"Προσωρινή αποφυγή αδύναμης σύνδεσης"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-el/strings.xml b/libs/WifiTrackerLib/res/values-el/strings.xml
index 3e3d2bad4..13ac0fbb6 100644
--- a/libs/WifiTrackerLib/res/values-el/strings.xml
+++ b/libs/WifiTrackerLib/res/values-el/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Η αυτόματη σύνδεση είναι απενεργοποιημένη"</string>
- <string name="saved_network" msgid="6241977554502802914">"Αποθηκεύτηκε από <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Δεν συνδέεται αυτόματα"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Δεν υπάρχει πρόσβαση στο διαδίκτυο."</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Πρόβλημα ελέγχου ταυτότητας"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Ελέγξτε τον κωδικό πρόσβασης και δοκιμάστε ξανά"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Αποτυχία διαμόρφωσης διεύθυνσης IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Απενεργοποιημένο"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Το σημείο πρόσβασης είναι προσωρινά πλήρες"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Αποσυνδεδεμένο"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Αποθηκευμένο"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Μέτρηση με βάση τη χρήση"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Χωρίς μέτρηση με βάση τη χρήση"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Συνδέθηκε μέσω <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Διαθέσιμο μέσω <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Συνδέθηκε αυτόματα μέσω <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Συνδέθηκε αυτόματα μέσω παρόχου αξιολόγησης δικτύου"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Περιορισμένη σύνδεση"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Δεν είναι δυνατή η πρόσβαση στον ιδιωτικό διακομιστή DNS."</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Χωρίς σύνδεση στο διαδίκτυο"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Η αυτ. σύνδεση είναι ανενεργή"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Αποθηκεύτηκε από <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Δεν συνδέεται αυτόματα"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Δεν υπάρχει πρόσβαση στο διαδίκτυο"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Πρόβλημα ελέγχου ταυτότητας"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Ελέγξτε τον κωδικό πρόσβασης και δοκιμάστε ξανά"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Αποτυχία διαμόρφωσης διεύθυνσης IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Απενεργοποιημένη"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Το σημείο πρόσβασης είναι προσωρινά πλήρες"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Προσωρινά κακές συνθήκες δικτύου"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Το σήμα είναι ασθενές. Δοκιμάστε να μετακινηθείτε πιο κοντά στον δρομολογητή."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Υπέρβαση χωρητικότητας δικτύου. Δοκιμάστε ξανά αργότερα."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Δεν είναι δυνατή η σύνδεση. Δοκιμάστε ξανά αργότερα."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Το δίκτυο δεν είναι συμβατό με αυτήν τη συσκευή"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Αποσυνδέθηκε"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Αποθηκεύτηκε"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Με ογκοχρέωση"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Χωρίς περιορισμούς"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Συνδέθηκε μέσω <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Διαθέσιμο μέσω <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Συνδέθηκε αυτόματα μέσω <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Συνδέθηκε αυτόματα μέσω παρόχου αξιολόγησης δικτύου"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Περιορισμένη σύνδεση"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"Καμία"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Έληξε"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Πατήστε για εγγραφή"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Πατήστε για να ανανεώσετε τη συνδρομή σας και να συνδεθείτε."</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Άνοιγμα <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Αδυναμία σύνδεσης"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Ολοκλήρωση εγγραφής…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Δεν ήταν δυνατή η ολοκλήρωση της εγγραφής. Πατήστε για να δοκιμάσετε ξανά."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Η εγγραφή ολοκληρώθηκε. Σύνδεση…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Αυτό το δίκτυο λαμβάνει ένα μοναδικό αναγνωριστικό το οποίο μπορεί να χρησιμοποιηθεί για τον εντοπισμό της τοποθεσίας της συσκευής. "<annotation id="url">"Μάθετε περισσότερα"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Πολύ αργή"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Αργή"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ΟΚ"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Μέτρια"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Γρήγορη"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Πολύ γρήγορη"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Καμία"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Έληξε"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Πατήστε για εγγραφή"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Πατήστε, για να ανανεώσετε τη συνδρομή σας και να συνδεθείτε."</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Άνοιγμα <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Αδυναμία σύνδεσης"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Ολοκλήρωση εγγραφής…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Δεν ήταν δυνατή η ολοκλήρωση της εγγραφής. Πατήστε, για να δοκιμάσετε ξανά."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Η εγγραφή ολοκληρώθηκε. Σύνδεση…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Αυτό το δίκτυο λαμβάνει ένα αναγνωριστικό SIM το οποίο μπορεί να χρησιμοποιηθεί για τον εντοπισμό της τοποθεσίας της συσκευής. "<annotation id="url">"Μάθετε περισσότερα"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Πολύ αργή"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Αργή"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ΟΚ"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Μέτρια"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Γρήγορη"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Πολύ γρήγορη"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Δεν θα γίνεται προς το παρόν αυτόματη σύνδεση Wi-Fi"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-en-rAU/arrays.xml b/libs/WifiTrackerLib/res/values-en-rAU/arrays.xml
index 904043f33..4d41e3fb0 100644
--- a/libs/WifiTrackerLib/res/values-en-rAU/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-en-rAU/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Scanning…"</item>
- <item msgid="6222852518007967736">"Connecting…"</item>
- <item msgid="1176401854208153464">"Authenticating…"</item>
- <item msgid="1377026397901197257">"Obtaining IP address…"</item>
- <item msgid="7627139816052121509">"Connected"</item>
- <item msgid="1598801023719359130">"Suspended"</item>
- <item msgid="9160765456671002324">"Disconnecting…"</item>
- <item msgid="8013176736494493734">"Disconnected"</item>
- <item msgid="4077393480368783785">"Unsuccessful"</item>
- <item msgid="605372180740008604">"Blocked"</item>
- <item msgid="5102306451432929048">"Temporarily avoiding poor connection"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Scanning…"</item>
+ <item msgid="9055468790485684083">"Connecting…"</item>
+ <item msgid="6099499723199990208">"Authenticating…"</item>
+ <item msgid="6794055951297347103">"Obtaining IP address…"</item>
+ <item msgid="5450920562291300229">"Connected"</item>
+ <item msgid="6332116533879646145">"Suspended"</item>
+ <item msgid="294459081501073818">"Disconnecting…"</item>
+ <item msgid="1577368920272598676">"Disconnected"</item>
+ <item msgid="7655843177582495451">"Unsuccessful"</item>
+ <item msgid="8953752690917593623">"Blocked"</item>
+ <item msgid="4400457817750243671">"Temporarily avoiding poor connection"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-en-rAU/strings.xml b/libs/WifiTrackerLib/res/values-en-rAU/strings.xml
index e191bd3fd..f64c32859 100644
--- a/libs/WifiTrackerLib/res/values-en-rAU/strings.xml
+++ b/libs/WifiTrackerLib/res/values-en-rAU/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Auto-connect is off"</string>
- <string name="saved_network" msgid="6241977554502802914">"Saved by <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Won’t automatically connect"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"No Internet access"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Authentication problem"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Check password and try again"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP configuration failure"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Disabled"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Access point temporarily full"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Disconnected"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Saved"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Metered"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Unmetered"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Available via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatically connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatically connected via network rating provider"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Limited connection"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Private DNS server cannot be accessed"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"No Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Auto-connect is off"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Saved by <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Won’t automatically connect"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"No Internet access"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Authentication problem"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Check password and try again"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP configuration failure"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Disabled"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Access point temporarily full"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Temporary poor network conditions"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Weak signal. Try moving closer to the router."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Network is over capacity. Try again later."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Can\'t connect. Try again later."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Network not compatible with this device"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Disconnected"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Saved"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Metered"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Unmetered"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Available via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatically connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatically connected via network rating provider"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Limited connection"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Private DNS server cannot be accessed"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Connected to device. Can\'t provide Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Low quality"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"None"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Expired"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Tap to sign up"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Tap to renew subscription and connect"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Opening <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Couldn’t connect"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Completing sign-up…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Couldn’t complete sign-up. Tap to try again."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Sign-up complete. Connecting…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"This network receives a unique ID that can be used to track device location. "<annotation id="url">"Learn more"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Very slow"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Slow"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Medium"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Fast"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Very fast"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"None"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Expired"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Tap to sign up"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Tap to renew subscription and connect"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Opening <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Couldn’t connect"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Completing sign-up…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Couldn’t complete sign-up. Tap to try again."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Sign-up complete. Connecting…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"This network receives a SIM ID that can be used to track device location. "<annotation id="url">"Learn more"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Very slow"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Slow"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Medium"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Fast"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Very fast"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi won’t auto-connect for now"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-en-rCA/arrays.xml b/libs/WifiTrackerLib/res/values-en-rCA/arrays.xml
index 904043f33..4d41e3fb0 100644
--- a/libs/WifiTrackerLib/res/values-en-rCA/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-en-rCA/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Scanning…"</item>
- <item msgid="6222852518007967736">"Connecting…"</item>
- <item msgid="1176401854208153464">"Authenticating…"</item>
- <item msgid="1377026397901197257">"Obtaining IP address…"</item>
- <item msgid="7627139816052121509">"Connected"</item>
- <item msgid="1598801023719359130">"Suspended"</item>
- <item msgid="9160765456671002324">"Disconnecting…"</item>
- <item msgid="8013176736494493734">"Disconnected"</item>
- <item msgid="4077393480368783785">"Unsuccessful"</item>
- <item msgid="605372180740008604">"Blocked"</item>
- <item msgid="5102306451432929048">"Temporarily avoiding poor connection"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Scanning…"</item>
+ <item msgid="9055468790485684083">"Connecting…"</item>
+ <item msgid="6099499723199990208">"Authenticating…"</item>
+ <item msgid="6794055951297347103">"Obtaining IP address…"</item>
+ <item msgid="5450920562291300229">"Connected"</item>
+ <item msgid="6332116533879646145">"Suspended"</item>
+ <item msgid="294459081501073818">"Disconnecting…"</item>
+ <item msgid="1577368920272598676">"Disconnected"</item>
+ <item msgid="7655843177582495451">"Unsuccessful"</item>
+ <item msgid="8953752690917593623">"Blocked"</item>
+ <item msgid="4400457817750243671">"Temporarily avoiding poor connection"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-en-rCA/strings.xml b/libs/WifiTrackerLib/res/values-en-rCA/strings.xml
index e191bd3fd..f64c32859 100644
--- a/libs/WifiTrackerLib/res/values-en-rCA/strings.xml
+++ b/libs/WifiTrackerLib/res/values-en-rCA/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Auto-connect is off"</string>
- <string name="saved_network" msgid="6241977554502802914">"Saved by <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Won’t automatically connect"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"No Internet access"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Authentication problem"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Check password and try again"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP configuration failure"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Disabled"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Access point temporarily full"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Disconnected"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Saved"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Metered"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Unmetered"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Available via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatically connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatically connected via network rating provider"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Limited connection"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Private DNS server cannot be accessed"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"No Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Auto-connect is off"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Saved by <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Won’t automatically connect"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"No Internet access"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Authentication problem"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Check password and try again"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP configuration failure"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Disabled"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Access point temporarily full"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Temporary poor network conditions"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Weak signal. Try moving closer to the router."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Network is over capacity. Try again later."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Can\'t connect. Try again later."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Network not compatible with this device"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Disconnected"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Saved"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Metered"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Unmetered"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Available via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatically connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatically connected via network rating provider"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Limited connection"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Private DNS server cannot be accessed"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Connected to device. Can\'t provide Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Low quality"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"None"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Expired"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Tap to sign up"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Tap to renew subscription and connect"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Opening <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Couldn’t connect"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Completing sign-up…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Couldn’t complete sign-up. Tap to try again."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Sign-up complete. Connecting…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"This network receives a unique ID that can be used to track device location. "<annotation id="url">"Learn more"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Very slow"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Slow"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Medium"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Fast"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Very fast"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"None"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Expired"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Tap to sign up"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Tap to renew subscription and connect"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Opening <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Couldn’t connect"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Completing sign-up…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Couldn’t complete sign-up. Tap to try again."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Sign-up complete. Connecting…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"This network receives a SIM ID that can be used to track device location. "<annotation id="url">"Learn more"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Very slow"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Slow"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Medium"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Fast"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Very fast"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi won’t auto-connect for now"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-en-rGB/arrays.xml b/libs/WifiTrackerLib/res/values-en-rGB/arrays.xml
index 904043f33..4d41e3fb0 100644
--- a/libs/WifiTrackerLib/res/values-en-rGB/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-en-rGB/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Scanning…"</item>
- <item msgid="6222852518007967736">"Connecting…"</item>
- <item msgid="1176401854208153464">"Authenticating…"</item>
- <item msgid="1377026397901197257">"Obtaining IP address…"</item>
- <item msgid="7627139816052121509">"Connected"</item>
- <item msgid="1598801023719359130">"Suspended"</item>
- <item msgid="9160765456671002324">"Disconnecting…"</item>
- <item msgid="8013176736494493734">"Disconnected"</item>
- <item msgid="4077393480368783785">"Unsuccessful"</item>
- <item msgid="605372180740008604">"Blocked"</item>
- <item msgid="5102306451432929048">"Temporarily avoiding poor connection"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Scanning…"</item>
+ <item msgid="9055468790485684083">"Connecting…"</item>
+ <item msgid="6099499723199990208">"Authenticating…"</item>
+ <item msgid="6794055951297347103">"Obtaining IP address…"</item>
+ <item msgid="5450920562291300229">"Connected"</item>
+ <item msgid="6332116533879646145">"Suspended"</item>
+ <item msgid="294459081501073818">"Disconnecting…"</item>
+ <item msgid="1577368920272598676">"Disconnected"</item>
+ <item msgid="7655843177582495451">"Unsuccessful"</item>
+ <item msgid="8953752690917593623">"Blocked"</item>
+ <item msgid="4400457817750243671">"Temporarily avoiding poor connection"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-en-rGB/strings.xml b/libs/WifiTrackerLib/res/values-en-rGB/strings.xml
index e191bd3fd..f64c32859 100644
--- a/libs/WifiTrackerLib/res/values-en-rGB/strings.xml
+++ b/libs/WifiTrackerLib/res/values-en-rGB/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Auto-connect is off"</string>
- <string name="saved_network" msgid="6241977554502802914">"Saved by <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Won’t automatically connect"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"No Internet access"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Authentication problem"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Check password and try again"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP configuration failure"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Disabled"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Access point temporarily full"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Disconnected"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Saved"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Metered"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Unmetered"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Available via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatically connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatically connected via network rating provider"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Limited connection"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Private DNS server cannot be accessed"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"No Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Auto-connect is off"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Saved by <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Won’t automatically connect"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"No Internet access"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Authentication problem"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Check password and try again"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP configuration failure"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Disabled"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Access point temporarily full"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Temporary poor network conditions"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Weak signal. Try moving closer to the router."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Network is over capacity. Try again later."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Can\'t connect. Try again later."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Network not compatible with this device"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Disconnected"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Saved"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Metered"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Unmetered"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Available via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatically connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatically connected via network rating provider"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Limited connection"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Private DNS server cannot be accessed"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Connected to device. Can\'t provide Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Low quality"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"None"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Expired"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Tap to sign up"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Tap to renew subscription and connect"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Opening <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Couldn’t connect"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Completing sign-up…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Couldn’t complete sign-up. Tap to try again."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Sign-up complete. Connecting…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"This network receives a unique ID that can be used to track device location. "<annotation id="url">"Learn more"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Very slow"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Slow"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Medium"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Fast"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Very fast"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"None"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Expired"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Tap to sign up"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Tap to renew subscription and connect"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Opening <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Couldn’t connect"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Completing sign-up…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Couldn’t complete sign-up. Tap to try again."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Sign-up complete. Connecting…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"This network receives a SIM ID that can be used to track device location. "<annotation id="url">"Learn more"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Very slow"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Slow"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Medium"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Fast"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Very fast"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi won’t auto-connect for now"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-en-rIN/arrays.xml b/libs/WifiTrackerLib/res/values-en-rIN/arrays.xml
index 904043f33..4d41e3fb0 100644
--- a/libs/WifiTrackerLib/res/values-en-rIN/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-en-rIN/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Scanning…"</item>
- <item msgid="6222852518007967736">"Connecting…"</item>
- <item msgid="1176401854208153464">"Authenticating…"</item>
- <item msgid="1377026397901197257">"Obtaining IP address…"</item>
- <item msgid="7627139816052121509">"Connected"</item>
- <item msgid="1598801023719359130">"Suspended"</item>
- <item msgid="9160765456671002324">"Disconnecting…"</item>
- <item msgid="8013176736494493734">"Disconnected"</item>
- <item msgid="4077393480368783785">"Unsuccessful"</item>
- <item msgid="605372180740008604">"Blocked"</item>
- <item msgid="5102306451432929048">"Temporarily avoiding poor connection"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Scanning…"</item>
+ <item msgid="9055468790485684083">"Connecting…"</item>
+ <item msgid="6099499723199990208">"Authenticating…"</item>
+ <item msgid="6794055951297347103">"Obtaining IP address…"</item>
+ <item msgid="5450920562291300229">"Connected"</item>
+ <item msgid="6332116533879646145">"Suspended"</item>
+ <item msgid="294459081501073818">"Disconnecting…"</item>
+ <item msgid="1577368920272598676">"Disconnected"</item>
+ <item msgid="7655843177582495451">"Unsuccessful"</item>
+ <item msgid="8953752690917593623">"Blocked"</item>
+ <item msgid="4400457817750243671">"Temporarily avoiding poor connection"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-en-rIN/strings.xml b/libs/WifiTrackerLib/res/values-en-rIN/strings.xml
index e191bd3fd..f64c32859 100644
--- a/libs/WifiTrackerLib/res/values-en-rIN/strings.xml
+++ b/libs/WifiTrackerLib/res/values-en-rIN/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Auto-connect is off"</string>
- <string name="saved_network" msgid="6241977554502802914">"Saved by <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Won’t automatically connect"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"No Internet access"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Authentication problem"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Check password and try again"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP configuration failure"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Disabled"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Access point temporarily full"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Disconnected"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Saved"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Metered"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Unmetered"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Available via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatically connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatically connected via network rating provider"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Limited connection"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Private DNS server cannot be accessed"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"No Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Auto-connect is off"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Saved by <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Won’t automatically connect"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"No Internet access"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Authentication problem"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Check password and try again"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP configuration failure"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Disabled"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Access point temporarily full"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Temporary poor network conditions"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Weak signal. Try moving closer to the router."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Network is over capacity. Try again later."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Can\'t connect. Try again later."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Network not compatible with this device"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Disconnected"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Saved"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Metered"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Unmetered"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Available via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatically connected via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatically connected via network rating provider"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Limited connection"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Private DNS server cannot be accessed"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Connected to device. Can\'t provide Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Low quality"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"None"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Expired"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Tap to sign up"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Tap to renew subscription and connect"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Opening <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Couldn’t connect"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Completing sign-up…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Couldn’t complete sign-up. Tap to try again."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Sign-up complete. Connecting…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"This network receives a unique ID that can be used to track device location. "<annotation id="url">"Learn more"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Very slow"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Slow"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Medium"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Fast"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Very fast"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"None"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Expired"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Tap to sign up"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Tap to renew subscription and connect"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Opening <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Couldn’t connect"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Completing sign-up…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Couldn’t complete sign-up. Tap to try again."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Sign-up complete. Connecting…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"This network receives a SIM ID that can be used to track device location. "<annotation id="url">"Learn more"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Very slow"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Slow"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Medium"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Fast"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Very fast"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi won’t auto-connect for now"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-en-rXC/arrays.xml b/libs/WifiTrackerLib/res/values-en-rXC/arrays.xml
index 27b958048..454651d60 100644
--- a/libs/WifiTrackerLib/res/values-en-rXC/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-en-rXC/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‎‏‎‎‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎‏‎‏‏‏‎‏‎‎Scanning…‎‏‎‎‏‎"</item>
- <item msgid="6222852518007967736">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‏‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‏‏‎‎‎‎‎‏‎‏‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎Connecting…‎‏‎‎‏‎"</item>
- <item msgid="1176401854208153464">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‏‎‎‏‏‎‏‏‎‏‎‏‏‎‏‎‎‎‎‎‎‏‏‏‎‏‎‎‏‎‎‏‏‎‎‎‎‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎Authenticating…‎‏‎‎‏‎"</item>
- <item msgid="1377026397901197257">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‏‏‎‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‏‏‏‏‏‎‎‏‎‎‏‎Obtaining IP address…‎‏‎‎‏‎"</item>
- <item msgid="7627139816052121509">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‏‏‎‏‎‎‎‎‎‎‏‎‎‏‏‏‎‎‎‎‎‎‎‏‏‎‎‏‎‏‏‏‏‏‏‎‏‎‎‏‎‏‎Connected‎‏‎‎‏‎"</item>
- <item msgid="1598801023719359130">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‎‎‎‎‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‎‎Suspended‎‏‎‎‏‎"</item>
- <item msgid="9160765456671002324">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‎‎‏‎‎‏‏‏‎‏‎‎‏‎‏‏‎‏‎‎‎‏‏‏‎‎‎‏‎‏‏‎‏‎‎‏‏‏‎‏‏‎‏‎‏‎‎‎Disconnecting…‎‏‎‎‏‎"</item>
- <item msgid="8013176736494493734">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‎‎‏‎‏‏‏‎‎‏‎‎‏‎‏‎‎‎‏‎‏‎‎‏‎‏‏‎‏‏‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎Disconnected‎‏‎‎‏‎"</item>
- <item msgid="4077393480368783785">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‏‎‏‏‏‎‎‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‎‏‏‎‏‏‏‎‎‎‎‎‎‎‎‎‎‎‎‏‏‎‏‎‏‎‎‏‎Unsuccessful‎‏‎‎‏‎"</item>
- <item msgid="605372180740008604">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎‎‎‏‏‎‎‏‏‎‏‎‏‏‎‏‏‎‏‏‎‎‏‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‏‎‏‎‎‏‏‏‎‎‎Blocked‎‏‎‎‏‎"</item>
- <item msgid="5102306451432929048">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‎Temporarily avoiding poor connection‎‏‎‎‏‎"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‎‏‎‎‎‎‎‏‏‎‏‏‎‏‎‏‎‎‏‏‎‎‎‏‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‏‏‏‏‏‎Scanning…‎‏‎‎‏‎"</item>
+ <item msgid="9055468790485684083">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‏‏‏‏‏‎‎‏‏‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‏‏‎‎‏‏‎Connecting…‎‏‎‎‏‎"</item>
+ <item msgid="6099499723199990208">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‎‏‎‏‏‏‎‎‎‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‏‏‎‏‏‏‎‎‏‎‎‏‏‏‎‎‎‎‎‎‎Authenticating…‎‏‎‎‏‎"</item>
+ <item msgid="6794055951297347103">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‏‎‎‏‎‏‎‏‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‏‎‏‎‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎Obtaining IP address…‎‏‎‎‏‎"</item>
+ <item msgid="5450920562291300229">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‏‎‎‏‎‏‏‎‎‎‏‏‏‏‎‏‎‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‎‎‎‏‎‏‎Connected‎‏‎‎‏‎"</item>
+ <item msgid="6332116533879646145">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‎‎‎‎‎‎‏‏‎‎‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‏‎‎‎‎‎‏‎Suspended‎‏‎‎‏‎"</item>
+ <item msgid="294459081501073818">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‎‎‏‎‏‏‎‎‎‏‎‎‎‎‎‏‏‏‏‏‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‏‏‎‎‎‎‏‏‎‎‏‏‎‏‎‎Disconnecting…‎‏‎‎‏‎"</item>
+ <item msgid="1577368920272598676">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‎‎‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‎‎Disconnected‎‏‎‎‏‎"</item>
+ <item msgid="7655843177582495451">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‏‏‎‎‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‎‏‏‎‏‏‎‏‏‎‏‏‎Unsuccessful‎‏‎‎‏‎"</item>
+ <item msgid="8953752690917593623">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‏‏‎‏‎‏‎‎‎‏‎‎‎‏‎‎‏‎‎‏‏‎‏‎‏‏‏‎‏‎‏‎‎‏‎‎‎‎‏‎‏‏‏‎Blocked‎‏‎‎‏‎"</item>
+ <item msgid="4400457817750243671">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‎‎‎‏‎‎‏‎‎‎‎‏‎‏‎‎‎‎‎‏‏‎‎‎‎‎‎‎‏‎‎‏‎‏‎‏‎‏‏‏‎Temporarily avoiding poor connection‎‏‎‎‏‎"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-en-rXC/strings.xml b/libs/WifiTrackerLib/res/values-en-rXC/strings.xml
index b2574afdb..222dbe045 100644
--- a/libs/WifiTrackerLib/res/values-en-rXC/strings.xml
+++ b/libs/WifiTrackerLib/res/values-en-rXC/strings.xml
@@ -16,43 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" ‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‏‏‏‎‎‎‎‎‎‎‏‏‎‎‎‎‎‏‎‏‏‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎ / ‎‏‎‎‏‎ "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‏‎‏‏‏‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎Auto-connect is off‎‏‎‎‏‎"</string>
- <string name="saved_network" msgid="6241977554502802914">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎‏‏‏‎‏‏‎‎‎‎‎‎‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‏‏‎‎‎‏‎‎Saved by ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‏‎‎‏‎‏‎‏‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎Won’t automatically connect‎‏‎‎‏‎"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‎‎‏‎‏‏‏‏‎‏‎‎‎‏‎‏‎‏‎‏‎‏‎‏‎‎‏‎‏‎‏‏‏‏‎No internet access‎‏‎‎‏‎"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‎‏‎‏‏‏‏‎‎‎‏‏‎‏‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‎‎‏‏‎Authentication problem‎‏‎‎‏‎"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‏‏‎‏‏‏‏‏‎‎‎‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‎‎‎‏‏‏‎‏‏‎‎‎‏‏‎Check password and try again‎‏‎‎‏‎"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‎‎‏‎‏‎‎‏‏‎‎‎‏‏‏‏‎IP configuration failure‎‏‎‎‏‎"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‎‏‎‎‏‎‎‏‎‎‏‎‎‎‎‏‎‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‏‎‎‏‎‏‎‎‎‎‏‎‏‏‏‏‎‎Disabled‎‏‎‎‏‎"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‏‏‎‎‎‎‎‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‎‎‎‎‏‎‏‏‎‎‎‎‎‏‏‏‎Access point temporarily full‎‏‎‎‏‎"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‏‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‎‏‎‏‏‎‎Disconnected‎‏‎‎‏‎"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‏‎‎‏‏‎‎‏‏‎‏‎‏‏‏‏‎‎‏‎‎‎‏‏‏‎‏‎‏‏‏‎‏‎‎‎‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎‎‎Saved‎‏‎‎‏‎"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‏‎‏‎‎‏‎‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎‎‎‏‏‏‎‎Metered‎‏‎‎‏‎"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‏‏‎‎‏‏‏‏‎‏‎‎‎‏‎‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‏‎‎‎‏‏‏‏‎‎Unmetered‎‏‎‎‏‎"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‏‎‏‏‏‏‏‎Connected via ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
- <string name="available_via_app" msgid="9110324040292242769">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‎‎‏‏‎‎‏‎‎‏‎‏‎‎‏‎‎‎‎‏‎‏‎‏‎‏‎‏‎‎‎‏‎Available via ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‏‎‎‎‏‏‎‎‏‎‎‎Automatically connected via ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‏‏‎‎‎‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‎‏‎‎‎‏‏‏‎‏‏‏‏‎‎Automatically connected via network rating provider‎‏‎‎‏‎"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‏‏‎‎‎‏‎‎‏‏‏‏‎Limited connection‎‏‎‎‏‎"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎‎‏‏‎‎‏‏‏‎‎‏‎‏‎‏‏‎‏‎‎‎‎‎‎‎‎‎‏‎‎‏‎‏‎‏‏‎‎‎‎Private DNS server cannot be accessed‎‏‎‎‏‎"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‏‏‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‎‎‎‏‎‏‏‏‎‏‏‎No internet‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" ‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‎‎‎‏‏‎‏‎‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‏‏‏‏‎‏‎‏‏‏‎ / ‎‏‎‎‏‎ "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‎‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‎‏‎‏‏‎Auto-connect is off‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‎‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‏‏‎‏‎‎‏‏‎‎‎‎Saved by ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‎‎‎‏‎‏‎‎‎‎‎‏‎‏‏‎‎‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‎‎‏‎‎‏‏‏‎‎‏‏‎‎‏‏‏‎‎‎Won’t automatically connect‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‏‏‏‎‎‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‎‎‎‎‎‏‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‏‎‏‎‏‎No internet access‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‏‏‎‏‎‎‏‏‏‎‎Authentication problem‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‎‏‏‎‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‎‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‏‎‏‏‎Check password and try again‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‏‎‎‎‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‏‏‎‎‎‎‏‎‏‏‎‏‎‏‎‏‏‏‎‎IP configuration failure‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‏‏‎‎‏‎‎‏‎‏‏‎‏‎‎‎‎‏‏‎‎‏‏‎‎‎‏‏‎‎Disabled‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‎‎‏‎‎‎Access point temporarily full‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‎‏‎‏‏‎‎‎Temporary poor network conditions‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‎‏‎‏‏‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‏‏‏‏‏‎‎‏‏‎‏‎Weak signal. Try moving closer to the router.‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‎‏‏‏‏‏‏‎‏‏‎‏‏‏‎Network is over capacity. Try again later.‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‏‏‎‎‏‏‏‎‏‏‎‎‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‏‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‎‏‏‏‎‏‏‎Can\'t connect. Try again later.‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎‎‏‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‏‎‏‎Network not compatible with this device‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‏‎‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‏‎‏‏‏‎Disconnected‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‎‏‎‎‎‎‏‎‎‏‏‏‎‏‏‎‏‎‏‏‎‎‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‎‎‏‎Saved‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‏‏‎‏‎‎‏‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‎‎‏‏‏‏‏‎‎‎‎‏‎Metered‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‎‏‎‏‏‏‎‎‏‎‏‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‏‎Unmetered‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‎‎‎‏‎‎‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎‎‏‎‎‎‎‏‏‏‎‎‎‏‏‎‏‎‎‎‎Connected via ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‎‎‎‎‏‏‎‏‎‏‎‏‏‎‏‏‏‎‏‏‏‏‎‏‏‏‎‏‎Available via ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‎‏‏‎‏‏‏‏‎‏‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‎‏‎‎‎‏‎‏‎‎‎‎‎‎‎‏‎‎‎‏‏‏‎‎Automatically connected via ‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‎‎‎‎‎‎‏‏‏‎‏‏‎‏‏‎‏‏‎‏‎‏‎‏‏‎‏‏‎‏‎‏‏‏‎‎‎‎‎‎‏‏‎‎‎Automatically connected via network rating provider‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎‎‎‏‏‎‏‎‏‏‎‎‏‎‏‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‏‏‏‏‏‎‎‎Limited connection‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎‎‏‎‏‏‎‎‎‏‎‎‏‎‎‎‎‎‏‎‏‎‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‎Private DNS server cannot be accessed‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‎‏‎‏‎‎‎‏‎‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‏‎‏‎‎‏‎‎‏‎Connected to device. Can\'t provide internet.‎‏‎‎‏‎"</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎‏‎‎‏‏‎‎‎‏‏‏‎‏‎‏‏‏‎‎‏‏‏‏‎‎‎‎‎‎‏‏‏‏‎‏‎‏‏‎‎‎‎‏‏‎‎‏‏‎‎‏‏‎‏‎Low quality‎‏‎‎‏‎"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‏‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‏‎‏‎‎‏‏‎‏‎None‎‏‎‎‏‎"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‏‎‎‏‏‎‏‎‎‎‎‏‏‏‎‏‏‏‎‎‎‎‏‏‏‏‎‎‎‏‏‎‏‏‎‎‏‏‎‏‏‎‏‎‏‏‏‎‏‎‏‏‏‎Expired‎‏‎‎‏‎"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‏‏‏‏‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‏‎‎‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎‏‎‎‏‎‏‏‏‎Tap to sign up‎‏‎‎‏‎"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‎‏‏‏‎‏‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‏‎Tap to renew subscription and connect‎‏‎‎‏‎"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‏‎‏‏‏‎‎‏‎‎‏‎‏‎‎‎‏‏‎‏‎‎‎‎‏‎‏‎‎‎‏‎‏‏‏‎‏‏‎‎‎‏‏‏‎‎‎‏‏‎‎‎‏‏‎Opening ‎‏‎‎‏‏‎<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‎‎‎‎‎‎‏‏‎‏‎‏‎‏‏‎‏‎‏‎‏‎‏‎‏‎‏‎‎‏‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‏‎Couldn’t connect‎‏‎‎‏‎"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‎‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‎‏‏‎‎‏‎‏‏‎‏‏‏‎Completing sign-up…‎‏‎‎‏‎"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎‏‎‎‎‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎‎‏‎‎‎‎‏‎‏‏‏‏‏‎‎‏‏‏‏‏‎‎‎‏‏‏‎Couldn’t complete sign-up. Tap to try again.‎‏‎‎‏‎"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‏‎‎‎‎‎‏‎‏‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‎‎‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎Sign-up complete. Connecting…‎‏‎‎‏‎"</string>
- <!-- no translation found for imsi_protection_warning (3207104049473134195) -->
- <skip />
- <string name="speed_label_very_slow" msgid="2401582671941367179">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‏‎‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‏‏‏‎‏‎‏‏‎‎‎‏‎‏‏‎Very Slow‎‏‎‎‏‎"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‎Slow‎‏‎‎‏‎"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‏‎‎‎‎‎‏‏‏‎‏‏‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‎‎OK‎‏‎‎‏‎"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‏‎‎‏‏‎‏‎‎‏‎‏‎‏‏‎‏‎‎‎‏‎‏‎‏‎‎‏‏‏‎‎‏‎Medium‎‏‎‎‏‎"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‏‎‎‎‏‎‎‎‎‎‏‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‎‎‎‎‏‎‎Fast‎‏‎‎‏‎"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎‏‏‏‎‎‎‏‏‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎Very Fast‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‎‎‏‏‎‏‏‎‎‏‏‏‏‏‎‎‏‏‎‎‏‎‎‏‏‎‎‎‏‏‎‏‎‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‏‎‎‎‎‎None‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎‎‏‏‎‎‎‏‏‏‎‎‎‏‎‎‎‎‏‎‎‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‏‎‏‏‎‎Expired‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‎‏‎‎‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‎‎‎‏‎‎‏‎‏‎‎‎‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎Tap to sign up‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‏‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‎‎‏‏‏‎‎‎‏‎‏‎‏‎‏‎Tap to renew subscription and connect‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‏‎‏‏‏‎‎‏‎‏‎‎‎‎‎‏‏‎‎‏‏‎‏‎‎‎‎‏‎‎‏‏‏‏‎‏‏‏‎‎Opening ‎‏‎‎‏‏‎<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‎‏‎‎‎‎‏‏‎‎‏‏‎‎‎‎‎‎‎‎‏‎‎Couldn’t connect‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‎‎‎‎‎‎‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‏‏‎‏‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‎Completing sign-up…‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‏‎‎‎‏‏‏‎‎‎‎‏‏‏‏‎‏‎‏‏‎‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‎‏‏‏‎‏‎‎Couldn’t complete sign-up. Tap to try again.‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‎‎‎‎‏‏‎‏‏‎‏‏‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎Sign-up complete. Connecting…‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‏‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‎This network receives a SIM ID that can be used to track device location. ‎‏‎‎‏‏‎"<annotation id="url">"‎‏‎‎‏‏‏‎Learn more‎‏‎‎‏‏‎"</annotation>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‏‏‏‎‏‎‏‎‏‏‏‎‎‎‏‏‏‎‎‎‎‎‏‏‎‎‏‏‎‎‏‎‏‎‎‎‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‎Very Slow‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‎‎‎‎‎‎‏‎‎‎‎‎‎‎‎‎‎Slow‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‎‏‎‏‎‎‏‎‏‎‏‏‏‏‎‎‎‏‎‏‎‏‏‎‎‎‎‎‎‎‏‎‎‏‎‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‎OK‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‏‏‎‎‏‏‎‏‎‎‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎‏‏‏‎‏‏‏‎‎Medium‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‎‏‏‏‎‎‎‏‏‎‏‎‏‎‎Fast‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‏‎‏‎‎‎‏‎‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‏‎‏‎‏‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‎‏‎‎‏‎‏‎Very Fast‎‏‎‎‏‎"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‎‏‎‎‏‎‏‎‎‏‎‏‎‏‏‎‎‎‎‎‎‏‎‎‏‏‏‏‎‎‎‏‎‎‏‏‎‎‏‎‏‎‎‏‏‏‏‎‎‏‏‎‏‏‎Wi-Fi won’t auto-connect for now‎‏‎‎‏‎"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-es-rUS/arrays.xml b/libs/WifiTrackerLib/res/values-es-rUS/arrays.xml
index 27d916cbb..3ef2e9d68 100644
--- a/libs/WifiTrackerLib/res/values-es-rUS/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-es-rUS/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Buscando…"</item>
- <item msgid="6222852518007967736">"Conectando…"</item>
- <item msgid="1176401854208153464">"Autenticando…"</item>
- <item msgid="1377026397901197257">"Obteniendo dirección IP…"</item>
- <item msgid="7627139816052121509">"Conectado"</item>
- <item msgid="1598801023719359130">"Suspendido"</item>
- <item msgid="9160765456671002324">"Desconectando…"</item>
- <item msgid="8013176736494493734">"Desconectado"</item>
- <item msgid="4077393480368783785">"Incorrecto"</item>
- <item msgid="605372180740008604">"Bloqueado"</item>
- <item msgid="5102306451432929048">"Inhabilitando temporalmente la conexión inestable"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Buscando…"</item>
+ <item msgid="9055468790485684083">"Conectando…"</item>
+ <item msgid="6099499723199990208">"Autenticando…"</item>
+ <item msgid="6794055951297347103">"Obteniendo dirección IP…"</item>
+ <item msgid="5450920562291300229">"Conectada"</item>
+ <item msgid="6332116533879646145">"Suspendida"</item>
+ <item msgid="294459081501073818">"Desconectando…"</item>
+ <item msgid="1577368920272598676">"Desconectada"</item>
+ <item msgid="7655843177582495451">"Error"</item>
+ <item msgid="8953752690917593623">"Bloqueada"</item>
+ <item msgid="4400457817750243671">"Inhabilitando temporalmente la conexión inestable"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-es-rUS/strings.xml b/libs/WifiTrackerLib/res/values-es-rUS/strings.xml
index 3187af805..4f32407e5 100644
--- a/libs/WifiTrackerLib/res/values-es-rUS/strings.xml
+++ b/libs/WifiTrackerLib/res/values-es-rUS/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Conexión automática desactivada"</string>
- <string name="saved_network" msgid="6241977554502802914">"Guardada por <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"No se conectará automáticamente"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"No hay acceso a Internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problema de autenticación"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Revisa la contraseña y vuelve a intentarlo"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Error de configuración de IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Inhabilitada"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"El punto de acceso está completo temporalmente"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Desconectado"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Guardado"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"De uso medido"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Sin tarifa plana"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Conexión a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Disponible a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Se conectó automáticamente a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Conectado automáticamente mediante proveedor de calificación de red"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Conexión limitada"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"No se puede acceder al servidor DNS privado"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Sin Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Conexión automática desactivada"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Guardada por <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"No se establecerá conexión automáticamente"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Sin acceso a Internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problema de autenticación"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Revisa la contraseña y vuelve a intentarlo"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Error de configuración de IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Inhabilitada"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"El punto de acceso está temporalmente lleno"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Malas condiciones de red temporalmente"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"La señal es débil. Intenta acercarte al router."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"La red está saturada. Vuelve a intentarlo más tarde."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"No se pudo establecer conexión. Vuelve a intentarlo más tarde."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"La red no es compatible con este dispositivo"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Desconectada"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Guardada"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"De uso medido"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"No medida"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Conexión a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Disponible a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Se estableció conexión automáticamente a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Se estableció conexión automáticamente a través de un proveedor de calificación de redes"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Conexión limitada"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"No se puede acceder al servidor DNS privado"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Se estableció conexión con el dispositivo. No se puede acceder a Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Baja calidad"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Ninguna"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Vencida"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Presiona para registrarte"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Presiona para renovar la suscripción y conectarte"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Abriendo <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"No se pudo establecer conexión"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Completando registro…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"No se pudo completar el registro. Presiona para volver a intentarlo."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Se completó el registro. Conectando…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Esta red recibe un ID único que se puede usar para realizar el seguimiento de la ubicación del dispositivo. "<annotation id="url">"Más información"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Muy lenta"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lenta"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Aceptar"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Media"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Rápida"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Muy rápida"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Ninguna"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Venció"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Presiona para registrarte"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Presiona para renovar la suscripción y conectarte"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Abriendo <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"No se pudo establecer conexión"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Completando registro…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"No se pudo completar el registro. Presiona para volver a intentarlo."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Se completó el registro. Conectando…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Esta red recibe un ID de SIM que puede usarse para realizar el seguimiento de la ubicación del dispositivo. "<annotation id="url">"Más información"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Muy lenta"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lenta"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Aceptable"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Normal"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Rápida"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Muy rápida"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-es/arrays.xml b/libs/WifiTrackerLib/res/values-es/arrays.xml
index c9352b9b3..a12c048b5 100644
--- a/libs/WifiTrackerLib/res/values-es/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-es/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Buscando…"</item>
- <item msgid="6222852518007967736">"Conectando…"</item>
- <item msgid="1176401854208153464">"Autenticando…"</item>
- <item msgid="1377026397901197257">"Obteniendo dirección IP…"</item>
- <item msgid="7627139816052121509">"Conectado"</item>
- <item msgid="1598801023719359130">"Suspendida"</item>
- <item msgid="9160765456671002324">"Desconectando…"</item>
- <item msgid="8013176736494493734">"Desconectada"</item>
- <item msgid="4077393480368783785">"Incorrecta"</item>
- <item msgid="605372180740008604">"Bloqueada"</item>
- <item msgid="5102306451432929048">"Inhabilitando conexión inestable temporalmente"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Buscando…"</item>
+ <item msgid="9055468790485684083">"Conectando…"</item>
+ <item msgid="6099499723199990208">"Autenticando…"</item>
+ <item msgid="6794055951297347103">"Obteniendo dirección IP…"</item>
+ <item msgid="5450920562291300229">"Conectado"</item>
+ <item msgid="6332116533879646145">"Suspendida"</item>
+ <item msgid="294459081501073818">"Desconectando…"</item>
+ <item msgid="1577368920272598676">"Desconectado"</item>
+ <item msgid="7655843177582495451">"Error"</item>
+ <item msgid="8953752690917593623">"Bloqueada"</item>
+ <item msgid="4400457817750243671">"Evitando conexión deficiente temporalmente"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-es/strings.xml b/libs/WifiTrackerLib/res/values-es/strings.xml
index 4cdb27c14..4f0b423c6 100644
--- a/libs/WifiTrackerLib/res/values-es/strings.xml
+++ b/libs/WifiTrackerLib/res/values-es/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Conexión automática desactivada"</string>
- <string name="saved_network" msgid="6241977554502802914">"Guardada por <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"No se conectará automáticamente"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"No hay acceso a Internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problema de autenticación"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Comprueba la contraseña y vuelve a intentarlo"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Error de configuración de IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Inhabilitado"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Punto de acceso temporalmente lleno"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Desconectado"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Guardado"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Medida"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"No medida"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Conectado a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Disponible a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Conectada automáticamente mediante <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Conectado automáticamente a través de un proveedor de valoración de redes"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Conexión limitada"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"No se ha podido acceder al servidor DNS privado"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Sin Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Conexión automática desactivada"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Guardada por <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"No se conectará automáticamente"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Sin acceso a Internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problema de autenticación"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Comprueba la contraseña e inténtalo de nuevo"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Error de configuración de IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Inhabilitada"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Punto de acceso temporalmente lleno"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Condiciones de red temporalmente inestables"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Señal débil. Prueba a acercarte al router."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"La red está saturada. Inténtalo de nuevo más tarde."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"No se ha podido conectar. Inténtalo de nuevo más tarde."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Red no compatible con este dispositivo"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Desconectado"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Guardada"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"De uso medido"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"No medida"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Conectado mediante <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Disponible con <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Conectado automáticamente mediante <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Conectado automáticamente mediante un proveedor de valoración de redes"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Conexión limitada"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"Ninguna"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Caducada"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Toca para registrarte"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Toca para renovar la suscripción y conectarte"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Abriendo <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"No se ha podido conectar"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Completando registro…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"No se ha podido completar el registro. Toca para volver a intentarlo."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Se ha completado el registro. Conectando…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Esta red recibe un ID único con el que se puede rastrear la ubicación del dispositivo "<annotation id="url">"Más información"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Muy lenta"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lenta"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Aceptable"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Media"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Rápida"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Muy rápida"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Ninguna"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Caducada"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Toca para registrarte"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Toca para renovar la suscripción y conectarte"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Abriendo <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"No se ha podido conectar"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Completando registro…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"No se ha podido completar el registro. Toca para intentarlo de nuevo."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registro completado. Conectando…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Esta red recibe un ID de SIM con el que se puede rastrear la ubicación del dispositivo. "<annotation id="url">"Más información"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Muy lenta"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lenta"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Aceptable"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Media"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Rápida"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Muy rápida"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-et/arrays.xml b/libs/WifiTrackerLib/res/values-et/arrays.xml
index 32d06020a..08cacc878 100644
--- a/libs/WifiTrackerLib/res/values-et/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-et/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Skannimine …"</item>
- <item msgid="6222852518007967736">"Ühendamine …"</item>
- <item msgid="1176401854208153464">"Autentimine …"</item>
- <item msgid="1377026397901197257">"IP-aadressi hankimine …"</item>
- <item msgid="7627139816052121509">"Ühendatud"</item>
- <item msgid="1598801023719359130">"Peatatud"</item>
- <item msgid="9160765456671002324">"Ühenduse katkestamine …"</item>
- <item msgid="8013176736494493734">"Pole ühendatud"</item>
- <item msgid="4077393480368783785">"Ebaõnnestus"</item>
- <item msgid="605372180740008604">"Blokeeritud"</item>
- <item msgid="5102306451432929048">"Kehva ühenduse ajutine vältimine"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Otsimine …"</item>
+ <item msgid="9055468790485684083">"Ühendamine …"</item>
+ <item msgid="6099499723199990208">"Autentimine …"</item>
+ <item msgid="6794055951297347103">"IP-aadressi hankimine …"</item>
+ <item msgid="5450920562291300229">"Ühendatud"</item>
+ <item msgid="6332116533879646145">"Peatatud"</item>
+ <item msgid="294459081501073818">"Ühenduse katkestamine …"</item>
+ <item msgid="1577368920272598676">"Pole ühendatud"</item>
+ <item msgid="7655843177582495451">"Ebaõnnestus"</item>
+ <item msgid="8953752690917593623">"Blokeeritud"</item>
+ <item msgid="4400457817750243671">"Kehva ühenduse ajutine vältimine"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-et/strings.xml b/libs/WifiTrackerLib/res/values-et/strings.xml
index 9fe796039..343a690c0 100644
--- a/libs/WifiTrackerLib/res/values-et/strings.xml
+++ b/libs/WifiTrackerLib/res/values-et/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Automaatne ühendamine on väljas"</string>
- <string name="saved_network" msgid="6241977554502802914">"Salvestas: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Ei ühendata automaatselt"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Juurdepääs internetile puudub"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Autentimise probleem"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Kontrollige parooli ja proovige uuesti"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP seadistamise tõrge"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Keelatud"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Pääsupunkt on ajutiselt täis"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Pole ühendatud"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Salvestatud"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Mahupõhine"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Mittemahupõhine"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Ühendatud võrgu <xliff:g id="NAME">%1$s</xliff:g> kaudu"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Saadaval teenuse <xliff:g id="NAME">%1$s</xliff:g> kaudu"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automaatselt ühendatud teenusepakkuja <xliff:g id="NAME">%1$s</xliff:g> kaudu"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Ühendus loodi automaatselt võrgukvaliteedi hinnangute pakkuja kaudu"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Piiratud ühendus"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Privaatsele DNS-serverile ei pääse juurde"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Interneti pole"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automaatne ühendamine on väljas"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Salvestas: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Ei ühendata automaatselt"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Internetiühendus puudub"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Autentimise probleem"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Kontrollige parooli ja proovige uuesti"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP seadistamise tõrge"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Keelatud"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Pääsupunkt on ajutiselt täis"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Võrguühenduse tingimused on ajutiselt kehvad"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Nõrk signaal. Minge ruuterile lähemale."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Võrk on ülekoormatud. Proovige hiljem uuesti."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Ei saa ühendada. Proovige hiljem uuesti."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Võrk ei ühildu selle seadmega"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Pole ühendatud"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Salvestatud"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Mahupõhine"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Mittemahupõhine"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Ühendatud rakenduse <xliff:g id="NAME">%1$s</xliff:g> kaudu"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Saadaval rakenduse <xliff:g id="NAME">%1$s</xliff:g> kaudu"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automaatselt ühendatud teenusepakkuja <xliff:g id="NAME">%1$s</xliff:g> kaudu"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Ühendus loodi automaatselt võrgukvaliteedi hinnangute pakkuja kaudu"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Piiratud ühendus"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Privaatsele DNS-serverile ei pääse juurde"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Seadmega ühendatud. Internetiühendust ei saa luua."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Kehva kvaliteediga"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Puudub"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Aegunud"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Puudutage registreerimiseks"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Puudutage tellimuse uuendamiseks ja ühenduse loomiseks"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Teenuse <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> avamine"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Ühendust ei saanud luua"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Registreerimise lõpuleviimine …"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Registreerimist ei saanud lõpule viia. Puudutage, et uuesti proovida."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Registreerimine on lõpule viidud. Ühendamine …"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"See võrk saab kordumatu ID, mida saab kasutada seadme asukoha jälgimiseks. "<annotation id="url">"Lisateave"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Väga aeglane"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Aeglane"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Hea"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Keskmine"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Kiire"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Väga kiire"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Pole"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Aegunud"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Puudutage registreerimiseks"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Puudutage tellimuse uuendamiseks ja ühenduse loomiseks"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Teenuse <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> avamine"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Ühendust ei saanud luua"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Registreerimise lõpuleviimine …"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Registreerimist ei saanud lõpule viia. Puudutage, et uuesti proovida."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registreerimine on lõpule viidud. Ühendamine …"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"See võrk saab SIM-i ID, mida saab kasutada seadme asukoha jälgimiseks. "<annotation id="url">"Lisateave"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Väga aeglane"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Aeglane"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Keskmine"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Kiire"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Väga kiire"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-eu/arrays.xml b/libs/WifiTrackerLib/res/values-eu/arrays.xml
index 06890d5ed..710e0266e 100644
--- a/libs/WifiTrackerLib/res/values-eu/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-eu/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Bilatzen…"</item>
- <item msgid="6222852518007967736">"Konektatzen…"</item>
- <item msgid="1176401854208153464">"Autentifikatzen…"</item>
- <item msgid="1377026397901197257">"IP helbidea lortzen…"</item>
- <item msgid="7627139816052121509">"Konektatuta"</item>
- <item msgid="1598801023719359130">"Etenda"</item>
- <item msgid="9160765456671002324">"Deskonektatzen…"</item>
- <item msgid="8013176736494493734">"Deskonektatuta"</item>
- <item msgid="4077393480368783785">"Huts egin du"</item>
- <item msgid="605372180740008604">"Blokeatuta"</item>
- <item msgid="5102306451432929048">"Konexio ahula aldi baterako saihesten"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Bilatzen…"</item>
+ <item msgid="9055468790485684083">"Konektatzen…"</item>
+ <item msgid="6099499723199990208">"Autentifikatzen…"</item>
+ <item msgid="6794055951297347103">"IP helbidea lortzen…"</item>
+ <item msgid="5450920562291300229">"Konektatuta"</item>
+ <item msgid="6332116533879646145">"Etenda"</item>
+ <item msgid="294459081501073818">"Deskonektatzen…"</item>
+ <item msgid="1577368920272598676">"Deskonektatuta"</item>
+ <item msgid="7655843177582495451">"Huts egin du"</item>
+ <item msgid="8953752690917593623">"Blokeatuta"</item>
+ <item msgid="4400457817750243671">"Konexio ahula aldi baterako saihesten"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-eu/strings.xml b/libs/WifiTrackerLib/res/values-eu/strings.xml
index 434dad837..ce9e1695a 100644
--- a/libs/WifiTrackerLib/res/values-eu/strings.xml
+++ b/libs/WifiTrackerLib/res/values-eu/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Konexio automatikoa desaktibatuta"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> aplikazioak gorde du"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Ez da konektatuko automatikoki"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Ez dago Interneteko konexiorik"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Autentifikazio-arazoa"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Egiaztatu pasahitza zuzena dela eta saiatu berriro"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Ezin izan da konfiguratu IP helbidea"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Desgaituta"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Sarbide-puntua beteta dago aldi baterako"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Deskonektatuta"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Gordeta"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Sare neurtua"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Neurtu gabeko sarea"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> bidez konektatuta"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> bidez erabilgarri"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatikoki konektatu da <xliff:g id="NAME">%1$s</xliff:g> bidez"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatikoki konektatuta sare-balorazioen hornitzailearen bidez"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Konexio mugatua"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Ezin da atzitu DNS zerbitzari pribatua"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Ez dago Interneteko konexiorik"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Konexio automatikoa desaktibatuta"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> aplikazioak gorde du"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Ez da konektatuko automatikoki"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Ez dago Interneteko konexiorik"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Autentifikazio-arazoa"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Egiaztatu pasahitza eta saiatu berriro"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Ezin izan da konfiguratu IP helbidea"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Desgaituta"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Sarbide-puntua beteta dago aldi baterako"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Sarearen baldintzak txarrak izango dira aldi baterako"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Seinale ahula. Gerturatu bideratzailera."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Sarearen ahalmena gainditu da. Saiatu berriro geroago."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Ezin da konektatu. Saiatu berriro geroago."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Sarea ez da gailu honekin bateragarria"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Deskonektatuta"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Gordeta"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Sare neurtua"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Neurtu gabeko sarea"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> bidez konektatuta"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> bidez erabilgarri"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatikoki konektatu da <xliff:g id="NAME">%1$s</xliff:g> bidez"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Sare-balorazioen hornitzaile baten bidez automatikoki konektatuta"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Konexio mugatua"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Ezin da atzitu DNS zerbitzari pribatua"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Gailura konektatuta. Ezin da Interenetarako sarbiderik eman."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Kalitate txikia"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Bat ere ez"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Iraungita"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Sakatu izena emateko"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Sakatu harpidetza berritzeko eta konektatu ahal izateko"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> irekitzen"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Ezin izan da konektatu"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Izena ematen…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Ezin izan da eman izena. Berriro saiatzeko, ukitu hau."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Eman da izena. Konektatzen…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Gailuaren kokapenaren jarraipena egiteko balio duen ID esklusibo bat jasotzen du sare honek. "<annotation id="url">"Lortu informazio gehiago"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Oso motela"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Motela"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Ados"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Tartekoa"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Bizkorra"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Oso bizkorra"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Bat ere ez"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Iraungita"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Sakatu erregistratzeko"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Sakatu harpidetza berritzeko eta konektatzeko"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> irekitzen"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Ezin izan da konektatu"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Izena ematen…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Ezin izan da erregistratu. Berriro saiatzeko, ukitu hau."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Erregistratu da. Konektatzen…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Gailuaren kokapenaren jarraipena egiteko balio duen SIM ID bat jasotzen du sare honek. "<annotation id="url">"Lortu informazio gehiago"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Oso motela"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Motela"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Ados"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Normala"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Bizkorra"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Oso bizkorra"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Oraingoz ez da automatikoki konektatuko wifira"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-fa/arrays.xml b/libs/WifiTrackerLib/res/values-fa/arrays.xml
index 51ef4b84b..9d19120df 100644
--- a/libs/WifiTrackerLib/res/values-fa/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-fa/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"درحال اسکن کردن…"</item>
- <item msgid="6222852518007967736">"درحال اتصال…"</item>
- <item msgid="1176401854208153464">"درحال اصالت‌سنجی…"</item>
- <item msgid="1377026397901197257">"‏درحال دریافت نشانی IP…"</item>
- <item msgid="7627139816052121509">"متصل"</item>
- <item msgid="1598801023719359130">"معلق"</item>
- <item msgid="9160765456671002324">"درحال قطع اتصال…"</item>
- <item msgid="8013176736494493734">"قطع اتصال"</item>
- <item msgid="4077393480368783785">"ناموفق"</item>
- <item msgid="605372180740008604">"مسدود"</item>
- <item msgid="5102306451432929048">"جلوگیری موقت از اتصال ضعیف"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"درحال اسکن کردن…"</item>
+ <item msgid="9055468790485684083">"درحال اتصال…"</item>
+ <item msgid="6099499723199990208">"درحال راستی‌آزمایی…"</item>
+ <item msgid="6794055951297347103">"‏درحال دریافت نشانی IP…"</item>
+ <item msgid="5450920562291300229">"متصل"</item>
+ <item msgid="6332116533879646145">"معلق"</item>
+ <item msgid="294459081501073818">"درحال قطع اتصال…"</item>
+ <item msgid="1577368920272598676">"اتصال قطع شد"</item>
+ <item msgid="7655843177582495451">"ناموفق"</item>
+ <item msgid="8953752690917593623">"مسدود"</item>
+ <item msgid="4400457817750243671">"اجتناب موقت از اتصال ضعیف"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-fa/strings.xml b/libs/WifiTrackerLib/res/values-fa/strings.xml
index 55006af3f..77ca78fe5 100644
--- a/libs/WifiTrackerLib/res/values-fa/strings.xml
+++ b/libs/WifiTrackerLib/res/values-fa/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"اتصال خودکار خاموش است"</string>
- <string name="saved_network" msgid="6241977554502802914">"ذخیره‌شده توسط <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"اتصال به‌طور خودکار انجام نمی‌شود"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"دسترسی به اینترنت ندارد"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"مشکل اصالت‌سنجی"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"گذرواژه را بررسی و دوباره امتحان کنید"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"‏پیکربندی IP انجام نشد"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"غیرفعال شد"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"ظرفیت نقطه دسترسی موقتاً تکمیل شده است"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"اتصال قطع شد"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"ذخیره‌شده"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"محدودشده"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"محدودنشده"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"متصل شده ازطریق <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"در دسترس ازطریق <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"به‌طور خودکار ازطریق <xliff:g id="NAME">%1$s</xliff:g> متصل شد"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"اتصال خودکار ازطریق ارائه‌دهنده رده‌بندی شبکه"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"اتصال محدود"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"‏سرور DNS خصوصی قابل دسترسی نیست"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"عدم اتصال به اینترنت"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"اتصال خودکار خاموش است"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"ذخیره شده توسط <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"به‌طور خودکار متصل نخواهد شد"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"دسترسی به اینترنت وجود ندارد"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"مشکل راستی‌آزمایی"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"گذرواژه را بررسی و دوباره امتحان کنید"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"‏IP پیکربندی نشد"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"غیرفعال"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"ظرفیت نقطه دسترسی موقتاً تکمیل شده است"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"وضعیت‌های موقتی شبکه ضعیف"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"سیگنال ضعیف است. به رهیاب نزدیک‌تر شوید."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"تعداد ایستگاه‌ها بیش‌از ظرفیت شبکه است. بعداً دوباره امتحان کنید."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"اتصال برقرار نشد. بعداً دوباره امتحان کنید."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"شبکه با این دستگاه سازگار نیست"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"اتصال قطع شد"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"ذخیره‌شده"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"محدود"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"محدودشده"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"ازطریق <xliff:g id="NAME">%1$s</xliff:g> متصل شد"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"دردسترس ازطریق <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"به‌طور خودکار ازطریق <xliff:g id="NAME">%1$s</xliff:g> متصل شد"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"به‌طور خودکار ازطریق ارائه‌دهنده رده‌بندی شبکه متصل شد"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"اتصال محدود"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"دسترسی به سرور ساناد خصوصی ممکن نیست"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"به دستگاه متصل است. نمی‌تواند اینترنت ارائه دهد."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"کیفیت پایین"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"خالی"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"منقضی‌شده"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"برای ثبت‌نام ضربه بزنید"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"برای تمدید اشتراک و متصل شدن، ضربه بزنید"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"درحال بازکردن <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"متصل نشد"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"درحال تکمیل ثبت‌نام…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"ثبت‌نام تکمیل نشد. برای امتحان مجدد ضربه بزنید."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"ثبت‌نام کامل شد. درحال اتصال…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"این شبکه شناسه یکتایی را دریافت می‌کند که می‌توان از آن برای ردیابی مکان دستگاه استفاده کرد. "<annotation id="url">"بیشتر بدانید"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"بسیار آهسته"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"آهسته"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"تأیید"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"متوسط"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"سریع"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"خیلی سریع"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"هیچ‌کدام"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"منقضی‌شده"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"برای ثبت‌نام ضربه بزنید"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"برای تمدید اشتراک و متصل شدن، ضربه بزنید"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"درحال باز کردن <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"متصل نشد"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"درحال تکمیل ثبت‌نام…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"ثبت‌نام تکمیل نشد. برای امتحان مجدد ضربه بزنید."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"ثبت‌نام تکمیل شد. درحال اتصال…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"این شبکه شناسه سیم‌کارتی دریافت می‌کند که می‌توان از آن برای ردیابی مکان دستگاه استفاده کرد. "<annotation id="url">"بیشتر بدانید"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"بسیار آهسته"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"آهسته"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"تأیید"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"متوسط"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"سریع"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"بسیار سریع"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"‏فعلاً Wi-Fi به‌طور خودکار متصل نمی‌شود"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-fi/arrays.xml b/libs/WifiTrackerLib/res/values-fi/arrays.xml
index 51cc12e0a..a054d9c05 100644
--- a/libs/WifiTrackerLib/res/values-fi/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-fi/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Etsitään…"</item>
- <item msgid="6222852518007967736">"Yhdistetään…"</item>
- <item msgid="1176401854208153464">"Varmennetaan…"</item>
- <item msgid="1377026397901197257">"Haetaan IP-osoitetta…"</item>
- <item msgid="7627139816052121509">"Yhdistetty"</item>
- <item msgid="1598801023719359130">"Jäädytetty"</item>
- <item msgid="9160765456671002324">"Katkaistaan…"</item>
- <item msgid="8013176736494493734">"Yhteys katkaistu"</item>
- <item msgid="4077393480368783785">"Epäonnistui"</item>
- <item msgid="605372180740008604">"Estetty"</item>
- <item msgid="5102306451432929048">"Vältetään huonoa yhteyttä tilapäisesti"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Etsitään…"</item>
+ <item msgid="9055468790485684083">"Yhdistetään…"</item>
+ <item msgid="6099499723199990208">"Todennetaan…"</item>
+ <item msgid="6794055951297347103">"Haetaan IP-osoitetta…"</item>
+ <item msgid="5450920562291300229">"Yhdistetty"</item>
+ <item msgid="6332116533879646145">"Jäädytetty"</item>
+ <item msgid="294459081501073818">"Katkaistaan yhteyttä…"</item>
+ <item msgid="1577368920272598676">"Yhteys katkaistu"</item>
+ <item msgid="7655843177582495451">"Epäonnistui"</item>
+ <item msgid="8953752690917593623">"Estetty"</item>
+ <item msgid="4400457817750243671">"Vältetään huonoa yhteyttä tilapäisesti"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-fi/strings.xml b/libs/WifiTrackerLib/res/values-fi/strings.xml
index 9492aafd0..34388224e 100644
--- a/libs/WifiTrackerLib/res/values-fi/strings.xml
+++ b/libs/WifiTrackerLib/res/values-fi/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Automaattinen yhdistäminen pois päältä"</string>
- <string name="saved_network" msgid="6241977554502802914">"Tallentaja: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Yhteyttä ei muodosteta automaattisesti"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Ei internetyhteyttä"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Todennusvirhe"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Tarkista salasana ja yritä uudelleen."</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP-kokoonpanovirhe"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Pois päältä"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Yhteyspiste tilapäisesti täynnä"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Yhteys katkaistu"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Tallennettu"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Maksullinen"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Maksuton"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Yhdistetty (<xliff:g id="NAME">%1$s</xliff:g>)"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Saatavilla tämän kautta: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automaattisesti yhdistetty tämän kautta: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Yhdistetty automaattisesti verkon arviointipalvelun kautta"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Rajallinen yhteys"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Ei pääsyä yksityiselle DNS-palvelimelle"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Ei internetyhteyttä"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automaattinen yhdistäminen pois päältä"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Tämän tallensi <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Yhteyttä ei muodosteta automaattisesti"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Ei internetyhteyttä"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Todennusvirhe"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Tarkista salasana ja yritä uudelleen"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP-määritysvirhe"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Ei käytössä"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Yhteyspiste tilapäisesti täynnä"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Tilapäisesti heikko verkkoyhteys"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Heikko signaali. Kokeile siirtyä lähemmäs reititintä."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Verkon kapasiteetti on ylittynyt. Yritä myöhemmin uudelleen."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Ei yhteyttä. Yritä myöhemmin uudelleen."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Verkko ei yhteensopiva laitteen kanssa"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Yhteys katkaistu"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Tallennettu"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Maksullinen"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Maksuton"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Yhdistetty tämän kautta: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Saatavilla tämän kautta: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Yhdistetty automaattisesti tämän kautta: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Yhdistetty automaattisesti verkon arviointipalvelun kautta"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Rajallinen yhteys"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Ei pääsyä yksityiselle DNS-palvelimelle"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Yhdistetty laitteeseen. Ei voi muodostaa internetyhteyttä."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Heikko laatu"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Ei mitään"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Vanhentunut"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Rekisteröidy napauttamalla"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Kosketa, jos haluat uusia tilauksen ja muodostaa yhteyden"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Avataan <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Ei yhteyttä"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Viimeistellään rekisteröitymistä…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Rekisteröityminen ei onnistunut. Yritä uudelleen napauttamalla."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Rekisteröityminen valmis. Yhdistetään…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Tälle verkolle lähetetään yksilöllinen tunnus, jolla voidaan seurata laitteen sijaintia. "<annotation id="url">"Lue lisää"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Hyvin hidas"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Hidas"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Kohtuullinen"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Nopea"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Hyvin nopea"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"–"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Vanhentunut"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Rekisteröidy napauttamalla"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Napauta, jos haluat uusia tilauksen ja muodostaa yhteyden"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Avataan <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Ei yhteyttä"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Viimeistellään rekisteröitymistä…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Rekisteröityminen ei onnistunut. Yritä uudelleen napauttamalla."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Rekisteröityminen valmis. Yhdistetään…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Tälle verkolle lähetetään SIM-tunnus, jolla voidaan seurata laitteen sijaintia. "<annotation id="url">"Lue lisää"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Hyvin hidas"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Hidas"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Keskinopea"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Nopea"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Hyvin nopea"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi ei toistaiseksi yhdistä automaattisesti"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-fr-rCA/arrays.xml b/libs/WifiTrackerLib/res/values-fr-rCA/arrays.xml
index 3d6f322f7..63491cba2 100644
--- a/libs/WifiTrackerLib/res/values-fr-rCA/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-fr-rCA/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Recherche en cours…"</item>
- <item msgid="6222852518007967736">"Connexion en cours…"</item>
- <item msgid="1176401854208153464">"Authentification en cours…"</item>
- <item msgid="1377026397901197257">"Récupération de l\'adresse IP en cours…"</item>
- <item msgid="7627139816052121509">"Connecté"</item>
- <item msgid="1598801023719359130">"Suspendu"</item>
- <item msgid="9160765456671002324">"Déconnexion en cours…"</item>
- <item msgid="8013176736494493734">"Déconnecté"</item>
- <item msgid="4077393480368783785">"Échec"</item>
- <item msgid="605372180740008604">"Bloqué"</item>
- <item msgid="5102306451432929048">"Rejet temporaire des mauvaises connexions"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Recherche en cours…"</item>
+ <item msgid="9055468790485684083">"Connexion en cours…"</item>
+ <item msgid="6099499723199990208">"Authentification en cours…"</item>
+ <item msgid="6794055951297347103">"Récupération de l\'adresse IP en cours…"</item>
+ <item msgid="5450920562291300229">"Connecté"</item>
+ <item msgid="6332116533879646145">"Suspendu"</item>
+ <item msgid="294459081501073818">"Déconnexion en cours…"</item>
+ <item msgid="1577368920272598676">"Déconnecté"</item>
+ <item msgid="7655843177582495451">"Échec"</item>
+ <item msgid="8953752690917593623">"Bloqué"</item>
+ <item msgid="4400457817750243671">"Rejet temporaire des mauvaises connexions"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml
index 83b320123..3e9de62d4 100644
--- a/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml
+++ b/libs/WifiTrackerLib/res/values-fr-rCA/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"La connexion automatique est désactivée"</string>
- <string name="saved_network" msgid="6241977554502802914">"Enregistrés par <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Reconnexion automatique impossible"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Aucun accès à Internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problème d\'authentification"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Vérifiez le mot de passe et réessayez"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Échec de configuration de l\'adresse IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Désactivés"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Le point d\'accès est temporairement plein"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Déconnecté"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Enregistré"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Facturé à l\'usage"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Non mesuré"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Connecté sur le réseau <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Accessible dans <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Connecté automatiquement par le réseau <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Connecté automatiquement par le fournisseur d\'avis sur le réseau"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Connexion limitée"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Impossible d\'accéder au serveur DNS privé"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Aucune connexion Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">"  : "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"La connexion automatique est désactivée"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Enregistrés par <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Reconnexion automatique impossible"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Aucun accès à Internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problème d\'authentification"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Vérifiez le mot de passe et réessayez"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Échec de configuration de l\'adresse IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Désactivé"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Le point d\'accès est temporairement plein"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Mauvaises conditions de réseau temporaires"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Le signal est faible. Essayez de vous rapprocher du routeur."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Le réseau a atteint sa capacité maximale. Réessayez plus tard."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Connexion impossible. Réessayez plus tard."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Le réseau n\'est pas compatible avec cet appareil"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Déconnecté"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Enregistré"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Mesuré"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Non mesuré"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Connecté sur le réseau <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Accessible dans <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Connecté automatiquement par le réseau <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Connecté automatiquement par l\'utilitaire d\'évaluation des réseaux"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Connexion limitée"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Impossible d\'accéder au serveur DNS privé"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Connecté à l\'appareil. Aucune connexion Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Faible qualité"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Aucune"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Expiré"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Toucher pour vous inscrire"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Touchez pour renouveler l\'abonnement et vous connecter"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Ouverture de <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> en cours…"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Impossible de se connecter"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Finalisation de l\'inscription en cours…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Impossible de terminer l\'inscription. Touchez pour réessayer."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Inscription terminée. Connexion en cours…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Ce réseau reçoit un identifiant unique qui peut être utilisé pour faire le suivi de la position de l\'appareil. "<annotation id="url">"En savoir plus"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Très lente"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lente"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Moyenne"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Élevée"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Très rapide"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Aucune"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Expiré"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Toucher pour vous inscrire"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Touchez pour renouveler l\'abonnement et vous connecter"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Ouverture de <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> en cours…"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Impossible de se connecter"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Terminaison de l\'inscription en cours…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Impossible de terminer l\'inscription. Touchez pour réessayer."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Inscription terminée. Connexion en cours…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Ce réseau reçoit un identifiant SIM qui peut être utilisé pour faire le suivi de la position de l\'appareil. "<annotation id="url">"En savoir plus"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Très lente"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lente"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Moyenne"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Élevée"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Très rapide"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-fr/arrays.xml b/libs/WifiTrackerLib/res/values-fr/arrays.xml
index 05892c3ca..90a922dbc 100644
--- a/libs/WifiTrackerLib/res/values-fr/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-fr/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Recherche…"</item>
- <item msgid="6222852518007967736">"Connexion…"</item>
- <item msgid="1176401854208153464">"Authentification…"</item>
- <item msgid="1377026397901197257">"Récupération de l\'adresse IP…"</item>
- <item msgid="7627139816052121509">"Connecté"</item>
- <item msgid="1598801023719359130">"Suspendu"</item>
- <item msgid="9160765456671002324">"Déconnexion…"</item>
- <item msgid="8013176736494493734">"Déconnecté"</item>
- <item msgid="4077393480368783785">"Échec"</item>
- <item msgid="605372180740008604">"Bloqué"</item>
- <item msgid="5102306451432929048">"Mauvaise connexion évitée momentanément"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Recherche…"</item>
+ <item msgid="9055468790485684083">"Connexion…"</item>
+ <item msgid="6099499723199990208">"Authentification…"</item>
+ <item msgid="6794055951297347103">"Récupération de l\'adresse IP…"</item>
+ <item msgid="5450920562291300229">"Connecté"</item>
+ <item msgid="6332116533879646145">"Suspendu"</item>
+ <item msgid="294459081501073818">"Déconnexion…"</item>
+ <item msgid="1577368920272598676">"Déconnecté"</item>
+ <item msgid="7655843177582495451">"Échec"</item>
+ <item msgid="8953752690917593623">"Bloqué"</item>
+ <item msgid="4400457817750243671">"Mauvaise connexion évitée momentanément"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-fr/strings.xml b/libs/WifiTrackerLib/res/values-fr/strings.xml
index 40dedcad0..b1178688b 100644
--- a/libs/WifiTrackerLib/res/values-fr/strings.xml
+++ b/libs/WifiTrackerLib/res/values-fr/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Connexion automatique désactivée"</string>
- <string name="saved_network" msgid="6241977554502802914">"Enregistré lors de : <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Connexion automatique impossible"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Aucun accès à Internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problème d\'authentification"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Vérifiez le mot de passe et réessayez"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Échec de la configuration de l\'adresse IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Désactivé"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Point d\'accès temporairement plein"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Déconnecté"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Enregistré"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Facturé à l\'usage"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Non facturé à l\'usage"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Connecté via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Disponible via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Connecté automatiquement via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Connecté automatiquement via un fournisseur d\'évaluation de l\'état du réseau"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Connexion limitée"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Impossible d\'accéder au serveur DNS privé"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Aucun accès à Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Connexion automatique désactivée"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Enregistré par <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Connexion automatique impossible"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Aucun accès à Internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problème d\'authentification"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Vérifiez le mot de passe et réessayez"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Échec de la configuration de l\'adresse IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Désactivés"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Point d\'accès temporairement plein"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Mauvaises conditions réseau temporaires"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Signal faible. Rapprochez-vous du routeur."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Le réseau est en surcapacité. Réessayez plus tard."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Connexion impossible. Réessayez plus tard."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Réseau incompatible avec cet appareil"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Déconnecté"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Enregistré"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Facturé à l\'usage"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Non facturé à l\'usage"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Connecté via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Disponible via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Connecté automatiquement via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Connecté automatiquement via un fournisseur d\'évaluation de l\'état du réseau"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Connexion limitée"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Impossible d\'accéder au serveur DNS privé"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Connecté à l\'appareil. Connexion Internet impossible."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Faible qualité"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Aucune"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Arrivé à expiration"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Appuyez ici pour vous connecter"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Appuyez pour renouveler l\'abonnement et vous connecter"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Ouverture de <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>…"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Impossible de se connecter"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Finalisation de l\'inscription…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Impossible de finaliser l\'inscription. Appuyez ici pour réessayer."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Inscription terminée. Connexion…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Ce réseau reçoit un identifiant unique qui peut être utilisé pour suivre la position de l\'appareil. "<annotation id="url">"En savoir plus"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Très lente"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lente"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Correcte"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Moyenne"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Élevée"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Très rapide"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Aucun"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Expiré"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Appuyez ici pour vous connecter"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Appuyez pour renouveler l\'abonnement et vous connecter"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Ouverture de <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>…"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Impossible de se connecter"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Finalisation de l\'inscription…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Impossible de finaliser l\'inscription. Appuyez ici pour réessayer."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Inscription terminée. Connexion…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Ce réseau reçoit un ID de SIM qui peut être utilisé pour suivre la position de l\'appareil. "<annotation id="url">"En savoir plus"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Très lente"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lente"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Correcte"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Moyenne"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Rapide"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Très rapide"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-gl/arrays.xml b/libs/WifiTrackerLib/res/values-gl/arrays.xml
index 41aa8a36a..83fc931f5 100644
--- a/libs/WifiTrackerLib/res/values-gl/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-gl/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Buscando…"</item>
- <item msgid="6222852518007967736">"Conectando…"</item>
- <item msgid="1176401854208153464">"Autenticando…"</item>
- <item msgid="1377026397901197257">"Obtendo enderezo IP…"</item>
- <item msgid="7627139816052121509">"Conectada"</item>
- <item msgid="1598801023719359130">"Suspendida"</item>
- <item msgid="9160765456671002324">"Desconectando…"</item>
- <item msgid="8013176736494493734">"Desconectada"</item>
- <item msgid="4077393480368783785">"Produciuse un erro"</item>
- <item msgid="605372180740008604">"Bloqueada"</item>
- <item msgid="5102306451432929048">"Evitando conexión deficiente temporalmente"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Buscando…"</item>
+ <item msgid="9055468790485684083">"Conectando…"</item>
+ <item msgid="6099499723199990208">"Autenticando…"</item>
+ <item msgid="6794055951297347103">"Obtendo enderezo IP…"</item>
+ <item msgid="5450920562291300229">"Conectada"</item>
+ <item msgid="6332116533879646145">"Suspendida"</item>
+ <item msgid="294459081501073818">"Desconectando…"</item>
+ <item msgid="1577368920272598676">"Desconectada"</item>
+ <item msgid="7655843177582495451">"Produciuse un erro"</item>
+ <item msgid="8953752690917593623">"Bloqueada"</item>
+ <item msgid="4400457817750243671">"Evitando conexión deficiente temporalmente"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-gl/strings.xml b/libs/WifiTrackerLib/res/values-gl/strings.xml
index 98471370b..ac505f4a2 100644
--- a/libs/WifiTrackerLib/res/values-gl/strings.xml
+++ b/libs/WifiTrackerLib/res/values-gl/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"A conexión automática está desactivada"</string>
- <string name="saved_network" msgid="6241977554502802914">"Gardada por <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"A rede non se conectará automaticamente"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Sen acceso a Internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Produciuse un problema de autenticación"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Comproba o contrasinal e téntao de novo"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Produciuse un erro ao configurar o enderezo IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Desactivadas"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"O punto de acceso está temporalmente cheo"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Rede desconectada"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Gardada"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Rede sen tarifa plana"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Rede con tarifa plana"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Wifi conectada a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Dispoñible a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Wifi conectada automaticamente a través de: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Conectada automaticamente a través dun provedor de valoración de redes"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Pouca conexión"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Non se puido acceder ao servidor DNS privado"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Non hai conexión a Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"A conexión automática está desactivada"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Redes gardadas por <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"A rede non se conectará automaticamente"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Sen acceso a Internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problema de autenticación"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Comproba o contrasinal e téntao de novo"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Produciuse un erro ao configurar o enderezo IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Desactivada"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"O punto de acceso está temporalmente cheo"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Condicións de rede temporalmente deficientes"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Sinal feble. Proba a achegarte ao router."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"A rede está saturada. Téntao de novo máis tarde."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Non se puido establecer conexión. Téntao de novo máis tarde."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"A rede non é compatible con este dispositivo"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Desconectada"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Gardada"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Rede sen tarifa plana"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Rede con tarifa plana"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Conectada a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Dispoñible a través de <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Conectada automaticamente a través de: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Conectada automaticamente a través dun provedor de valoración de redes"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Pouca conexión"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Non se puido acceder ao servidor DNS privado"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Estableceuse conexión co dispositivo. Internet non está dispoñible."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Pouca calidade"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Ningunha"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Caducou"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Toca para rexistrarte"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Toca para renovar a subscrición e conectarte"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Abrindo <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Non se puido conectar"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Completando rexistro…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Non se puido completar o rexistro. Toca para tentalo de novo."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Completouse o rexistro. Conectando…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Esta rede recibe un código exclusivo que se pode utilizar para realizar un seguimento da localización dos dispositivos. "<annotation id="url">"Máis información"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Moi lenta"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lenta"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Correcta"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Media"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Rápida"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Moi rápida"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Ningunha"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Caducou"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Toca para rexistrarte"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Toca para renovar a subscrición e conectarte"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Abrindo <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Non se puido establecer conexión"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Completando rexistro…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Non se puido completar o rexistro. Toca para tentalo de novo."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Completouse o rexistro. Conectando…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Esta rede recibe un código SIM que se pode utilizar para realizar un seguimento da localización do dispositivo. "<annotation id="url">"Máis información"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Moi lenta"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lenta"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Correcta"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Media"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Rápida"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Moi rápida"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"De momento, a wifi non se conectará automaticamente"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-gu/arrays.xml b/libs/WifiTrackerLib/res/values-gu/arrays.xml
index 1824bffa7..2e360eae3 100644
--- a/libs/WifiTrackerLib/res/values-gu/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-gu/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"સ્કૅન કરી રહ્યાં છીએ…"</item>
- <item msgid="6222852518007967736">"કનેક્ટ કરી રહ્યાં છીએ…"</item>
- <item msgid="1176401854208153464">"પ્રમાણિત કરી રહ્યાં છીએ…"</item>
- <item msgid="1377026397901197257">"IP ઍડ્રેસ મેળવી રહ્યાં છીએ…"</item>
- <item msgid="7627139816052121509">"કનેક્ટ કર્યું છે"</item>
- <item msgid="1598801023719359130">"સસ્પેન્ડ કર્યું છે"</item>
- <item msgid="9160765456671002324">"ડિસ્કનેક્ટ થઈ રહ્યું છે…"</item>
- <item msgid="8013176736494493734">"ડિસ્કનેક્ટ કર્યું છે"</item>
- <item msgid="4077393480368783785">"અસફળ"</item>
- <item msgid="605372180740008604">"બ્લૉક કરેલ"</item>
- <item msgid="5102306451432929048">"નબળા કનેક્શનને અસ્થાયી રૂપે ટાળી રહ્યું છે"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"સ્કૅન કરી રહ્યા છીએ…"</item>
+ <item msgid="9055468790485684083">"કનેક્ટ કરી રહ્યા છીએ…"</item>
+ <item msgid="6099499723199990208">"પ્રમાણિત કરી રહ્યા છીએ…"</item>
+ <item msgid="6794055951297347103">"IP ઍડ્રેસ મેળવી રહ્યા છીએ…"</item>
+ <item msgid="5450920562291300229">"કનેક્ટ કર્યું છે"</item>
+ <item msgid="6332116533879646145">"સસ્પેન્ડ કર્યું છે"</item>
+ <item msgid="294459081501073818">"ડિસ્કનેક્ટ કરી રહ્યા છીએ…"</item>
+ <item msgid="1577368920272598676">"ડિસ્કનેક્ટ કર્યું છે"</item>
+ <item msgid="7655843177582495451">"અસફળ"</item>
+ <item msgid="8953752690917593623">"બ્લૉક કર્યું છે"</item>
+ <item msgid="4400457817750243671">"નબળા કનેક્શનને હંગામી રૂપે ટાળી રહ્યા છીએ"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-gu/strings.xml b/libs/WifiTrackerLib/res/values-gu/strings.xml
index 4e0cf0109..6b5e44295 100644
--- a/libs/WifiTrackerLib/res/values-gu/strings.xml
+++ b/libs/WifiTrackerLib/res/values-gu/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"ઑટો-કનેક્ટ બંધ છે"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> દ્વારા સચવાયું"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"ઑટોમૅટિક રીતે કનેક્ટ થશે નહીં"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"કોઈ ઇન્ટરનેટ ઍક્સેસ નથી"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"પ્રમાણીકરણમાં સમસ્યા"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"પાસવર્ડ તપાસો અને ફરી પ્રયાસ કરો"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP ગોઠવણીમાં નિષ્ફળતા"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"અક્ષમ કર્યો"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"ઍક્સેસ પૉઇન્ટ અસ્થાયીરૂપે ભરાયેલ છે"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"ડિસ્કનેક્ટ કર્યું"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"સાચવેલા"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"મીટર કરેલું"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"મીટર ન કરેલ"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> દ્વારા કનેક્ટ થયેલ"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> મારફતે ઉપલબ્ધ"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> મારફતે ઑટોમૅટિક રીતે કનેક્ટ કર્યું છે"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"નેટવર્ક રેટિંગ પ્રદાતા દ્વારા ઑટોમૅટિક રીતે કનેક્ટ થયું"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"મર્યાદિત કનેક્શન"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"ખાનગી DNS સર્વર ઍક્સેસ કરી શકાતા નથી"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"કોઈ ઇન્ટરનેટ નથી"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"ઑટો-કનેક્ટ બંધ છે"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> દ્વારા સચવાયેલ"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"ઑટોમૅટિક રીતે કનેક્ટ થશે નહીં"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"કોઈ ઇન્ટરનેટ ઍક્સેસ નથી"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"પ્રમાણીકરણમાં સમસ્યા"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"પાસવર્ડ ચેક કરો અને ફરી પ્રયાસ કરો"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP ગોઠવણીમાં નિષ્ફળતા"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"બંધ છે"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"ઍક્સેસ પૉઇન્ટમાં હંગામી રૂપે જગ્યા નથી"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"હંગામી રૂપે નેટવર્કની નબળી પરિસ્થિતિ"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"નબળું સિગ્નલ. રાઉટરની નજીક જઈને પ્રયાસ કરી જુઓ."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"નેટવર્ક પર ક્ષમતા કરતાં વધારે લોડ છે. થોડા સમય પછી ફરી પ્રયાસ કરો."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"કનેક્ટ કરી શકાતું નથી. થોડા સમય પછી ફરી પ્રયાસ કરો."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"નેટવર્ક આ ડિવાઇસ સાથે સુસંગત નથી"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"ડિસ્કનેક્ટ કર્યું છે"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"સાચવેલા"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"મીટર કરેલું"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"મીટર ન કરેલું"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> દ્વારા કનેક્ટ થયેલ"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> મારફતે ઉપલબ્ધ"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> મારફતે ઑટોમૅટિક રીતે કનેક્ટ કર્યું છે"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"નેટવર્ક રેટિંગ પ્રદાતા મારફતે ઑટોમૅટિક રીતે કનેક્ટ થયું"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"મર્યાદિત કનેક્શન"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"કોઈ નહીં"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"સમય સમાપ્ત થયો"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"સાઇન અપ કરવા માટે ટૅપ કરો"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"સબ્સ્ક્રિપ્શનને રિન્યૂ કરવા માટે ટૅપ કરો અને કનેક્ટ કરો"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ખોલી રહ્યાં છીએ"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"કનેક્ટ કરી શક્યા નથી"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"સાઇન અપ પૂર્ણ કરી રહ્યા છીએ…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"સાઇન અપ પૂર્ણ કરી શકાયું નથી. ફરી પ્રયાસ કરવા માટે ટૅપ કરો."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"સાઇન અપ પૂર્ણ. કનેક્ટ કરી રહ્યાં છીએ…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"આ નેટવર્ક એક વિશેષ ID મેળવે છે જેનો ઉપયોગ ડિવાઇસનું સ્થાન ટ્રૅક કરવા માટે થઈ શકે છે. "<annotation id="url">"વધુ જાણો"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"ખૂબ જ ધીમી"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"ધીમી"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ઓકે"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"મધ્યમ"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"ઝડપી"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"ખૂબ ઝડપી"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"કોઈ નહીં"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"સમય સમાપ્ત થયો"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"સાઇન અપ કરવા માટે ટૅપ કરો"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"સબ્સ્ક્રિપ્શનને રિન્યૂ કરવા માટે ટૅપ કરો અને કનેક્ટ કરો"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ખોલી રહ્યા છીએ"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"કનેક્ટ કરી શક્યા નથી"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"સાઇન અપ પૂર્ણ કરી રહ્યા છીએ…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"સાઇન અપ પૂર્ણ કરી શકાયું નથી. ફરી પ્રયાસ કરવા માટે ટૅપ કરો."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"સાઇન અપ પૂર્ણ. કનેક્ટ કરી રહ્યા છીએ…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"આ નેટવર્કને સિમ ID મળે છે જેનો ઉપયોગ ડિવાઇસનું સ્થાન ટ્રૅક કરવા માટે થઈ શકે છે. "<annotation id="url">"વધુ જાણો"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"ખૂબ જ ધીમી"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"ધીમી"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ઓકે"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"મધ્યમ"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"ઝડપી"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"ખૂબ ઝડપી"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-hi/arrays.xml b/libs/WifiTrackerLib/res/values-hi/arrays.xml
index 4302269a8..85d4bfb6f 100644
--- a/libs/WifiTrackerLib/res/values-hi/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-hi/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"स्कैन किया जा रहा है…"</item>
- <item msgid="6222852518007967736">"कनेक्ट हो रहा है…"</item>
- <item msgid="1176401854208153464">"पुष्टि की जा रही है…"</item>
- <item msgid="1377026397901197257">"आईपी पते की जानकारी ली जा रही है…"</item>
- <item msgid="7627139816052121509">"कनेक्ट है"</item>
- <item msgid="1598801023719359130">"निलंबित"</item>
- <item msgid="9160765456671002324">"डिसकनेक्ट किया जा रहा है…"</item>
- <item msgid="8013176736494493734">"डिसकनेक्ट किया गया"</item>
- <item msgid="4077393480368783785">"वाई-फ़ाई से कनेक्ट नहीं हो सका"</item>
- <item msgid="605372180740008604">"ब्लॉक किया गया"</item>
- <item msgid="5102306451432929048">"कुछ समय के लिए, खराब कनेक्शन से कनेक्ट नहीं किया जा रहा है"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"स्कैन किया जा रहा है…"</item>
+ <item msgid="9055468790485684083">"कनेक्ट हो रहा है…"</item>
+ <item msgid="6099499723199990208">"पुष्टि की जा रही है…"</item>
+ <item msgid="6794055951297347103">"आईपी पते की जानकारी ली जा रही है…"</item>
+ <item msgid="5450920562291300229">"कनेक्ट हो गया"</item>
+ <item msgid="6332116533879646145">"कुछ समय के लिए वाई-फ़ाई बंद किया गया"</item>
+ <item msgid="294459081501073818">"डिसकनेक्ट किया जा रहा है…"</item>
+ <item msgid="1577368920272598676">"डिसकनेक्ट किया गया"</item>
+ <item msgid="7655843177582495451">"वाई-फ़ाई से कनेक्ट नहीं हो सका"</item>
+ <item msgid="8953752690917593623">"ब्लॉक किया गया"</item>
+ <item msgid="4400457817750243671">"खराब कनेक्शन की वजह से, कुछ समय के लिए वाई-फ़ाई बंद किया जा रहा है"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-hi/strings.xml b/libs/WifiTrackerLib/res/values-hi/strings.xml
index 8ce4af122..6161be34b 100644
--- a/libs/WifiTrackerLib/res/values-hi/strings.xml
+++ b/libs/WifiTrackerLib/res/values-hi/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"अपने-आप कनेक्ट होने की सुविधा बंद है"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> के द्वारा सहेजा गया"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"अपने-आप कनेक्ट नहीं होगा"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"इंटरनेट नहीं है"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"पुष्टि नहीं हो सकी"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"पासवर्ड जाँचें और दोबारा कोशिश करें"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP कॉन्‍फ़िगरेशन की विफलता"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"अक्षम"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"ऐक्सेस पॉइंट फ़िलहाल भरा हुआ है"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"डिसकनेक्ट किया गया"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"सेव किया गया"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"डेटा इस्तेमाल करने की सीमा तय की गई है"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"डेटा इस्तेमाल करने की सीमा तय नहीं की गई है"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> के ज़रिए कनेक्ट किया गया"</string>
- <string name="available_via_app" msgid="9110324040292242769">"यह <xliff:g id="NAME">%1$s</xliff:g> के ज़रिए उपलब्ध है"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> के ज़रिए अपने-आप कनेक्ट किया गया"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"नेटवर्क रेटिंग कंपनी के ज़रिए अपने आप कनेक्ट है"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"सीमित कनेक्शन"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"निजी डीएनएस सर्वर को ऐक्सेस नहीं किया जा सकता"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"इंटरनेट कनेक्शन नहीं है"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"वाई-फ़ाई से अपने-आप कनेक्ट होने की सुविधा बंद है"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> से सेव किया गया"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"अपने-आप कनेक्ट नहीं होगा"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"इंटरनेट नहीं है"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"पुष्टि नहीं हो सकी"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"पासवर्ड जांचें और फिर से कोशिश करें"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"आईपी पता कॉन्फ़िगर नहीं हो सका"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"बंद है"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"ऐक्सेस पॉइंट को फ़िलहाल इस्तेमाल नहीं किया जा सकता"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"फ़िलहाल, इंटरनेट कनेक्शन ठीक नहीं है"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"कमज़ोर सिग्नल. राऊटर के पास जाकर देखें."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"नेटवर्क पर उसकी क्षमता से ज़्यादा लोड है. कुछ देर बाद कोशिश करें."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"कनेक्ट नहीं किया जा सका. कुछ देर बाद कोशिश करें."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"यह नेटवर्क इस डिवाइस पर काम नहीं करता है"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"डिसकनेक्ट किया गया"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"नेटवर्क सेव किया गया"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"डेटा इस्तेमाल करने की सीमा तय की गई है"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"डेटा इस्तेमाल करने की सीमा तय नहीं की गई है"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> के ज़रिए कनेक्ट किया गया"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"यह नेटवर्क, <xliff:g id="NAME">%1$s</xliff:g> के ज़रिए उपलब्ध है"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"वाई-फ़ाई, <xliff:g id="NAME">%1$s</xliff:g> के ज़रिए अपने-आप कनेक्ट हो गया"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"वाई-फ़ाई, नेटवर्क रेटिंग देने वाली कंपनी के ज़रिए अपने-आप कनेक्ट हो गया"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"सीमित कनेक्शन"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"निजी डीएनएस सर्वर को ऐक्सेस नहीं किया जा सकता"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"डिवाइस से कनेक्ट है. इंटरनेट सेवा उपलब्ध नहीं है."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"खराब कनेक्शन"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"कोई नहीं"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"समयसीमा खत्म हो गई"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"साइन अप करने के लिए टैप करें"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"सदस्यता रिन्यू करने के लिए टैप करें और कनेक्ट करें"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> खोला जा रहा है"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"कनेक्ट नहीं किया जा सका"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"साइन अप किया जा रहा है…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"साइन अप नहीं हो सका. फिर से कोशिश करने के लिए टैप करें."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"साइन अप की प्रक्रिया पूरी हो गई. कनेक्ट हो रहा है…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"इस नेटवर्क को एक विशेष आईडी दिया जाता है जिसका इस्तेमाल डिवाइस की जगह की जानकारी का पता लगाने के लिए किया जा सकता है. "<annotation id="url">"ज़्यादा जानें"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"अत्‍यधिक धीमी"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"धीमी"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ठीक है"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"मध्यम"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"तेज़"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"बहुत ज़्यादा तेज़"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"कोई नहीं"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"समयसीमा खत्म हो गई"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"साइन अप करने के लिए टैप करें"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"सदस्यता रिन्यू करने के लिए टैप करें और कनेक्ट करें"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> खोला जा रहा है"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"कनेक्ट नहीं किया जा सका"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"साइन अप किया जा रहा है…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"साइन अप नहीं किया जा सका. फिर से कोशिश करने के लिए टैप करें."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"साइन अप की प्रक्रिया पूरी हो गई. कनेक्ट हो रहा है…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"इस नेटवर्क को एक सिम आईडी दिया जाता है जिसका इस्तेमाल डिवाइस की जगह की जानकारी का पता लगाने के लिए किया जा सकता है. "<annotation id="url">"ज़्यादा जानें"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"बहुत धीमी"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"धीमी"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ठीक-ठाक"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"औसत"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"तेज़"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"बहुत तेज़"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-hr/arrays.xml b/libs/WifiTrackerLib/res/values-hr/arrays.xml
index 8ffa760c4..ccf67fc11 100644
--- a/libs/WifiTrackerLib/res/values-hr/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-hr/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Traženje…"</item>
- <item msgid="6222852518007967736">"Povezivanje…"</item>
- <item msgid="1176401854208153464">"Autentifikacija…"</item>
- <item msgid="1377026397901197257">"Dohvaćanje IP adrese…"</item>
- <item msgid="7627139816052121509">"Povezano"</item>
- <item msgid="1598801023719359130">"Obustavljeno"</item>
- <item msgid="9160765456671002324">"Prekidanje veze…"</item>
- <item msgid="8013176736494493734">"Nije povezano"</item>
- <item msgid="4077393480368783785">"Neuspješno"</item>
- <item msgid="605372180740008604">"Blokirano"</item>
- <item msgid="5102306451432929048">"Privremeno izbjegavanje loše veze"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Traženje…"</item>
+ <item msgid="9055468790485684083">"Povezivanje…"</item>
+ <item msgid="6099499723199990208">"Autentifikacija…"</item>
+ <item msgid="6794055951297347103">"Dohvaćanje IP adrese…"</item>
+ <item msgid="5450920562291300229">"Povezano"</item>
+ <item msgid="6332116533879646145">"Obustavljeno"</item>
+ <item msgid="294459081501073818">"Isključivanje…"</item>
+ <item msgid="1577368920272598676">"Nije povezano"</item>
+ <item msgid="7655843177582495451">"Neuspješno"</item>
+ <item msgid="8953752690917593623">"Blokirano"</item>
+ <item msgid="4400457817750243671">"Privremeno izbjegavanje loše veze"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-hr/strings.xml b/libs/WifiTrackerLib/res/values-hr/strings.xml
index 016b41a16..8cb775d32 100644
--- a/libs/WifiTrackerLib/res/values-hr/strings.xml
+++ b/libs/WifiTrackerLib/res/values-hr/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Automatsko povezivanje je isključeno"</string>
- <string name="saved_network" msgid="6241977554502802914">"Spremila aplik. <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Neće se povezati automatski"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Nema pristupa internetu"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problem u autentifikaciji"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Provjerite zaporku i pokušajte ponovo"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Konfiguracija IP-ja nije uspjela"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Onemogućeno"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Pristupna je točka privremeno puna"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Nije povezano"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Spremljeno"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"S ograničenim prometom"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Bez ograničenja prometa"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Povezan putem mreže <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Dostupno putem mreže <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatski povezano putem mreže <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatski povezan putem ocjenjivača mreže"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Ograničena veza"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Nije moguće pristupiti privatnom DNS poslužitelju"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Nema interneta"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automatsko povezivanje je isključeno"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Spremila aplikacija <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Neće se povezati automatski"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Nema pristupa internetu"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problem u autentifikaciji"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Provjerite zaporku i pokušajte ponovo"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Konfiguracija IP-ja nije uspjela"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Onemogućeno"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Pristupna je točka privremeno puna"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Privremeno loši uvjeti mreže"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Signal je slab. Pokušajte se približiti usmjerivaču."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Premašen je kapacitet mreže. Pokušajte ponovo kasnije."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Povezivanje nije uspjelo. Pokušajte ponovo kasnije."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Mreža nije kompatibilna s ovim uređajem"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Nije povezano"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Spremljeno"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"S ograničenim prometom"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Bez ograničenja prometa"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Povezano putem aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Dostupno putem aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatski povezano putem aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatski povezano putem ocjenjivača mreže"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Ograničena veza"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Nije moguće pristupiti privatnom DNS poslužitelju"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Uspostavljena je veza s uređajem. Povezivanje s internetom nije moguće."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Niska kvaliteta"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Nema"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Isteklo"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Dodirnite da biste se registrirali"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Dodirnite da biste obnovili pretplatu i povezali se"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Otvaranje usluge <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Povezivanje nije uspjelo"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Dovršavanje registracije…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Registracija nije dovršena. Dodirnite za ponovni pokušaj."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Registracija je dovršena. Povezivanje…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Ova mreža prima jedinstveni ID koji se može koristiti za praćenje lokacije uređaja. "<annotation id="url">"Saznajte više"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Vrlo sporo"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Sporo"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"U redu"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Srednje"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Brzo"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Vrlo brzo"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Ništa"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Isteklo"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Dodirnite da biste se registrirali"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Dodirnite da biste obnovili pretplatu i povezali se"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Otvaranje usluge <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Povezivanje nije uspjelo"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Dovršavanje registracije…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Registracija nije dovršena. Dodirnite za ponovni pokušaj."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registracija je dovršena. Povezivanje…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Ova mreža prima ID SIM-a koji se može koristiti za praćenje lokacije uređaja. "<annotation id="url">"Saznajte više"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Vrlo sporo"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Sporo"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"U redu"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Srednje"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Brzo"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Vrlo brzo"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi se zasad neće automatski povezivati"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-hu/arrays.xml b/libs/WifiTrackerLib/res/values-hu/arrays.xml
index 62c2b4e7e..5cd6d329f 100644
--- a/libs/WifiTrackerLib/res/values-hu/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-hu/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Keresés…"</item>
- <item msgid="6222852518007967736">"Csatlakozás…"</item>
- <item msgid="1176401854208153464">"Hitelesítés…"</item>
- <item msgid="1377026397901197257">"IP-cím lekérése…"</item>
- <item msgid="7627139816052121509">"Csatlakozva"</item>
- <item msgid="1598801023719359130">"Felfüggesztve"</item>
- <item msgid="9160765456671002324">"Leválasztás…"</item>
- <item msgid="8013176736494493734">"Leválasztva"</item>
- <item msgid="4077393480368783785">"Sikertelen"</item>
- <item msgid="605372180740008604">"Letiltva"</item>
- <item msgid="5102306451432929048">"A rossz minőségű kapcsolatok átmeneti elkerülése"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Keresés…"</item>
+ <item msgid="9055468790485684083">"Csatlakozás…"</item>
+ <item msgid="6099499723199990208">"Hitelesítés…"</item>
+ <item msgid="6794055951297347103">"IP-cím lekérése…"</item>
+ <item msgid="5450920562291300229">"Csatlakoztatva"</item>
+ <item msgid="6332116533879646145">"Felfüggesztve"</item>
+ <item msgid="294459081501073818">"Kapcsolat bontása…"</item>
+ <item msgid="1577368920272598676">"Szétkapcsolva"</item>
+ <item msgid="7655843177582495451">"Sikertelen"</item>
+ <item msgid="8953752690917593623">"Letiltva"</item>
+ <item msgid="4400457817750243671">"A rossz minőségű kapcsolatok átmeneti elkerülése"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-hu/strings.xml b/libs/WifiTrackerLib/res/values-hu/strings.xml
index baeda41d4..09b8b0c2f 100644
--- a/libs/WifiTrackerLib/res/values-hu/strings.xml
+++ b/libs/WifiTrackerLib/res/values-hu/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Automatikus csatlakozás kikapcsolva"</string>
- <string name="saved_network" msgid="6241977554502802914">"Mentette: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Nem csatlakozik automatikusan"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Nincs internet-hozzáférés"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Hitelesítési probléma"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Ellenőrizze a jelszót, majd próbálkozzon újra"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP-konfigurációs hiba"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Letiltva"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"A hozzáférési pont átmenetileg megtelt"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Leválasztva"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Mentve"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Forgalomkorlátos"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Nem forgalomkorlátos"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Kapcsolódva a következőn keresztül: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Rendelkezésre áll a(z) <xliff:g id="NAME">%1$s</xliff:g> alkalmazáson keresztül"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatikusan csatlakozva a következőn keresztül: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatikusan csatlakozott a hálózatértékelés szolgáltatóján keresztül"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Korlátozott kapcsolat"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"A privát DNS-kiszolgálóhoz nem lehet hozzáférni"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Nincs internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automatikus csatlakozás kikapcsolva"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Mentette: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Nem csatlakozik automatikusan"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Nincs internet-hozzáférés"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Hitelesítési probléma"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Ellenőrizze a jelszót, majd próbálja újra"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP-konfigurációs hiba"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Letiltva"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"A hozzáférési pont átmenetileg megtelt"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"A hálózati kapcsolat átmenetileg gyenge"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Gyenge jel. Próbáljon közelebb helyezkedni a routerhez."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"A hálózat túllépte a rendelkezésre álló kapacitást. Próbálja meg később."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Nem lehet csatlakozni. Próbálja meg később."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"A hálózat nem kompatibilis ezzel az eszközzel."</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Szétkapcsolva"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Mentve"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Forgalomkorlátos"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Nem forgalomkorlátos"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Kapcsolódva a következőn keresztül: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Rendelkezésre áll a(z) <xliff:g id="NAME">%1$s</xliff:g> alkalmazáson keresztül"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatikusan csatlakozva a következőn keresztül: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatikusan csatlakozva a hálózatértékelés szolgáltatóján keresztül"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Korlátozott kapcsolat"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"A privát DNS-kiszolgálóhoz nem lehet hozzáférni"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Csatlakoztatva az eszközhöz. Nincs internethozzáférés."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Gyenge minőségű"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Nincs"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Lejárt"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Koppintson a regisztrációhoz"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Koppintson az előfizetés megújításához és a csatlakozáshoz"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> megnyitása"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Nem sikerült csatlakozni"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Regisztráció befejezése…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Nem sikerült a regisztráció befejezése. Koppintással újrapróbálkozhat."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"A regisztráció befejeződött. Csatlakozás…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Ez a hálózat egyedi azonosítót kap, amely felhasználható az eszköz helyadatainak követésére. "<annotation id="url">"További információ"</annotation>"."</string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Nagyon lassú"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lassú"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Rendben"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Közepes"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Gyors"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Nagyon gyors"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Nincs"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Lejárt"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Koppintson a regisztrációhoz"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Koppintson az előfizetés megújításához és a csatlakozáshoz"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> megnyitása"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Nem sikerült csatlakozni"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Regisztráció befejezése…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Nem sikerült a regisztráció befejezése. Koppintással újrapróbálkozhat."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"A regisztráció befejeződött. Csatlakozás…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Ez a hálózat SIM-azonosítót kap, amely felhasználható az eszköz helyadatainak követésére. "<annotation id="url">"További információ"</annotation>"."</string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Nagyon lassú"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lassú"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Közepes"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Gyors"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Nagyon gyors"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"A Wi-Fi-re történő csatlakozás jelenleg nem automatikus"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-hy/arrays.xml b/libs/WifiTrackerLib/res/values-hy/arrays.xml
index 82ed80b53..6a89431c6 100644
--- a/libs/WifiTrackerLib/res/values-hy/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-hy/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Որոնում…"</item>
- <item msgid="6222852518007967736">"Միացում…"</item>
- <item msgid="1176401854208153464">"Նույնականացում…"</item>
- <item msgid="1377026397901197257">"IP հասցեի ստացում…"</item>
- <item msgid="7627139816052121509">"Միացած է"</item>
- <item msgid="1598801023719359130">"Կասեցված է"</item>
- <item msgid="9160765456671002324">"Անջատվում է…"</item>
- <item msgid="8013176736494493734">"Կապ չկա"</item>
- <item msgid="4077393480368783785">"Սխալ առաջացավ"</item>
- <item msgid="605372180740008604">"Արգելափակված է"</item>
- <item msgid="5102306451432929048">"Անջատվել է վատ կապի պատճառով"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Որոնում…"</item>
+ <item msgid="9055468790485684083">"Միացում…"</item>
+ <item msgid="6099499723199990208">"Նույնականացում…"</item>
+ <item msgid="6794055951297347103">"IP հասցեի ստացում…"</item>
+ <item msgid="5450920562291300229">"Միացած է"</item>
+ <item msgid="6332116533879646145">"Կասեցված է"</item>
+ <item msgid="294459081501073818">"Անջատվում է…"</item>
+ <item msgid="1577368920272598676">"Կապը չեղարկված է"</item>
+ <item msgid="7655843177582495451">"Չհաջողվեց միանալ"</item>
+ <item msgid="8953752690917593623">"Արգելափակված է"</item>
+ <item msgid="4400457817750243671">"Անջատվել է վատ կապի պատճառով"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-hy/strings.xml b/libs/WifiTrackerLib/res/values-hy/strings.xml
index 9ef2f696e..d51a53c68 100644
--- a/libs/WifiTrackerLib/res/values-hy/strings.xml
+++ b/libs/WifiTrackerLib/res/values-hy/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Ավտոմատ միացումն անջատված է"</string>
- <string name="saved_network" msgid="6241977554502802914">"Ով է պահել՝ <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Չի միանա ավտոմատ"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Ինտերնետ կապ չկա"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Նույնականացման խնդիր"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Ստուգեք գաղտնաբառը և նորից փորձեք"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Չհաջողվեց կարգավորել IP-ն"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Անջատված"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Հասանելիության կետը ժամանակավորապես լիքն է"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Կապ չկա"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Պահված է"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Վճարովի թրաֆիկ"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Անսահմանափակ թրաֆիկ"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Միացված է <xliff:g id="NAME">%1$s</xliff:g>-ի միջոցով"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Հասանելի է հետևյալ հավելվածի միջոցով՝ <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Ավտոմատ միացված է <xliff:g id="NAME">%1$s</xliff:g>-ի միջոցով"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Ավտոմատ միացել է ցանցերի վարկանիշի մատակարարի միջոցով"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Սահմանափակ կապ"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Մասնավոր DNS սերվերն անհասանելի է"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Կապ չկա"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Ավտոմատ միացումն անջատված է"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Ով է պահել՝ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Չի միանա ավտոմատ"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Ինտերնետ կապ չկա"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Նույնականացման խնդիր"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Ստուգեք գաղտնաբառը և նորից փորձեք"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Չհաջողվեց կարգավորել IP-ն"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Անջատված է"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Մուտքի կետին չափազանց շատ սարքեր են միացված"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Կապը ժամանակավորապես թույլ է"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Ազդանշանը թույլ է։ Մոտեցեք երթուղիչին։"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Ցանցը գերծանրաբեռնված է։ Փորձեք ավելի ուշ։"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Կապ չկա։ Փորձեք ավելի ուշ։"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Ցանցն անհամատեղելի է այս սարքի հետ"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Կապը չեղարկված է"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Պահված է"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Վճարովի թրաֆիկ"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Անսահմանափակ թրաֆիկ"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Միացվել է <xliff:g id="NAME">%1$s</xliff:g> հավելվածի միջոցով"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Հասանելի է <xliff:g id="NAME">%1$s</xliff:g> հավելվածի միջոցով"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Ավտոմատ միացվել է <xliff:g id="NAME">%1$s</xliff:g> հավելվածի միջոցով"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Ավտոմատ միացել է ցանցերի վարկանիշի մատակարարի միջոցով"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Սահմանափակ կապ"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"Ոչ մեկը"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Սպառվել է"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Հպեք՝ գրանցվելու համար"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Հպեք՝ բաժանորդագրությունը նորացնելու և միանալու համար"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>, բացվում է"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Չհաջողվեց միանալ"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Գրանցումն ավարտվում է…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Չհաջողվեց ավարտել գրանցումը։ Հպեք՝ նորից փորձելու համար։"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Գրանցումն ավարտված է։ Միացում…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Այս ցանցը ստանում է եզակի ID, որի օգնությամբ հնարավոր է հետագծել սարքի տեղադրությունը։ "<annotation id="url">"Իմանալ ավելին"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Շատ դանդաղ"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Դանդաղ"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Լավ"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Միջին"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Արագ"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Շատ արագ"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Չկա"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Սպառվել է"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Հպեք՝ գրանցվելու համար"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Հպեք՝ բաժանորդագրությունը նորացնելու և միանալու համար"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>, բացվում է"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Չհաջողվեց միանալ"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Գրանցումն ավարտվում է…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Չհաջողվեց ավարտել գրանցումը։ Հպեք՝ նորից փորձելու համար։"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Գրանցումն ավարտված է։ Միացում…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Այս ցանցը ստանում է SIM քարտի ID, որի օգնությամբ հնարավոր է հետագծել սարքի տեղադրությունը։ "<annotation id="url">"Իմանալ ավելին"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Շատ դանդաղ"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Դանդաղ"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Լավ"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Միջին"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Արագ"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Շատ արագ"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-in/arrays.xml b/libs/WifiTrackerLib/res/values-in/arrays.xml
index a6cd10ee1..c851e6e0d 100644
--- a/libs/WifiTrackerLib/res/values-in/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-in/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Memindai…"</item>
- <item msgid="6222852518007967736">"Menyambungkan…"</item>
- <item msgid="1176401854208153464">"Mengautentikasi…"</item>
- <item msgid="1377026397901197257">"Mendapatkan alamat IP…"</item>
- <item msgid="7627139816052121509">"Tersambung"</item>
- <item msgid="1598801023719359130">"Ditangguhkan"</item>
- <item msgid="9160765456671002324">"Memutus sambungan..."</item>
- <item msgid="8013176736494493734">"Terputus"</item>
- <item msgid="4077393480368783785">"Gagal"</item>
- <item msgid="605372180740008604">"Diblokir"</item>
- <item msgid="5102306451432929048">"Menghindari sambungan buruk untuk sementara"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Memindai …"</item>
+ <item msgid="9055468790485684083">"Menghubungkan …"</item>
+ <item msgid="6099499723199990208">"Mengautentikasi …"</item>
+ <item msgid="6794055951297347103">"Mendapatkan alamat IP …"</item>
+ <item msgid="5450920562291300229">"Terhubung"</item>
+ <item msgid="6332116533879646145">"Ditangguhkan"</item>
+ <item msgid="294459081501073818">"Memutus koneksi …"</item>
+ <item msgid="1577368920272598676">"Koneksi terputus"</item>
+ <item msgid="7655843177582495451">"Gagal"</item>
+ <item msgid="8953752690917593623">"Diblokir"</item>
+ <item msgid="4400457817750243671">"Menghindari koneksi buruk untuk sementara"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-in/strings.xml b/libs/WifiTrackerLib/res/values-in/strings.xml
index e87061319..1fbb2aeb7 100644
--- a/libs/WifiTrackerLib/res/values-in/strings.xml
+++ b/libs/WifiTrackerLib/res/values-in/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Sambung-otomatis nonaktif"</string>
- <string name="saved_network" msgid="6241977554502802914">"Disimpan oleh <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Tidak akan terhubung otomatis"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Tidak ada akses internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Masalah autentikasi"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Periksa sandi dan coba lagi"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Kegagalan konfigurasi IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Nonaktif"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Titik akses penuh untuk sementara"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Terputus"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Disimpan"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Berbayar"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Tidak berbayar"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Tersambung melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Tersedia melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Terhubung otomatis melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Otomatis tersambung melalui penyedia rating jaringan"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Koneksi terbatas"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Server DNS pribadi tidak dapat diakses"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Tidak ada internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Hubung-otomatis nonaktif"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Disimpan oleh <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Tidak akan terhubung otomatis"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Tidak ada akses internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Masalah autentikasi"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Periksa sandi dan coba lagi"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Kegagalan konfigurasi IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Nonaktif"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Titik akses penuh untuk sementara"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Kondisi jaringan buruk untuk sementara"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Sinyal lemah. Coba mendekat ke router."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Jaringan melebihi kapasitas. Coba lagi nanti."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Tidak dapat terhubung. Coba lagi nanti."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Jaringan tidak kompatibel dengan perangkat ini"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Koneksi terputus"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Tersimpan"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Berbayar"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Tidak berbayar"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Terhubung melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Tersedia melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Terhubung otomatis melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Terhubung otomatis melalui penyedia rating jaringan"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Koneksi terbatas"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Server DNS pribadi tidak dapat diakses"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Terhubung ke perangkat. Tidak dapat menyediakan koneksi internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Kualitas rendah"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Tidak ada"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Sudah tidak berlaku"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Ketuk untuk mendaftar"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Ketuk untuk memperpanjang langganan dan menyambungkan"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Membuka <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Tidak dapat terhubung"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Menyelesaikan pendaftaran…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Tidak dapat menyelesaikan pendaftaran. Ketuk untuk mencoba lagi."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Pendaftaran selesai. Menyambungkan…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Jaringan ini menerima ID unik yang dapat digunakan untuk melacak lokasi perangkat. "<annotation id="url">"Pelajari lebih lanjut"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Sangat Lambat"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lambat"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Oke"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Sedang"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Cepat"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Sangat Cepat"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Tidak ada"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Sudah tidak berlaku"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Ketuk untuk mendaftar"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Ketuk untuk memperpanjang langganan dan menghubungkan"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Membuka <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Tidak dapat terhubung"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Menyelesaikan pendaftaran …"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Tidak dapat menyelesaikan pendaftaran. Ketuk untuk mencoba lagi."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Pendaftaran selesai. Menghubungkan …"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Jaringan ini menerima ID SIM yang dapat digunakan untuk melacak lokasi perangkat. "<annotation id="url">"Pelajari lebih lanjut"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Sangat Lambat"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lambat"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Oke"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Sedang"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Cepat"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Sangat Cepat"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi tidak akan terhubung otomatis untuk saat ini"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-is/arrays.xml b/libs/WifiTrackerLib/res/values-is/arrays.xml
index 66864889f..d62b1d7c9 100644
--- a/libs/WifiTrackerLib/res/values-is/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-is/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Leitar…"</item>
- <item msgid="6222852518007967736">"Tengist…"</item>
- <item msgid="1176401854208153464">"Auðkennir…"</item>
- <item msgid="1377026397901197257">"Sækir IP-tölu…"</item>
- <item msgid="7627139816052121509">"Tengt"</item>
- <item msgid="1598801023719359130">"Í bið"</item>
- <item msgid="9160765456671002324">"Aftengist…"</item>
- <item msgid="8013176736494493734">"Aftengt"</item>
- <item msgid="4077393480368783785">"Mistókst"</item>
- <item msgid="605372180740008604">"Lokað á"</item>
- <item msgid="5102306451432929048">"Forðast lélega tengingu tímabundið"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Leitar…"</item>
+ <item msgid="9055468790485684083">"Tengist…"</item>
+ <item msgid="6099499723199990208">"Auðkennir…"</item>
+ <item msgid="6794055951297347103">"Sækir IP-tölu…"</item>
+ <item msgid="5450920562291300229">"Tengt"</item>
+ <item msgid="6332116533879646145">"Í bið"</item>
+ <item msgid="294459081501073818">"Aftengist…"</item>
+ <item msgid="1577368920272598676">"Aftengt"</item>
+ <item msgid="7655843177582495451">"Mistókst"</item>
+ <item msgid="8953752690917593623">"Lokað"</item>
+ <item msgid="4400457817750243671">"Forðast lélega tengingu tímabundið"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-is/strings.xml b/libs/WifiTrackerLib/res/values-is/strings.xml
index 2a535f372..5c3cf48b3 100644
--- a/libs/WifiTrackerLib/res/values-is/strings.xml
+++ b/libs/WifiTrackerLib/res/values-is/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Slökkt er á sjálfvirkri tengingu"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> vistaði"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Mun ekki tengjast sjálfkrafa"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Enginn netaðgangur"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Vandamál við auðkenningu"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Athugaðu aðgangsorðið og reyndu aftur"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP-stillingarvilla"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Óvirkt"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Aðgangsstaður tímabundið fullur"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Aftengt"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Vistað"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Mæld notkun"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Notkun ekki mæld"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Tenging í gegnum <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Í boði með <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Tengt sjálfkrafa með <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Sjálfkrafa tengt um netgæðaveitu"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Takmörkuð tenging"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Ekki næst í DNS-einkaþjón"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Engin nettenging"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Slökkt er á sjálfvirkri tengingu"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> vistaði"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Mun ekki tengjast sjálfkrafa"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Enginn netaðgangur"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Vandamál við auðkenningu"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Athugaðu aðgangsorðið og reyndu aftur"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP-stillingarvilla"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Slökkt"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Aðgangsstaður tímabundið fullur"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Léleg nettenging tímabundið"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Léleg tenging. Prófaðu að færa þig nær beininum."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Hámarki netkerfis er náð. Reyndu aftur síðar."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Ekki er hægt að tengjast. Reyndu aftur síðar."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Netið er ekki samhæft þessu tæki"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Aftengt"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Vistað"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Mæld notkun"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Notkun ekki mæld"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Tenging í gegnum <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Í boði með <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Tengt sjálfkrafa með <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Sjálfkrafa tengt um netgæðaveitu"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Takmörkuð tenging"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Ekki næst í DNS-einkaþjón"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Tengt við tæki. Nettenging næst ekki."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Lítil gæði"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Ekkert"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Útrunnin"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Ýttu til að skrá þig"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Ýttu til að endurnýja áskrift og tengjast"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Opnar <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Ekki tókst að tengjast"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Gengur frá skráningu…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Ekki tókst að ljúka við skráningu. Ýttu til að reyna aftur."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Skráningu lokið. Tengist…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Þetta net fær einkvæmt auðkenni sem hægt er að nota til að rekja staðsetningu tækis. "<annotation id="url">"Frekari upplýsingar"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Mjög hægt"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Hægt"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Í lagi"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Miðlungshratt"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Hratt"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Mjög hratt"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Ekkert"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Útrunnið"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Ýttu til að skrá þig"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Ýttu til að endurnýja áskrift og tengjast"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Opnar <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Ekki tókst að tengjast"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Gengur frá skráningu…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Ekki tókst að ljúka við skráningu. Ýttu til að reyna aftur."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Skráningu lokið. Tengist…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Þetta net fær SIM-auðkenni sem hægt er að nota til að rekja staðsetningu tækis. "<annotation id="url">"Frekari upplýsingar"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Mjög hægt"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Hægt"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Í lagi"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Miðlungs"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Hratt"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Mjög hratt"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi tengist ekki sjálfkrafa eins og er"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-it/arrays.xml b/libs/WifiTrackerLib/res/values-it/arrays.xml
index 04c4fe8eb..7b81856db 100644
--- a/libs/WifiTrackerLib/res/values-it/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-it/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Ricerca…"</item>
- <item msgid="6222852518007967736">"Connessione…"</item>
- <item msgid="1176401854208153464">"Autenticazione…"</item>
- <item msgid="1377026397901197257">"Acquisizione indirizzo IP…"</item>
- <item msgid="7627139816052121509">"Connesso"</item>
- <item msgid="1598801023719359130">"Sospeso"</item>
- <item msgid="9160765456671002324">"Disconnessione…"</item>
- <item msgid="8013176736494493734">"Disconnesso"</item>
- <item msgid="4077393480368783785">"Operazione non riuscita"</item>
- <item msgid="605372180740008604">"Bloccato"</item>
- <item msgid="5102306451432929048">"Al momento vengono evitate connessioni deboli"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Ricerca…"</item>
+ <item msgid="9055468790485684083">"Connessione…"</item>
+ <item msgid="6099499723199990208">"Autenticazione…"</item>
+ <item msgid="6794055951297347103">"Acquisizione indirizzo IP…"</item>
+ <item msgid="5450920562291300229">"Rete connessa"</item>
+ <item msgid="6332116533879646145">"Connessione sospesa"</item>
+ <item msgid="294459081501073818">"Disconnessione…"</item>
+ <item msgid="1577368920272598676">"Rete disconnessa"</item>
+ <item msgid="7655843177582495451">"Operazione non riuscita"</item>
+ <item msgid="8953752690917593623">"Rete bloccata"</item>
+ <item msgid="4400457817750243671">"Al momento vengono evitate connessioni deboli"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-it/strings.xml b/libs/WifiTrackerLib/res/values-it/strings.xml
index b4bb14944..5108c2756 100644
--- a/libs/WifiTrackerLib/res/values-it/strings.xml
+++ b/libs/WifiTrackerLib/res/values-it/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Connessione automatica disattivata"</string>
- <string name="saved_network" msgid="6241977554502802914">"Salvata da <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Non verrà eseguita la connessione automatica"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Nessun accesso a Internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problema di autenticazione"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Controlla la password e riprova"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Errore configurazione IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Disattivata"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Punto di accesso momentaneamente al completo"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Nessuna connessione"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Salvata"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"A consumo"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Non a consumo"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Connesso tramite <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Disponibile tramite <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Connessa automaticamente tramite <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Collegato automaticamente tramite fornitore di servizi di valutazione rete"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Connessione limitata"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Non è possibile accedere al server DNS privato"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Internet assente"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Connessione automatica disattivata"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Salvata da <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Non verrà eseguita la connessione automatica"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Nessun accesso a Internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problema di autenticazione"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Controlla la password e riprova"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Errore configurazione IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Rete non attiva"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Punto di accesso momentaneamente al completo"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Condizioni della rete momentaneamente non ottimali"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Segnale debole. Prova ad avvicinarti al router."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"È stata superata la capacità della rete. Riprova più tardi."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Impossibile connettersi. Riprova più tardi."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Rete non compatibile con questo dispositivo"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Rete disconnessa"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Salvata"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"A consumo"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Non a consumo"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Connessione stabilita tramite <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Disponibile tramite <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Connessione automatica stabilita tramite <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Connessione automatica stabilita tramite fornitore di servizi di valutazione rete"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Connessione limitata"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Non è possibile accedere al server DNS privato"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Connessione al dispositivo effettuata. Impossibile accedere a Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Bassa qualità"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Nessuna"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Scaduta"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Tocca per registrarti"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Tocca per rinnovare l\'abbonamento e connetterti"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Apertura di <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Impossibile connettersi"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Completamento della registrazione…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Impossibile completare la registrazione. Tocca per riprovare."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Registrazione completata. Connessione…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Questa rete riceve un ID univoco che può essere usato per monitorare la posizione del dispositivo. "<annotation id="url">"Ulteriori informazioni"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Molto lenta"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lenta"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Media"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Veloce"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Molto veloce"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Nessuna"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Scaduta"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Tocca per registrarti"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Tocca per rinnovare l\'abbonamento e connetterti"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Apertura di <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Impossibile collegarsi"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Completamento della registrazione…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Impossibile completare la registrazione. Tocca per riprovare."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registrazione completata. Connessione…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Questa rete riceve un ID SIM che può essere usato per monitorare la posizione del dispositivo. "<annotation id="url">"Ulteriori informazioni"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Molto lenta"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lenta"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Discreta"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Media"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Veloce"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Molto veloce"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Per il momento la connessione automatica della rete Wi-Fi non funziona"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-iw/arrays.xml b/libs/WifiTrackerLib/res/values-iw/arrays.xml
index b88dd420a..031be236f 100644
--- a/libs/WifiTrackerLib/res/values-iw/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-iw/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"מתבצעת סריקה…"</item>
- <item msgid="6222852518007967736">"מתחבר…"</item>
- <item msgid="1176401854208153464">"מתבצע אימות…"</item>
- <item msgid="1377026397901197257">"‏בתהליך של השגת כתובת IP…"</item>
- <item msgid="7627139816052121509">"מחובר"</item>
- <item msgid="1598801023719359130">"מושעה"</item>
- <item msgid="9160765456671002324">"מתנתק…"</item>
- <item msgid="8013176736494493734">"מנותק"</item>
- <item msgid="4077393480368783785">"נכשל"</item>
- <item msgid="605372180740008604">"חסומה"</item>
- <item msgid="5102306451432929048">"מניעה זמנית של חיבור באיכות ירודה"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"מתבצעת סריקה…"</item>
+ <item msgid="9055468790485684083">"מתבצעת התחברות…"</item>
+ <item msgid="6099499723199990208">"בתהליך אימות…"</item>
+ <item msgid="6794055951297347103">"‏בתהליך של השגת כתובת IP…"</item>
+ <item msgid="5450920562291300229">"מחובר"</item>
+ <item msgid="6332116533879646145">"בהשעיה"</item>
+ <item msgid="294459081501073818">"מתבצע ניתוק…"</item>
+ <item msgid="1577368920272598676">"מנותק"</item>
+ <item msgid="7655843177582495451">"נכשל"</item>
+ <item msgid="8953752690917593623">"חסום"</item>
+ <item msgid="4400457817750243671">"מניעה זמנית של חיבור באיכות ירודה"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-iw/strings.xml b/libs/WifiTrackerLib/res/values-iw/strings.xml
index 3f02fdae0..110d0472c 100644
--- a/libs/WifiTrackerLib/res/values-iw/strings.xml
+++ b/libs/WifiTrackerLib/res/values-iw/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"החיבור האוטומטי כבוי"</string>
- <string name="saved_network" msgid="6241977554502802914">"נשמרה על ידי <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"לא יתבצע חיבור באופן אוטומטי"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"אין גישה לאינטרנט"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"בעיית אימות"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"יש לבדוק את הסיסמה ולנסות שוב"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"‏כשל בתצורת IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"מושבתות"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"נקודת הגישה מלאה באופן זמני"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"מנותקת"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"נשמרה"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"חיוב לפי שימוש בנתונים"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"לא נמדדת"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"מחובר באמצעות <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"זמינה דרך <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"מחוברת אוטומטית באמצעות <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"מחובר אוטומטית דרך ספק של דירוג רשת"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"חיבור מוגבל"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"‏לא ניתן לגשת לשרת DNS הפרטי"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"אין אינטרנט"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"החיבור האוטומטי כבוי"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"נשמרה על-ידי <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"לא יתבצע חיבור באופן אוטומטי"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"אין גישה לאינטרנט"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"בעיית אימות"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"יש לבדוק את הסיסמה ולנסות שוב"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"‏כשל בהגדרת IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"מושבתת"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"נקודת הגישה מלאה באופן זמני"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"החיבור לאינטרנט חלש באופן זמני"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"אות חלש. כדאי לנסות להתקרב לנתב."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"הרשת בקיבולת יתר. יש לנסות שוב מאוחר יותר."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"לא ניתן להתחבר. יש לנסות שוב מאוחר יותר."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"הרשת לא תואמת למכשיר הזה"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"מנותקת"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"נשמרה"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"חיוב לפי שימוש בנתונים"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"שימוש חופשי"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"מחובר דרך <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"זמינה דרך <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"מחובר אוטומטית דרך <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"מחובר אוטומטית דרך ספק של דירוג רשת"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"חיבור מוגבל"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"ללא"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"התוקף פג"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"יש להקיש כדי להירשם"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"יש להקיש כדי לחדש את המינוי ולהתחבר"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"מתבצעת פתיחה של <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"לא ניתן להתחבר"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"מתבצעת השלמה של ההרשמה…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"לא ניתן היה להשלים את ההרשמה. יש להקיש כדי לנסות שוב."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"תהליך ההרשמה הסתיים. בתהליך התחברות…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"הרשת הזו מקבלת מזהה ייחודי שיכול לשמש למעקב אחר מיקום המכשיר. "<annotation id="url">"מידע נוסף"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"איטית מאוד"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"איטית"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"אישור"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"בינונית"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"מהירה"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"מהירה מאוד"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"ללא"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"התוקף פג"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"יש להקיש כדי להירשם"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"יש להקיש כדי לחדש את המינוי ולהתחבר"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"מתבצעת פתיחה של <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"לא ניתן להתחבר"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"מתבצעת השלמה של ההרשמה…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"לא ניתן היה להשלים את ההרשמה. יש להקיש כדי לנסות שוב."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"תהליך ההרשמה הסתיים. בתהליך התחברות…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"‏הרשת הזו מקבלת מזהה SIM שיכול לשמש למעקב אחר מיקום של מכשיר. "<annotation id="url">"למידע נוסף"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"איטית מאוד"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"איטית"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"בסדר"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"בינונית"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"מהירה"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"מהירה מאוד"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ja/arrays.xml b/libs/WifiTrackerLib/res/values-ja/arrays.xml
index ad5795741..7d9ba4366 100644
--- a/libs/WifiTrackerLib/res/values-ja/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-ja/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"スキャン中…"</item>
- <item msgid="6222852518007967736">"接続中…"</item>
- <item msgid="1176401854208153464">"認証中…"</item>
- <item msgid="1377026397901197257">"IP アドレスを取得中…"</item>
- <item msgid="7627139816052121509">"接続完了"</item>
- <item msgid="1598801023719359130">"停止中"</item>
- <item msgid="9160765456671002324">"切断中…"</item>
- <item msgid="8013176736494493734">"未接続"</item>
- <item msgid="4077393480368783785">"エラー"</item>
- <item msgid="605372180740008604">"ブロック中"</item>
- <item msgid="5102306451432929048">"接続不良により一時的に無効"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"スキャン中…"</item>
+ <item msgid="9055468790485684083">"接続中…"</item>
+ <item msgid="6099499723199990208">"認証中…"</item>
+ <item msgid="6794055951297347103">"IP アドレスを取得中…"</item>
+ <item msgid="5450920562291300229">"接続済み"</item>
+ <item msgid="6332116533879646145">"停止中"</item>
+ <item msgid="294459081501073818">"切断中…"</item>
+ <item msgid="1577368920272598676">"未接続"</item>
+ <item msgid="7655843177582495451">"エラー"</item>
+ <item msgid="8953752690917593623">"ブロック済み"</item>
+ <item msgid="4400457817750243671">"接続不良により一時的に無効"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ja/strings.xml b/libs/WifiTrackerLib/res/values-ja/strings.xml
index 37114e142..03b7d59c9 100644
--- a/libs/WifiTrackerLib/res/values-ja/strings.xml
+++ b/libs/WifiTrackerLib/res/values-ja/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"自動接続が OFF です"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g>により保存"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"自動的に接続されません"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"インターネット接続なし"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"認証エラー"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"パスワードを再確認してください"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP設定エラー"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"無効"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"アクセス ポイントが一時的にいっぱいです"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"未接続"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"保存済み"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"従量制"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"定額制"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> で接続しました"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g>で利用可能"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> で自動的に接続しました"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"ネットワーク評価プロバイダ経由で自動的に接続しています"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"接続が制限されています"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"プライベート DNS サーバーにアクセスできません"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"インターネットに接続されていません"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"自動接続が OFF です"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g>により保存"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"自動的に接続されません"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"インターネットに接続されていません"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"認証エラー"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"パスワードを再確認してください"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP 設定エラー"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"無効"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"アクセス ポイントが一時的にいっぱいです"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"ネットワークが一時的に不安定な状態です"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"電波が安定していません。ルーターに近づいてみてください。"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"ネットワーク容量の上限を超えています。しばらくしてからもう一度お試しください。"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"接続できません。しばらくしてからもう一度お試しください。"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"ネットワークがこのデバイスに対応していません"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"未接続"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"保存済み"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"従量制"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"定額制"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g>で接続しました"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g>で利用可能"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g>で自動的に接続しました"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"ネットワーク評価プロバイダ経由で自動的に接続しました"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"接続が制限されています"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"なし"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"期限切れ"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"タップして登録してください"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"タップして定期購入を更新し、接続してください"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> を開いています"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"接続できませんでした"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"登録を完了しています…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"登録を完了できませんでした。タップしてもう一度お試しください。"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"登録が完了しました。接続しています…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"このネットワークは一意の ID を受信します。この ID を使ってデバイスの位置情報が追跡される可能性があります。"<annotation id="url">"詳細"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"とても遅い"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"遅い"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"普通"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"速い"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"非常に速い"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"なし"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"期限切れ"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"タップして登録してください"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"タップして定期購入を更新し、接続してください"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> を開いています"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"接続エラー"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"登録を完了しています…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"登録を完了できませんでした。タップしてもう一度お試しください。"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"登録が完了しました。接続しています…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"このネットワークは SIM ID を受信します。この ID を使ってデバイスの位置情報が追跡される可能性があります。"<annotation id="url">"詳細"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"非常に遅い"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"遅い"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"普通"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"速い"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"非常に速い"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ka/arrays.xml b/libs/WifiTrackerLib/res/values-ka/arrays.xml
index 8012aa553..33a8991a1 100644
--- a/libs/WifiTrackerLib/res/values-ka/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-ka/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"მიმდინარეობს სკანირება…"</item>
- <item msgid="6222852518007967736">"მიმდინარეობს დაკავშირება…"</item>
- <item msgid="1176401854208153464">"ავთენტიკაცია…"</item>
- <item msgid="1377026397901197257">"მიმდინარეობს IP მისამართის მიღება…"</item>
- <item msgid="7627139816052121509">"დაკავშირებული"</item>
- <item msgid="1598801023719359130">"შეჩერებული"</item>
- <item msgid="9160765456671002324">"კავშირი წყდება…"</item>
- <item msgid="8013176736494493734">"კავშირი გაწყვეტილია"</item>
- <item msgid="4077393480368783785">"ვერ განხორციელდა"</item>
- <item msgid="605372180740008604">"დაბლოკილი"</item>
- <item msgid="5102306451432929048">"სუსტი კავშირის დროებით თავიდან აცილება"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"მიმდინარეობს სკანირება…"</item>
+ <item msgid="9055468790485684083">"მიმდინარეობს დაკავშირება…"</item>
+ <item msgid="6099499723199990208">"მიმდინარეობს ავთენტიკაცია…"</item>
+ <item msgid="6794055951297347103">"მიმდინარეობს IP მისამართის მიღება…"</item>
+ <item msgid="5450920562291300229">"დაკავშირებული"</item>
+ <item msgid="6332116533879646145">"შეჩერებული"</item>
+ <item msgid="294459081501073818">"კავშირი წყდება…"</item>
+ <item msgid="1577368920272598676">"კავშირი გაწყვეტილია"</item>
+ <item msgid="7655843177582495451">"ვერ განხორციელდა"</item>
+ <item msgid="8953752690917593623">"დაბლოკილი"</item>
+ <item msgid="4400457817750243671">"სუსტი კავშირის დროებით თავიდან აცილება"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ka/strings.xml b/libs/WifiTrackerLib/res/values-ka/strings.xml
index a4f8e5e97..52ff4d108 100644
--- a/libs/WifiTrackerLib/res/values-ka/strings.xml
+++ b/libs/WifiTrackerLib/res/values-ka/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"ავტოდაკავშირება გამორთულია"</string>
- <string name="saved_network" msgid="6241977554502802914">"შენახული <xliff:g id="NAME">%1$s</xliff:g>-ის მიერ"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"ავტომატურად დაკავშირება ვერ ხერხდება"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"ინტერნეტ-კავშირი არ არის"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"ავთენტიკაციის პრობლემა"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"გადაამოწმეთ პაროლი და ხელახლა ცადეთ"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP კონფიგურაციის შეფერხება"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"გამორთულია"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"წვდომის წერტილი დროებით გადატვირთულია"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"კავშირი გაწყვეტილია"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"დამახსოვრებულია"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"ლიმიტირებული"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"არალიმიტირებული"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"დაკავშირებულია <xliff:g id="NAME">%1$s</xliff:g>-ით"</string>
- <string name="available_via_app" msgid="9110324040292242769">"ხელმისაწვდომია <xliff:g id="NAME">%1$s</xliff:g>-ის მეშვეობით"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"ავტომატურად დაკავშირებულია <xliff:g id="NAME">%1$s</xliff:g>-ით"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"ავტომატურად დაკავშირდა ქსელის ხარისხის შეფასების პროვაიდერის მეშვეობით"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"შეზღუდული კავშირი"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"პირად DNS სერვერზე წვდომა შეუძლებელია"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"ინტერნეტ-კავშირი არ არის"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"ავტოდაკავშირება გამორთულია"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"შენახული <xliff:g id="NAME">%1$s</xliff:g>-ის მიერ"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"ავტომატურად დაკავშირება ვერ ხერხდება"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"ინტერნეტ-კავშირი არ არის"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"ავთენტიკაციის პრობლემა"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"გადაამოწმეთ პაროლი და ხელახლა ცადეთ"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP კონფიგურაციის შეფერხება"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"გათიშული"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"წვდომის წერტილი დროებით გადატვირთულია"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"ქსელის სუსტი კავშირის დროებითი მდგომარეობა"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"სიგნალი სუსტია. ცადეთ როუტერთან მიახლოება."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"ქსელი გადატვირთულია. ცადეთ მოგვიანებით."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"დაკავშირება შეუძლებელია. ცადეთ მოგვიანებით."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"ქსელი არათავსებადია ამ მოწყობილობასთან"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"კავშირი გაწყვეტილია"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"შენახული"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"ლიმიტირებული"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"არალიმიტირებული"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"დაკავშირებულია <xliff:g id="NAME">%1$s</xliff:g>-ით"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"ხელმისაწვდომია <xliff:g id="NAME">%1$s</xliff:g>-ით"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"ავტომატურად დაკავშირებულია <xliff:g id="NAME">%1$s</xliff:g>-ით"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"ავტომატურად დაკავშირდა ქსელის ხარისხის შეფასების პროვაიდერის მეშვეობით"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"შეზღუდული კავშირი"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"არცერთი"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"ვადაგასულია"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"შეეხეთ რეგისტრაციისთვის"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"შეეხეთ, რათა გაანაახლოთ გამოწერა და დაუკავშირდეთ"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"მიმდინარეობს <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>-ის გახსნა"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"დაკავშირება ვერ მოხერხდა"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"მიმდინარეობს რეგისტრაციის დასრულება…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"რეგისტრაციის დასრულება ვერ მოხერხდა. შეეხეთ ხელახლა საცდელად."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"რეგისტრაცია დასრულდა. მიმდინარეობს დაკავშირება…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"ეს ქსელი მიიღებს უნიკალურ ID-ს, რომლის მეშვეობითაც შესაძლებელია მოწყობილობის მდებარეობაზე თვალის დევნება. "<annotation id="url">"შეიტყვეთ მეტი"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"ძალიან ნელი"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"ნელი"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"კარგი"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"საშუალო"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"სწრაფი"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"ძალიან სწრაფი"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"არცერთი"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"ვადაგასული"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"შეეხეთ რეგისტრაციისთვის"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"შეეხეთ გამოწერის გასაახლებლად და დასაკავშირებლად"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"მიმდინარეობს <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>-ის გახსნა"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"დაკავშირება ვერ მოხერხდა"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"მიმდინარეობს რეგისტრაციის დასრულება…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"რეგისტრაციის დასრულება ვერ მოხერხდა. შეეხეთ ხელახლა საცდელად."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"რეგისტრაცია დასრულდა. მიმდინარეობს დაკავშირება…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"ეს ქსელი მიიღებს SIM-ის ID-ს, რომლის მეშვეობითაც შესაძლებელია მოწყობილობის მდებარეობაზე თვალის დევნება. "<annotation id="url">"შეიტყვეთ მეტი"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"ძალიან ნელი"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"ნელი"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"კარგი"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"საშუალო"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"სწრაფი"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"ძალიან სწრაფი"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi დროებით ინტერნეტს ავტომატურად არ დაუკავშირდება"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-kk/arrays.xml b/libs/WifiTrackerLib/res/values-kk/arrays.xml
index fcbab3c79..475f9253b 100644
--- a/libs/WifiTrackerLib/res/values-kk/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-kk/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Іздеуде…"</item>
- <item msgid="6222852518007967736">"Қосылуда…"</item>
- <item msgid="1176401854208153464">"Аутентификациялауда…"</item>
- <item msgid="1377026397901197257">"IP мекенжайы алынуда…"</item>
- <item msgid="7627139816052121509">"Жалғанды"</item>
- <item msgid="1598801023719359130">"Уақытша ажыратылды"</item>
- <item msgid="9160765456671002324">"Ажыратылуда…"</item>
- <item msgid="8013176736494493734">"Ажыратылған"</item>
- <item msgid="4077393480368783785">"Сәтсіз"</item>
- <item msgid="605372180740008604">"Бөгелді"</item>
- <item msgid="5102306451432929048">"Нашар байланыс болғандықтан уақытша ажыратылды"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Іздеуде…"</item>
+ <item msgid="9055468790485684083">"Қосылып жатыр…"</item>
+ <item msgid="6099499723199990208">"Растауда…"</item>
+ <item msgid="6794055951297347103">"IP мекенжайы алынуда…"</item>
+ <item msgid="5450920562291300229">"Жалғанды"</item>
+ <item msgid="6332116533879646145">"Уақытша ажыратылды"</item>
+ <item msgid="294459081501073818">"Ажыратылуда…"</item>
+ <item msgid="1577368920272598676">"Ажыратылды"</item>
+ <item msgid="7655843177582495451">"Сәтсіз"</item>
+ <item msgid="8953752690917593623">"Бөгелді"</item>
+ <item msgid="4400457817750243671">"Нашар байланыс уақытша тоқтатылды."</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-kk/strings.xml b/libs/WifiTrackerLib/res/values-kk/strings.xml
index a26a896df..78511aed7 100644
--- a/libs/WifiTrackerLib/res/values-kk/strings.xml
+++ b/libs/WifiTrackerLib/res/values-kk/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Автоматты жалғау өшірулі"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> сақтаған"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Автоматты байланыстырылмайды."</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Интернетпен байланыс жоқ"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Аутентификация қатесі"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Құпия сөзді тексеріп, әрекетті қайталаңыз"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP конфигурациясының қатесі"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Өшірілген"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Кіру нүктесі уақытша бос емес"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Ажыратылған"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Сақталды"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Трафик саналатын желі"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Трафик саналмайды"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> арқылы жалғанған"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> арқылы қолжетімді"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> арқылы автоматты байланыстырылды."</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Желіні бағалау провайдері арқылы автоматты түрде қосылған"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Шектеулі байланыс"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Жеке DNS серверіне кіру мүмкін емес."</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Интернетпен байланыс жоқ"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Автоматты жалғау өшірулі"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> сақтаған"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Автоматты байланыстырылмайды."</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Интернетпен байланыс жоқ"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Аутентификация қатесі"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Құпия сөзді тексеріп, әрекетті қайталаңыз."</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP конфигурациясының қатесі"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Өшірулі"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Кіру нүктесі уақытша бос емес."</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Желі байланысы уақытша нашар."</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Сигнал әлсіз. Құрылғыны маршрутизаторға жақындатып көріңіз."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Желінің өткізу қабілеті шектен асып кетті. Кейінірек қайталап көріңіз."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Қосылу мүмкін емес. Кейінірек қайталап көріңіз."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Желі бұл құрылғымен үйлесімді емес."</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Ажыратылды"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Сақталған"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Трафик саналатын желі"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Трафик саналмайды"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> арқылы жалғанған"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> арқылы қолжетімді"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> арқылы автоматты байланыстырылды."</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Желі рейтингі провайдері арқылы автоматты түрде қосылған"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Шектеулі байланыс"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"Жоқ"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Мерзімі өтті"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Тіркелу үшін түртіңіз."</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Жазылымды қайта жаңартып, қосылу үшін түртіңіз."</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ашылуда."</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Байланыстырылмады."</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Тіркелу аяқталуда…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Тіркелу аяқталмады. Әрекетті қайталау үшін түртіңіз."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Тіркелу аяқталды. Байланыс орнатылуда…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Бұл желіге бірегей идентификатор беріледі, оның көмегімен құрылғының орналасқан жері қадағаланады. "<annotation id="url">"Толығырақ"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Өте баяу"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Баяу"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Жарайды"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Орташа"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Жылдам"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Өте жылдам"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Жоқ"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Мерзімі өтіп кетті."</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Тіркелу үшін түртіңіз."</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Жазылымды қайта жаңартып, қосылу үшін түртіңіз."</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ашылуда"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Қосылмады"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Тіркелу аяқталуда…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Тіркелу аяқталмады. Әрекетті қайталау үшін түртіңіз."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Тіркелу аяқталды. Байланыс орнатылуда…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Бұл желіге SIM идентификаторы беріледі, оның көмегімен құрылғының орналасқан жері қадағаланады. "<annotation id="url">"Толығырақ"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Өте баяу"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Баяу"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Иә"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Орташа"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Жылдам"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Өте жылдам"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-km/arrays.xml b/libs/WifiTrackerLib/res/values-km/arrays.xml
index b26498cba..5aff06f59 100644
--- a/libs/WifiTrackerLib/res/values-km/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-km/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"កំពុងស្កេន…"</item>
- <item msgid="6222852518007967736">"កំពុងភ្ជាប់…"</item>
- <item msgid="1176401854208153464">"កំពុង​ផ្ទៀងផ្ទាត់…"</item>
- <item msgid="1377026397901197257">"កំពុង​ទទួល​អាសយដ្ឋាន IP…"</item>
- <item msgid="7627139816052121509">"បានភ្ជាប់"</item>
- <item msgid="1598801023719359130">"បាន​ផ្អាក"</item>
- <item msgid="9160765456671002324">"កំពុង​ផ្ដាច់…"</item>
- <item msgid="8013176736494493734">"បាន​ផ្ដាច់"</item>
- <item msgid="4077393480368783785">"មិន​ជោគជ័យ"</item>
- <item msgid="605372180740008604">"បាន​ទប់ស្កាត់"</item>
- <item msgid="5102306451432929048">"ជៀសវាង​ការ​តភ្ជាប់​​ខ្សោយ​ជា​បណ្ដោះអាសន្ន"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"កំពុងស្កេន…"</item>
+ <item msgid="9055468790485684083">"កំពុងភ្ជាប់…"</item>
+ <item msgid="6099499723199990208">"កំពុង​ផ្ទៀងផ្ទាត់…"</item>
+ <item msgid="6794055951297347103">"កំពុង​ទទួល​អាសយដ្ឋាន IP…"</item>
+ <item msgid="5450920562291300229">"បានភ្ជាប់"</item>
+ <item msgid="6332116533879646145">"បាន​ផ្អាក"</item>
+ <item msgid="294459081501073818">"កំពុង​ផ្ដាច់…"</item>
+ <item msgid="1577368920272598676">"បាន​ផ្ដាច់"</item>
+ <item msgid="7655843177582495451">"មិន​ជោគជ័យ"</item>
+ <item msgid="8953752690917593623">"បាន​ទប់ស្កាត់"</item>
+ <item msgid="4400457817750243671">"កំពុង​ជៀសវាង​ការតភ្ជាប់​ខ្សោយ​ជា​បណ្ដោះអាសន្ន"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-km/strings.xml b/libs/WifiTrackerLib/res/values-km/strings.xml
index e7466ea54..0e815e7a2 100644
--- a/libs/WifiTrackerLib/res/values-km/strings.xml
+++ b/libs/WifiTrackerLib/res/values-km/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"ការភ្ជាប់​ដោយស្វ័យប្រវត្តិ​ត្រូវបានបិទ"</string>
- <string name="saved_network" msgid="6241977554502802914">"បានរក្សាទុកដោយ <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"នឹងមិនភ្ជាប់ដោយស្វ័យប្រវត្តិទេ"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"មិនមាន​ការតភ្ជាប់​អ៊ីនធឺណិតទេ"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"បញ្ហា​ក្នុងការ​ផ្ទៀងផ្ទាត់"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"សូមពិនិត្យមើលពាក្យសម្ងាត់ រួចព្យាយាមម្ដងទៀត"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"ការ​កំណត់​រចនាសម្ព័ន្ធ IP បរាជ័យ"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"បាន​បិទ"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"ចំណុចចូលប្រើពេញជាបណ្តោះអាសន្ន"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"បាន​ផ្ដាច់"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"បាន​រក្សាទុក"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"មានការកំណត់"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"មិនមានការកំណត់"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"ភ្ជាប់​តាម <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"អាចប្រើបាន​តាមរយៈ <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"បានភ្ជាប់ដោយស្វ័យប្រវត្តិតាមរយៈ <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"បានភ្ជាប់​ដោយស្វ័យប្រវត្តិ​តាម​រយៈក្រុមហ៊ុនផ្តល់​ការ​វាយ​តម្លៃលើ​បណ្តាញ"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"ការតភ្ជាប់មានកម្រិត"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"មិនអាច​ចូលប្រើ​ម៉ាស៊ីនមេ DNS ឯកជន​បានទេ"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"គ្មាន​អ៊ីនធឺណិតទេ"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"ការភ្ជាប់​ដោយស្វ័យប្រវត្តិ​ត្រូវបានបិទ"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"បានរក្សាទុកដោយ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"នឹងមិនភ្ជាប់ដោយស្វ័យប្រវត្តិទេ"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"មិនមាន​ការតភ្ជាប់​អ៊ីនធឺណិតទេ"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"បញ្ហា​ការ​ផ្ទៀងផ្ទាត់"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"សូមពិនិត្យមើលពាក្យសម្ងាត់ រួចព្យាយាមម្ដងទៀត"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"ការ​កំណត់​រចនាសម្ព័ន្ធ IP មិនបានសម្រេច"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"បានបិទ"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"ដុំភ្ជាប់បណ្ដាញ​ឥតខ្សែពេញ​ជាបណ្តោះអាសន្ន"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"ស្ថានភាព​បណ្ដាញ​ខ្សោយ​ជាបណ្ដោះអាសន្ន"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"រលកសញ្ញាខ្សោយ។ សូមសាកល្បងខិតឱ្យកាន់តែជិតរ៉ោទ័រ។"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"បណ្ដាលកំពុងដំណើរការហួសសមត្ថភាព។ សូមព្យាយាម​ម្តងទៀត​នៅពេលក្រោយ។"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"មិនអាច​ភ្ជាប់​បានទេ។ សូមព្យាយាម​ម្តងទៀត​នៅពេលក្រោយ។"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"បណ្ដាញមិនត្រូវគ្នាជាមួយឧបករណ៍នេះទេ"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"បាន​ផ្ដាច់"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"បាន​រក្សាទុក"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"ផ្អែកតាម​ទិន្នន័យ​ដែលប្រើ"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"មិនផ្អែកតាម​ទិន្នន័យ​ដែលប្រើ"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"បានភ្ជាប់​តាមរយៈ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"អាចប្រើបាន​តាមរយៈ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"បានភ្ជាប់ដោយស្វ័យប្រវត្តិតាមរយៈ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"បានភ្ជាប់​ដោយស្វ័យប្រវត្តិ​តាម​រយៈក្រុមហ៊ុនផ្តល់​ការ​វាយ​តម្លៃលើ​បណ្តាញ"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"ការតភ្ជាប់មានកម្រិត"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"គ្មាន"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"បានផុតកំណត់"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"ចុច​ដើម្បី​ចុះឈ្មោះ"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"ចុច ដើម្បី​បន្តការ​ជាវជាថ្មី និង​ភ្ជាប់"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"កំពុង​បើក <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"មិន​អាចភ្ជាប់​បានទេ"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"កំពុង​បញ្ចប់​ការចុះឈ្មោះ…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"មិនអាច​បញ្ចប់​ការចុះឈ្មោះ​បានទេ។ សូមចុច ដើម្បី​ព្យាយាម​ម្ដង​ទៀត។"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"ការចុះ​ឈ្មោះ​បានបញ្ចប់។ កំពុងភ្ជាប់…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"បណ្ដាញនេះទទួលលេខសម្គាល់ពិសេស ដែលអាចប្រើ​សម្រាប់​តាមដាន​ទីតាំងឧបករណ៍។ "<annotation id="url">"ស្វែងយល់បន្ថែម"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"យឺតណាស់"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"យឺត"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"យល់ព្រម"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"មធ្យម"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"លឿន"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"លឿន​ខ្លាំង"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"គ្មាន"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"បាន​ផុត​កំណត់"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"ចុច​ដើម្បី​ចុះឈ្មោះ"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"ចុច ដើម្បី​បន្តការ​ជាវជាថ្មី និង​ភ្ជាប់"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"កំពុង​បើក <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"មិន​អាចភ្ជាប់​បានទេ"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"កំពុង​បញ្ចប់​ការចុះឈ្មោះ…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"មិនអាច​បញ្ចប់​ការចុះឈ្មោះ​បានទេ។ សូមចុច ដើម្បី​ព្យាយាម​ម្ដង​ទៀត។"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"ការចុះ​ឈ្មោះ​បានបញ្ចប់។ កំពុងភ្ជាប់…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"បណ្ដាញ​នេះ​ទទួលបាន​លេខសម្គាល់ស៊ីម ដែល​អាចប្រើ​ដើម្បី​តាមដាន​ទីតាំង​ឧបករណ៍។ "<annotation id="url">"ស្វែងយល់បន្ថែម"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"យឺតណាស់"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"យឺត"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"យល់ព្រម"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"មធ្យម"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"លឿន"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"លឿន​ណាស់"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-kn/arrays.xml b/libs/WifiTrackerLib/res/values-kn/arrays.xml
index d738de992..f6ce05fe9 100644
--- a/libs/WifiTrackerLib/res/values-kn/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-kn/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</item>
- <item msgid="6222852518007967736">"ಕನೆಕ್ಟ್ ಆಗುತ್ತಿದೆ…"</item>
- <item msgid="1176401854208153464">"ಪ್ರಮಾಣೀಕರಿಸಲಾಗುತ್ತಿದೆ..."</item>
- <item msgid="1377026397901197257">"IP ವಿಳಾಸವನ್ನು ಪಡೆಯಲಾಗುತ್ತಿದೆ…"</item>
- <item msgid="7627139816052121509">"ಕನೆಕ್ಟ್ ಆಗಿದೆ"</item>
- <item msgid="1598801023719359130">"ತಡೆಹಿಡಿಯಲಾಗಿದೆ"</item>
- <item msgid="9160765456671002324">"ಡಿಸ್‌ಕನೆಕ್ಟ್ ಆಗುತ್ತಿದೆ…"</item>
- <item msgid="8013176736494493734">"ಡಿಸ್‌ಕನೆಕ್ಟ್ ಆಗಿದೆ"</item>
- <item msgid="4077393480368783785">"ವಿಫಲಗೊಂಡಿದೆ"</item>
- <item msgid="605372180740008604">"ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ"</item>
- <item msgid="5102306451432929048">"ಕಳಪೆ ಗುಣಮಟ್ಟದ ಕನೆಕ್ಷನ್ ತಾತ್ಕಾಲಿಕವಾಗಿ ತಡೆಗಟ್ಟಲಾಗುತ್ತಿದೆ"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</item>
+ <item msgid="9055468790485684083">"ಕನೆಕ್ಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</item>
+ <item msgid="6099499723199990208">"ದೃಢೀಕರಿಸಲಾಗುತ್ತಿದೆ…"</item>
+ <item msgid="6794055951297347103">"IP ವಿಳಾಸವನ್ನು ಪಡೆಯಲಾಗುತ್ತಿದೆ…"</item>
+ <item msgid="5450920562291300229">"ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ"</item>
+ <item msgid="6332116533879646145">"ಅಮಾನತುಗೊಳಿಸಲಾಗಿದೆ"</item>
+ <item msgid="294459081501073818">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗುತ್ತಿದೆ…"</item>
+ <item msgid="1577368920272598676">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗಿದೆ"</item>
+ <item msgid="7655843177582495451">"ವಿಫಲವಾಗಿದೆ"</item>
+ <item msgid="8953752690917593623">"ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ"</item>
+ <item msgid="4400457817750243671">"ಕಳಪೆ ಗುಣಮಟ್ಟದ ಕನೆಕ್ಷನ್ ಅನ್ನು ತಾತ್ಕಾಲಿಕವಾಗಿ ತಡೆಗಟ್ಟಲಾಗುತ್ತಿದೆ"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-kn/strings.xml b/libs/WifiTrackerLib/res/values-kn/strings.xml
index 558892b65..1a77c6cb1 100644
--- a/libs/WifiTrackerLib/res/values-kn/strings.xml
+++ b/libs/WifiTrackerLib/res/values-kn/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"ಸ್ವಯಂ ಕನೆಕ್ಟ್ ಆಫ್ ಆಗಿದೆ"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> ನಿಂದ ಉಳಿಸಲಾಗಿದೆ"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕನೆಕ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"ಯಾವುದೇ ಇಂಟರ್ನೆಟ್ ಪ್ರವೇಶವಿಲ್ಲ"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"ಪ್ರಮಾಣೀಕರಣ ಸಮಸ್ಯೆ"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP ಕಾನ್ಫಿಗರೇಶನ್ ವಿಫಲತೆ"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"ಪ್ರವೇಶ ಕೇಂದ್ರ ತಾತ್ಕಾಲಿಕವಾಗಿ ಭರ್ತಿಯಾಗಿದೆ"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗಿದೆ"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"ಉಳಿಸಲಾಗಿದೆ"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"ಮೀಟರ್ ಮಾಡಲಾಗಿದೆ"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"ಮೀಟರ್ ಮಾಡಲಾಗಿಲ್ಲ"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> ಆ್ಯಪ್ ಮೂಲಕ ಸಂಪರ್ಕಿಸಲಾಗಿದೆ"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> ಮೂಲಕ ಲಭ್ಯವಿದೆ"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> ಮೂಲಕ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"ನೆಟ್‌ವರ್ಕ್ ರೇಟಿಂಗ್ ಒದಗಿಸುವವರ ಮೂಲಕ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಂಪರ್ಕಿಸಲಾಗಿದೆ"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"ಸೀಮಿತ ಸಂಪರ್ಕ"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"ಖಾಸಗಿ DNS ಸರ್ವರ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"ಇಂಟರ್ನೆಟ್ ಇಲ್ಲ"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"ಸ್ವಯಂ ಕನೆಕ್ಟ್ ಆಫ್ ಆಗಿದೆ"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> ನಿಂದ ಉಳಿಸಲಾಗಿದೆ"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕನೆಕ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"ಯಾವುದೇ ಇಂಟರ್ನೆಟ್ ಪ್ರವೇಶವಿಲ್ಲ"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"ದೃಢೀಕರಣದ ಸಮಸ್ಯೆ"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP ಕಾನ್ಫಿಗರೇಶನ್ ವೈಫಲ್ಯ"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"ಪ್ರವೇಶ ಕೇಂದ್ರ ತಾತ್ಕಾಲಿಕವಾಗಿ ಭರ್ತಿಯಾಗಿದೆ"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"ತಾತ್ಕಾಲಿಕ ಕಳಪೆ ನೆಟ್‌ವರ್ಕ್ ಸ್ಥಿತಿಗಳು"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"ದುರ್ಬಲ ಸಿಗ್ನಲ್. ರೂಟರ್‌ನ ಹತ್ತಿರ ಹೋಗಿ ಕನೆಕ್ಟ್ ಮಾಡಿ ನೋಡಿ."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"ನೆಟ್‌ವರ್ಕ್ ಸಾಮರ್ಥ್ಯದ ಮಿತಿ ಮೀರಿದೆ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"ಈ ಸಾಧನದ ಜೊತೆ ನೆಟ್‌ವರ್ಕ್ ಹೊಂದಾಣಿಕೆಯಾಗುವುದಿಲ್ಲ"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗಿದೆ"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"ಉಳಿಸಲಾಗಿದೆ"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"ಮೀಟರ್ ಮಾಡಲಾಗಿದೆ"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"ಮೀಟರ್ ಮಾಡಲಾಗಿಲ್ಲ"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> ಆ್ಯಪ್ ಮೂಲಕ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> ಮೂಲಕ ಲಭ್ಯವಿದೆ"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> ಮೂಲಕ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"ನೆಟ್‌ವರ್ಕ್ ರೇಟಿಂಗ್ ಒದಗಿಸುವವರ ಮೂಲಕ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"ಸೀಮಿತ ಸಂಪರ್ಕ"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"ಯಾವುದೂ ಇಲ್ಲ"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"ಅವಧಿ ಮುಕ್ತಾಯವಾಗಿದೆ"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"ಸೈನ್ ಅಪ್ ಮಾಡಲು ಟ್ಯಾಪ್‌ ಮಾಡಿ"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"ಸಬ್‌ಸ್ಕ್ರಿಪ್ಶನ್ ನವೀಕರಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಸಂಪರ್ಕಿಸಿ"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ಅನ್ನು ತೆರೆಯಲಾಗುತ್ತಿದೆ"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"ಕನೆಕ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"ಸೈನ್-ಅಪ್ ಪೂರ್ಣಗೊಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"ಸೈನ್-ಅಪ್ ಪೂರ್ಣಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"ಸೈನ್-ಅಪ್ ಪೂರ್ಣಗೊಂಡಿದೆ. ಕನೆಕ್ಟ್ ಆಗುತ್ತಿದೆ…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"ಸಾಧನದ ಸ್ಥಳವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಬಳಸಬಹುದಾದ ಅನನ್ಯ ಐಡಿಯನ್ನು ಈ ನೆಟ್‌ವರ್ಕ್ ಸ್ವೀಕರಿಸುತ್ತದೆ. "<annotation id="url">"ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"ತುಂಬಾ ನಿಧಾನವಾಗಿದೆ"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"ನಿಧಾನ"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ಸರಿ"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"ಮಧ್ಯಮ"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"ವೇಗ"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"ತುಂಬಾ ವೇಗವಾಗಿದೆ"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"ಯಾವುದೂ ಇಲ್ಲ"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"ಅವಧಿ ಮುಕ್ತಾಯವಾಗಿದೆ"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"ಸೈನ್ ಅಪ್ ಮಾಡಲು ಟ್ಯಾಪ್‌ ಮಾಡಿ"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"ಸಬ್‌ಸ್ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ನವೀಕರಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಕನೆಕ್ಟ್ ಮಾಡಿ"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ಅನ್ನು ತೆರೆಯಲಾಗುತ್ತಿದೆ"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"ಕನೆಕ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"ಸೈನ್-ಅಪ್ ಪೂರ್ಣಗೊಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"ಸೈನ್-ಅಪ್ ಪೂರ್ಣಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ಪುನಃ ಪ್ರಯತ್ನಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"ಸೈನ್-ಅಪ್ ಪೂರ್ಣಗೊಂಡಿದೆ. ಕನೆಕ್ಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"ಸಾಧನದ ಸ್ಥಳವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಬಳಸಬಹುದಾದ SIM ಐಡಿಯನ್ನು ಈ ನೆಟ್‌ವರ್ಕ್ ಸ್ವೀಕರಿಸುತ್ತದೆ. "<annotation id="url">"ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"ಬಹಳ ನಿಧಾನವಾಗಿದೆ"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"ನಿಧಾನ"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ಸರಿ"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"ಮಧ್ಯಮ"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"ವೇಗ"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"ಬಹಳ ವೇಗವಾಗಿದೆ"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ko/arrays.xml b/libs/WifiTrackerLib/res/values-ko/arrays.xml
index 3ae58c25d..b6d88f664 100644
--- a/libs/WifiTrackerLib/res/values-ko/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-ko/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"검색 중…"</item>
- <item msgid="6222852518007967736">"연결 중…"</item>
- <item msgid="1176401854208153464">"인증하는 중…"</item>
- <item msgid="1377026397901197257">"IP 주소를 가져오는 중…"</item>
- <item msgid="7627139816052121509">"연결됨"</item>
- <item msgid="1598801023719359130">"정지됨"</item>
- <item msgid="9160765456671002324">"연결 해제 중…"</item>
- <item msgid="8013176736494493734">"연결 해제됨"</item>
- <item msgid="4077393480368783785">"실패"</item>
- <item msgid="605372180740008604">"차단됨"</item>
- <item msgid="5102306451432929048">"신호가 약한 네트워크에 일시적으로 연결하지 않음"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"검색 중…"</item>
+ <item msgid="9055468790485684083">"연결 중…"</item>
+ <item msgid="6099499723199990208">"인증 중…"</item>
+ <item msgid="6794055951297347103">"IP 주소를 가져오는 중…"</item>
+ <item msgid="5450920562291300229">"연결됨"</item>
+ <item msgid="6332116533879646145">"정지됨"</item>
+ <item msgid="294459081501073818">"연결 해제 중…"</item>
+ <item msgid="1577368920272598676">"연결 해제됨"</item>
+ <item msgid="7655843177582495451">"실패"</item>
+ <item msgid="8953752690917593623">"차단됨"</item>
+ <item msgid="4400457817750243671">"신호가 약한 네트워크에 일시적으로 연결하지 않음"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ko/strings.xml b/libs/WifiTrackerLib/res/values-ko/strings.xml
index 6e32a8ee9..ad334bf70 100644
--- a/libs/WifiTrackerLib/res/values-ko/strings.xml
+++ b/libs/WifiTrackerLib/res/values-ko/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"자동 연결 꺼짐"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g>(으)로 저장됨"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"자동으로 연결되지 않음"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"인터넷에 연결되어 있지 않음"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"인증 문제"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"비밀번호를 확인하고 다시 시도하세요."</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP 설정 실패"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"사용 중지됨"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"액세스 포인트가 일시적으로 가득 참"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"연결 끊김"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"저장됨"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"종량제 네트워크"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"무제한 네트워크"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g>을(를) 통해 연결됨"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g>을(를) 통해 사용 가능"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g>을(를) 통해 자동으로 연결됨"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"네트워크 평가 제공업체를 통해 자동으로 연결됨"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"제한된 연결"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"비공개 DNS 서버에 액세스할 수 없습니다."</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"인터넷 연결 없음"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"자동 연결 꺼짐"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> 앱으로 저장됨"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"자동으로 연결되지 않음"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"인터넷에 연결되어 있지 않음"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"인증 문제"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"비밀번호를 확인하고 다시 시도하세요."</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP 구성 실패"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"사용 안함"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"액세스 포인트가 일시적으로 가득 참"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"네트워크 연결이 일시적으로 불안정함"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"신호가 약합니다. 라우터 가까이 이동해 보세요."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"네트워크 용량을 초과했습니다. 나중에 다시 시도해 주세요."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"연결할 수 없습니다. 나중에 다시 시도해 주세요."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"네트워크가 이 기기와 호환되지 않습니다."</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"연결 해제됨"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"저장됨"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"종량제"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"무제한"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> 앱을 통해 연결됨"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> 앱을 통해 사용 가능"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> 앱을 통해 자동으로 연결됨"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"네트워크 평가 제공업체를 통해 자동으로 연결됨"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"제한된 연결"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"없음"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"만료됨"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"가입하려면 탭하세요."</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"가입을 갱신하고 연결하려면 탭하세요."</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> 여는 중"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"연결할 수 없습니다."</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"가입 완료 중…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"가입을 완료할 수 없습니다. 다시 시도하려면 탭하세요."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"가입이 완료되었습니다. 연결 중…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"이 네트워크는 기기 위치 추적에 사용될 수 있는 고유 ID를 수신합니다. "<annotation id="url">"자세히 알아보기"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"매우 느림"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"느림"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"보통"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"보통"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"빠름"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"매우 빠름"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"없음"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"만료됨"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"탭하여 가입"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"탭하여 가입 갱신 및 연결"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> 여는 중"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"연결할 수 없음"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"가입 완료 중…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"가입을 완료할 수 없음. 탭하여 다시 시도"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"가입 완료. 연결 중…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"이 네트워크는 기기 위치 추적에 사용될 수 있는 SIM ID를 수신합니다. "<annotation id="url">"자세히 알아보기"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"매우 느림"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"느림"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"양호"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"보통"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"빠름"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"매우 빠름"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ky/arrays.xml b/libs/WifiTrackerLib/res/values-ky/arrays.xml
index 00ab8f678..186aee41d 100644
--- a/libs/WifiTrackerLib/res/values-ky/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-ky/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Изделүүдө…"</item>
- <item msgid="6222852518007967736">"Туташууда…"</item>
- <item msgid="1176401854208153464">"Аныктыгы текшерилүүдө…"</item>
- <item msgid="1377026397901197257">"IP дареги алынууда…"</item>
- <item msgid="7627139816052121509">"Туташып турат"</item>
- <item msgid="1598801023719359130">"Убактылуу токтотулду"</item>
- <item msgid="9160765456671002324">"Ажыратылууда…"</item>
- <item msgid="8013176736494493734">"Ажыратылды"</item>
- <item msgid="4077393480368783785">"Ката"</item>
- <item msgid="605372180740008604">"Бөгөттөлдү"</item>
- <item msgid="5102306451432929048">"Байланыш начар болгондуктан өчүрүлдү"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Изделүүдө…"</item>
+ <item msgid="9055468790485684083">"Туташууда…"</item>
+ <item msgid="6099499723199990208">"Аутентификациядан өтүүдө…"</item>
+ <item msgid="6794055951297347103">"IP дареги алынууда…"</item>
+ <item msgid="5450920562291300229">"Туташып турат"</item>
+ <item msgid="6332116533879646145">"Убактылуу токтотулду"</item>
+ <item msgid="294459081501073818">"Ажыратылууда…"</item>
+ <item msgid="1577368920272598676">"Ажыратылды"</item>
+ <item msgid="7655843177582495451">"Ката"</item>
+ <item msgid="8953752690917593623">"Бөгөттөлдү"</item>
+ <item msgid="4400457817750243671">"Байланыш начар болгондуктан өчүрүлдү"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ky/strings.xml b/libs/WifiTrackerLib/res/values-ky/strings.xml
index d9c7a9f43..f9cc10774 100644
--- a/libs/WifiTrackerLib/res/values-ky/strings.xml
+++ b/libs/WifiTrackerLib/res/values-ky/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Автоматтык түрдө туташуу өчүк"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> тарабынан сакталды"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Автоматтык түрдө туташпайт"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Интернетке туташпай турат"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Аутентификация маселеси бар"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Сырсөздү текшерип, кайталап көрүңүз."</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP конфигурациясы бузулду"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Өчүрүлгөн"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Байланыш түйүнүнө өтө көп түзмөк туташып турат"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Ажыратылды"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Сакталды"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Трафик ченелет"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Чектелбеген тармак"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> аркылуу туташты"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> аркылуу жеткиликтүү"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> аркылуу автоматтык түрдө туташты"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Тармактар рейтингинин булагы аркылуу автоматтык түрдө туташты"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Байланыш чектелген"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Жеке DNS сервери жеткиликсиз"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Интернет жок"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Автоматтык түрдө туташуу өчүк"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> боюнча сакталган"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Автоматтык түрдө туташпайт"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Интернетке туташпай турат"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Аутентификация маселеси бар"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Сырсөздү текшерип, кайталап көрүңүз"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP конфигурациясы бузулду"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Өчүк"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Байланыш түйүнүнө өтө көп түзмөк туташып турат"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Тармак убактылуу начар иштеп жатат"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Начар сигнал. Роутерге жакын жылып көрүңүз."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Тармакка өтө көп түзмөк туташып турат. Кайталаңыз."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Туташпай жатат. Кайталаңыз."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Тармак бул түзмөк менен шайкеш келбейт"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Ажыратылды"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Сакталды"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Трафик ченелет"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Чектелбеген тармак"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> аркылуу туташты"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> аркылуу жеткиликтүү"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> аркылуу автоматтык түрдө туташты"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Тармактар рейтингинин булагы аркылуу автоматтык түрдө туташты"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Байланыш чектелген"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"Жок"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Эскирип калган"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Катталуу үчүн таптап коюңуз"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Жазылууну жаңыртып, туташуу үчүн таптап коюңуз"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ачылууда"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Туташпай койду"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Катталуу аяктоодо…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Катталуу аягына чыккан жок. Кайра аракет кылуу үчүн таптап коюңуз."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Катталуу аягына чыкты. Туташууда…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Бул тармакка өзгөчө идентификатор берилет жана аны түзмөктүн жайгашкан жерин көзөмөлдөп туруу үчүн колдонууга болот. "<annotation id="url">"Кеңири маалымат"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Өтө жай"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Жай"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Жарайт"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Орто"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Ылдам"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Абдан ылдам"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Жок"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Мөөнөтү бүткөн"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Катталуу үчүн таптап коюңуз"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Жазылууну жаңыртып, туташуу үчүн таптап коюңуз"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ачылууда"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Туташпай койду"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Катталуу аяктоодо…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Катталуу аягына чыккан жок. Кайра аракет кылуу үчүн таптап коюңуз."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Катталуу аягына чыкты. Туташууда…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Бул тармакка SIM-картанын идентификатору берилет жана аны түзмөктүн жайгашкан жерин көзөмөлдөп туруу үчүн колдонууга болот. "<annotation id="url">"Кеңири маалымат"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Өтө жай"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Жай"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Дурус"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Орто"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Ылдам"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Абдан ылдам"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-lo/arrays.xml b/libs/WifiTrackerLib/res/values-lo/arrays.xml
index 61588c23c..6216bb5cf 100644
--- a/libs/WifiTrackerLib/res/values-lo/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-lo/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"ກຳລັງສະແກນ…"</item>
- <item msgid="6222852518007967736">"ກຳລັງເຊື່ອມຕໍ່…"</item>
- <item msgid="1176401854208153464">"ກຳລັງກວດຮັບຮອງຄວາມຖືກຕ້ອງ…"</item>
- <item msgid="1377026397901197257">"ກຳລັງຂໍທີ່ຢູ່ IP…"</item>
- <item msgid="7627139816052121509">"ເຊື່ອມຕໍ່ແລ້ວ"</item>
- <item msgid="1598801023719359130">"ຖືກລະງັບໄວ້"</item>
- <item msgid="9160765456671002324">"ກຳລັງຕັດການເຊື່ອມຕໍ່…"</item>
- <item msgid="8013176736494493734">"ຕັດການເຊື່ອມຕໍ່ແລ້ວ"</item>
- <item msgid="4077393480368783785">"ບໍ່ສຳເລັດ"</item>
- <item msgid="605372180740008604">"ບລັອກແລ້ວ"</item>
- <item msgid="5102306451432929048">"ຫຼີກເວັ້ນການເຊື່ອມຕໍ່ເຄືອຂ່າຍສັນຍານອ່ອນຊົ່ວຄາວ"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"ກຳລັງສະແກນ…"</item>
+ <item msgid="9055468790485684083">"ກຳລັງເຊື່ອມຕໍ່…"</item>
+ <item msgid="6099499723199990208">"ກຳລັງພິສູດຢືນຢັນ…"</item>
+ <item msgid="6794055951297347103">"ກຳລັງຂໍທີ່ຢູ່ IP…"</item>
+ <item msgid="5450920562291300229">"ເຊື່ອມຕໍ່ແລ້ວ"</item>
+ <item msgid="6332116533879646145">"ຖືກລະງັບໄວ້"</item>
+ <item msgid="294459081501073818">"ກຳລັງຕັດການເຊື່ອມຕໍ່…"</item>
+ <item msgid="1577368920272598676">"ຕັດການເຊື່ອມຕໍ່ແລ້ວ"</item>
+ <item msgid="7655843177582495451">"ບໍ່ສຳເລັດ"</item>
+ <item msgid="8953752690917593623">"ບລັອກແລ້ວ"</item>
+ <item msgid="4400457817750243671">"ຫຼີກເວັ້ນການເຊື່ອມຕໍ່ເຄືອຂ່າຍສັນຍານອ່ອນຊົ່ວຄາວ"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-lo/strings.xml b/libs/WifiTrackerLib/res/values-lo/strings.xml
index c9067d6ac..0269e2244 100644
--- a/libs/WifiTrackerLib/res/values-lo/strings.xml
+++ b/libs/WifiTrackerLib/res/values-lo/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"ການເຊື່ອມຕໍ່ອັດຕະໂນມັດປິດຢູ່"</string>
- <string name="saved_network" msgid="6241977554502802914">"ບັນທຶກ​​​ໂດຍ <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"ຈະບໍ່ເຊື່ອມຕໍ່ອັດຕະໂນມັດ"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"ບໍ່ມີການເຊື່ອມຕໍ່ອິນເຕີເນັດ"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"ເກີດບັນຫາການພິສູດຢືນຢັນ"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"ກະລຸນາກວດສອບລະຫັດຜ່ານແລ້ວລອງໃໝ່ອີກຄັ້ງ"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"ການຕັ້ງຄ່າ IP ບໍ່ສຳເລັດ"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"ປິດການນຳໃຊ້"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"ຈຸດການເຂົ້າເຖິງເຕັມຊົ່ວຄາວ"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"ຕັດການເຊື່ອມຕໍ່ແລ້ວ"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"ບັນ​ທຶກແລ້ວ"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"ມີການວັດແທກ"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"ບໍ່ໄດ້ວັດແທກ"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"ເຊື່ອມ​ຕໍ່​ຜ່ານ <xliff:g id="NAME">%1$s</xliff:g> ແລ້ວ"</string>
- <string name="available_via_app" msgid="9110324040292242769">"ສາມາດໃຊ້ໄດ້ຜ່ານ <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"ເຊື່ອມຕໍ່ອັດຕະໂນມັດຜ່ານ <xliff:g id="NAME">%1$s</xliff:g> ແລ້ວ"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"ເຊື່ອມຕໍ່ກັບອັດຕະໂນມັດແລ້ວຜ່ານຜູ້ໃຫ້ບໍລິການຄະແນນເຄືອຂ່າຍ"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"ການເຊື່ອມຕໍ່ຈຳກັດ"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"ບໍ່ສາມາດເຂົ້າເຖິງເຊີບເວີ DNS ສ່ວນຕົວໄດ້"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"ບໍ່ມີອິນເຕີເນັດ"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"ການເຊື່ອມຕໍ່ອັດຕະໂນມັດປິດຢູ່"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"ບັນທຶກໄວ້ໂດຍ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"ຈະບໍ່ເຊື່ອມຕໍ່ອັດຕະໂນມັດ"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"ບໍ່ມີການເຊື່ອມຕໍ່ອິນເຕີເນັດ"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"ເກີດບັນຫາການພິສູດຢືນຢັນ"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"ກະລຸນາກວດສອບລະຫັດຜ່ານແລ້ວລອງໃໝ່"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"ການຕັ້ງຄ່າ IP ບໍ່ສຳເລັດ"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"ປິດນຳໃຊ້ແລ້ວ"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"ຈຸດການເຂົ້າເຖິງເຕັມຊົ່ວຄາວ"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"ສະພາບເຄືອຂ່າຍສັນຍານບໍ່ດີຊົ່ວຄາວ"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"ສັນ​ຍານ​ອ່ອນ. ລອງຍ້າຍໄປໃກ້ເຣົາເຕີ."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"ເກີນຄວາມຈຸເຄືອຂ່າຍແລ້ວ. ກະລຸນາລອງໃໝ່ໃນພາຍຫຼັງ."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"ບໍ່ສາມາດເຊື່ອມຕໍ່ໄດ້. ກະລຸນາລອງໃໝ່ໃນພາຍຫຼັງ."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"ເຄືອຂ່າຍບໍ່ສາມາດໃຊ້ຮ່ວມກັບອຸປະກອນນີ້ໄດ້"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"ຕັດການເຊື່ອມຕໍ່ແລ້ວ"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"ບັນທຶກແລ້ວ"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"ມີການວັດແທກ"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"ບໍ່ໄດ້ວັດແທກ"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"ເຊື່ອມ​ຕໍ່​ຜ່ານ <xliff:g id="NAME">%1$s</xliff:g> ແລ້ວ"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"ສາມາດໃຊ້ໄດ້ຜ່ານ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"ເຊື່ອມຕໍ່ອັດຕະໂນມັດຜ່ານ <xliff:g id="NAME">%1$s</xliff:g> ແລ້ວ"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"ເຊື່ອມຕໍ່ກັບອັດຕະໂນມັດແລ້ວຜ່ານຜູ້ໃຫ້ບໍລິການຄະແນນເຄືອຂ່າຍ"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"ການເຊື່ອມຕໍ່ຈຳກັດ"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"ບໍ່ໃຊ້"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"ໝົດອາຍຸແລ້ວ"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"ແຕະເພື່ອສະໝັກ"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"ແຕະເພື່ອຕໍ່ອາຍຸການສະໝັກໃຊ້ ແລະ ເຊື່ອມຕ"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"ກຳລັງເປີດ <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"ບໍ່ສາມາດເຊື່ອມຕໍ່ໄດ້"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"ກຳລັງສຳເລັດການສະໝັກ…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"ບໍ່ສາມາດສຳເລັດການສະໝັກໄດ້. ແຕະເພື່ອລອງໃໝ່."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"ສະໝັກສຳເລັດແລ້ວ. ກຳລັງເຊື່ອມຕໍ່…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"ເຄືອຂ່າຍນີ້ຈະຮັບ unique ID ທີ່ສາມາດໃຊ້ເພື່ອຕິດຕາມສະຖານທີ່ອຸປະກອນ "<annotation id="url">"ສຶກສາເພີ່ມເຕີມ"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"ຊ້າຫຼາຍ"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"ຊ້າ"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ຕົກລົງ"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"ປານກາງ"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"ໄວ"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"ໄວຫຼາຍ"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"ບໍ່ມີ"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"ໝົດອາຍຸແລ້ວ"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"ແຕະເພື່ອສະໝັກ"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"ແຕະເພື່ອຕໍ່ອາຍຸການສະໝັກໃຊ້ ແລະ ເຊື່ອມຕໍ່"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"ກຳລັງເປີດ <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"ບໍ່ສາມາດເຊື່ອມຕໍ່ໄດ້"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"ກຳລັງສຳເລັດການສະໝັກ…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"ບໍ່ສາມາດສຳເລັດການສະໝັກໄດ້. ແຕະເພື່ອລອງໃໝ່."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"ສະໝັກສຳເລັດແລ້ວ. ກຳລັງເຊື່ອມຕໍ່…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"ເຄືອຂ່າຍນີ້ຈະຮັບ ID ຊິມທີ່ສາມາດໃຊ້ເພື່ອຕິດຕາມສະຖານທີ່ອຸປະກອນ "<annotation id="url">"ສຶກສາເພີ່ມເຕີມ"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"ຊ້າຫຼາຍ"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"ຊ້າ"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ຕົກລົງ"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"ປານກາງ"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"ໄວ"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"ໄວຫຼາຍ"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi ຈະບໍ່ເຊື່ອມຕໍ່ອັດຕະໂນມັດສຳລັບຕອນນີ້"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-lt/arrays.xml b/libs/WifiTrackerLib/res/values-lt/arrays.xml
index a78eb7051..91e76d781 100644
--- a/libs/WifiTrackerLib/res/values-lt/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-lt/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Nuskaitoma…"</item>
- <item msgid="6222852518007967736">"Prijungiama…"</item>
- <item msgid="1176401854208153464">"Nustatoma tapatybė…"</item>
- <item msgid="1377026397901197257">"Gaunamas IP adresas…"</item>
- <item msgid="7627139816052121509">"Prisijungta"</item>
- <item msgid="1598801023719359130">"Laikinai sustabdyta"</item>
- <item msgid="9160765456671002324">"Atjungiama…"</item>
- <item msgid="8013176736494493734">"Atjungta"</item>
- <item msgid="4077393480368783785">"Nepavyko"</item>
- <item msgid="605372180740008604">"Užblokuota"</item>
- <item msgid="5102306451432929048">"Laikinai vengiama prasto ryšio"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Nuskaitoma…"</item>
+ <item msgid="9055468790485684083">"Prisijungiama…"</item>
+ <item msgid="6099499723199990208">"Autentifikuojama…"</item>
+ <item msgid="6794055951297347103">"Gaunamas IP adresas…"</item>
+ <item msgid="5450920562291300229">"Prisijungta"</item>
+ <item msgid="6332116533879646145">"Laikinai sustabdyta"</item>
+ <item msgid="294459081501073818">"Atsijungiama…"</item>
+ <item msgid="1577368920272598676">"Atsijungta"</item>
+ <item msgid="7655843177582495451">"Nepavyko"</item>
+ <item msgid="8953752690917593623">"Užblokuota"</item>
+ <item msgid="4400457817750243671">"Laikinai vengiama prasto ryšio"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-lt/strings.xml b/libs/WifiTrackerLib/res/values-lt/strings.xml
index f3848c45b..7ac6c6580 100644
--- a/libs/WifiTrackerLib/res/values-lt/strings.xml
+++ b/libs/WifiTrackerLib/res/values-lt/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Automatinio prisijungimo funkcija išjungta"</string>
- <string name="saved_network" msgid="6241977554502802914">"Išsaugojo <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Nebus automatiškai prisijungiama"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Nėra interneto ryšio"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Autentifikavimo problema"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Patikrinkite slaptažodį ir bandykite dar kartą"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP konfigūracijos triktis"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Neleidžiama"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Prieigos taškas laikinai visiškai užimtas"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Neprisijungta"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Išsaugotas"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Matuojamas"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Neišmatuotas"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Prisijungta naudojant programą „<xliff:g id="NAME">%1$s</xliff:g>“"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Pasiekiama naudojant „<xliff:g id="NAME">%1$s</xliff:g>“"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatiškai prisijungta per „<xliff:g id="NAME">%1$s</xliff:g>“"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatiškai prisijungta naudojant tinklo įvertinimo paslaugos teikėjo paslaugomis"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Ribotas ryšys"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Privataus DNS serverio negalima pasiekti"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Nėra interneto ryšio"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automatinio prisijungimo funkcija išjungta"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Išsaugojo: „<xliff:g id="NAME">%1$s</xliff:g>“"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Nebus automatiškai prisijungiama"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Nėra interneto ryšio"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Autentifikavimo problema"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Patikrinkite slaptažodį ir bandykite dar kartą"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP konfigūracijos triktis"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Išjungta"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Prieigos taškas laikinai visiškai užimtas"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Laikinai prastos tinklo sąlygos"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Silpnas signalas. Pabandykite prieiti arčiau maršruto parinktuvo."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Tinklas pernelyg užimtas. Vėliau bandykite dar kartą."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Nepavyko prisijungti. Vėliau bandykite dar kartą."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Tinklas nesuderinamas su šiuo įrenginiu"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Atsijungta"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Išsaugota"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Matuojamas"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Nematuojamas"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Prisijungta naudojant programą „<xliff:g id="NAME">%1$s</xliff:g>“"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Pasiekiama naudojant „<xliff:g id="NAME">%1$s</xliff:g>“"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatiškai prisijungta per „<xliff:g id="NAME">%1$s</xliff:g>“"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatiškai prisijungta naudojant tinklo įvertinimo paslaugos teikėjo paslaugomis"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Ribotas ryšys"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Privataus DNS serverio negalima pasiekti"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Prisijungta prie įrenginio. Nepavyksta prisijungti prie interneto."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Prastas ryšys"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Nėra"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Baigėsi galiojimo laikas"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Palieskite, kad prisiregistruotumėte"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Palieskite, kad atnaujintumėte prenumeratą ir prisijungtumėte"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Atidaroma: „<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>“"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Nepavyko prisijungti"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Baigiamas prisiregistravimas…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Nepavyko užbaigti prisiregistravimo. Jei norite bandyti dar kartą, palieskite."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Prisiregistravimas baigtas. Prijungiama…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Šis tinklas gauna unikalų ID, kurį galima naudoti įrenginio vietovei stebėti. "<annotation id="url">"Sužinokite daugiau"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Labai lėtas"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lėtas"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Gerai"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Vidutinis"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Greitas"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Labai greitas"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Nėra"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Negalioja"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Palieskite, kad prisiregistruotumėte"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Palieskite, kad atnaujintumėte prenumeratą ir prisijungtumėte"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Atidaroma: „<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>“"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Nepavyko prisijungti"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Baigiamas prisiregistravimas…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Nepavyko užbaigti prisiregistravimo. Jei norite bandyti dar kartą, palieskite."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Prisiregistravimas baigtas. Prisijungiama…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Šis tinklas gauna SIM kortelės ID, kurį galima naudoti įrenginio vietovei stebėti. "<annotation id="url">"Sužinokite daugiau"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Labai lėtas"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lėtas"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Geras"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Vidutinis"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Spartus"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Labai spartus"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-lv/arrays.xml b/libs/WifiTrackerLib/res/values-lv/arrays.xml
index fe50755b7..f15581362 100644
--- a/libs/WifiTrackerLib/res/values-lv/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-lv/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Notiek meklēšana…"</item>
- <item msgid="6222852518007967736">"Notiek savienojuma izveide…"</item>
- <item msgid="1176401854208153464">"Notiek autentificēšana…"</item>
- <item msgid="1377026397901197257">"Notiek IP adreses iegūšana…"</item>
- <item msgid="7627139816052121509">"Izveidots savienojums"</item>
- <item msgid="1598801023719359130">"Apturēts"</item>
- <item msgid="9160765456671002324">"Notiek savienojuma pārtraukšana…"</item>
- <item msgid="8013176736494493734">"Savienojums pārtraukts"</item>
- <item msgid="4077393480368783785">"Neizdevās"</item>
- <item msgid="605372180740008604">"Bloķēts"</item>
- <item msgid="5102306451432929048">"Pagaidām netiek izmantots vājš savienojums."</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Notiek meklēšana…"</item>
+ <item msgid="9055468790485684083">"Notiek savienojuma izveide…"</item>
+ <item msgid="6099499723199990208">"Notiek autentificēšana…"</item>
+ <item msgid="6794055951297347103">"Notiek IP adreses iegūšana…"</item>
+ <item msgid="5450920562291300229">"Izveidots savienojums"</item>
+ <item msgid="6332116533879646145">"Apturēta darbība"</item>
+ <item msgid="294459081501073818">"Notiek savienojuma pārtraukšana…"</item>
+ <item msgid="1577368920272598676">"Savienojums pārtraukts"</item>
+ <item msgid="7655843177582495451">"Neizdevās"</item>
+ <item msgid="8953752690917593623">"Bloķēts"</item>
+ <item msgid="4400457817750243671">"Pagaidām netiek izmantots vājš savienojums."</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-lv/strings.xml b/libs/WifiTrackerLib/res/values-lv/strings.xml
index e0300d627..ee921d9cb 100644
--- a/libs/WifiTrackerLib/res/values-lv/strings.xml
+++ b/libs/WifiTrackerLib/res/values-lv/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Savienojuma automātiskā izveide ir izslēgta."</string>
- <string name="saved_network" msgid="6241977554502802914">"Saglabāja: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Savienojums netiks izveidots automātiski"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Nav piekļuves internetam"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Autentificēšanas problēma"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Pārbaudiet paroli un mēģiniet vēlreiz."</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP konfigurācijas kļūme"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Atspējots"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Piekļuves punkts īslaicīgi ir pilns"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Savienojums pārtraukts"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Saglabāts"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Maksas"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Bezmaksas"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Savienojums ar <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Pieejams, izmantojot <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automātiski izveidots savienojums, izmantojot <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automātiski izveidots savienojums, izmantojot tīkla vērtējuma sniedzēju"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Ierobežots savienojums"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Nevar piekļūt privātam DNS serverim."</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Nav interneta"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Savienojuma automātiskā izveide ir izslēgta."</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Saglabāja: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Savienojums netiks izveidots automātiski."</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Nav piekļuves internetam."</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Autentificēšanas problēma"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Pārbaudiet paroli un mēģiniet vēlreiz."</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP konfigurācijas kļūme"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Atspējots"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Piekļuves punkts īslaicīgi ir pilns."</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Īslaicīgs slikts tīkla stāvoklis"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Vājš signāls. Pārvietojieties tuvāk maršrutētājam."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Tīkls ir pārslogots. Vēlāk mēģiniet vēlreiz."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Nevar izveidot savienojumu. Vēlāk mēģiniet vēlreiz."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Tīkls nav saderīgs ar šo ierīci."</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Savienojums pārtraukts"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Saglabāts"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Maksas"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Bezmaksas"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Izveidots savienojums, izmantojot <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Pieejams, izmantojot <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automātiski izveidots savienojums, izmantojot <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automātiski izveidots savienojums, izmantojot tīkla vērtējuma sniedzēju"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Ierobežots savienojums"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Nevar piekļūt privātam DNS serverim."</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Izveidots savienojums ar ierīci. Nav piekļuves internetam."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Zema kvalitāte"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Nav"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Beidzies derīguma termiņš"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Pieskarieties, lai reģistrētos."</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Pieskarieties, lai atjaunotu abonementu un izveidotu savienojumu"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Notiek nodrošinātāja <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> atvēršana."</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Nevarēja izveidot savienojumu."</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Notiek reģistrācijas pabeigšana…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Nevarēja pabeigt reģistrāciju. Pieskarieties, lai mēģinātu vēlreiz."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Reģistrācija ir pabeigta. Notiek savienojuma izveide…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Šis tīkls saņem unikālo ID, ko var izmantot, lai izsekotu ierīces atrašanās vietu. "<annotation id="url">"Uzziniet vairāk"</annotation>"."</string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Ļoti lēns"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lēns"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Labi"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Vidējs"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Ātrs"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Ļoti ātrs"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Nav"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Beidzies derīguma termiņš"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Pieskarieties, lai reģistrētos."</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Pieskarieties, lai atjaunotu abonementu un izveidotu savienojumu."</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Notiek nodrošinātāja <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> atvēršana."</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Nevarēja izveidot savienojumu"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Notiek reģistrācijas pabeigšana…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Nevarēja pabeigt reģistrāciju. Pieskarieties, lai mēģinātu vēlreiz."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Reģistrācija ir pabeigta. Notiek savienojuma izveide…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Šis tīkls saņem SIM ID, ko var izmantot, lai izsekotu ierīces atrašanās vietu. "<annotation id="url">"Uzziniet vairāk"</annotation>"."</string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Ļoti lēns"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lēns"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Pietiekams"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Vidējs"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Ātrs"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Ļoti ātrs"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-mk/arrays.xml b/libs/WifiTrackerLib/res/values-mk/arrays.xml
index 1ee619cb1..d37dfa771 100644
--- a/libs/WifiTrackerLib/res/values-mk/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-mk/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Се скенира…"</item>
- <item msgid="6222852518007967736">"Се поврзува…"</item>
- <item msgid="1176401854208153464">"Се проверува…"</item>
- <item msgid="1377026397901197257">"Се добива IP-адресата…"</item>
- <item msgid="7627139816052121509">"Поврзано"</item>
- <item msgid="1598801023719359130">"Прекинато"</item>
- <item msgid="9160765456671002324">"Се исклучува…"</item>
- <item msgid="8013176736494493734">"Не е поврзано"</item>
- <item msgid="4077393480368783785">"Неуспешно"</item>
- <item msgid="605372180740008604">"Блокирано"</item>
- <item msgid="5102306451432929048">"Привремено избегнува лоша врска"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Се скенира…"</item>
+ <item msgid="9055468790485684083">"Се поврзува…"</item>
+ <item msgid="6099499723199990208">"Се проверува…"</item>
+ <item msgid="6794055951297347103">"Се добива IP-адресата…"</item>
+ <item msgid="5450920562291300229">"Поврзано"</item>
+ <item msgid="6332116533879646145">"Прекинато"</item>
+ <item msgid="294459081501073818">"Се исклучува…"</item>
+ <item msgid="1577368920272598676">"Не е поврзано"</item>
+ <item msgid="7655843177582495451">"Неуспешно"</item>
+ <item msgid="8953752690917593623">"Блокирано"</item>
+ <item msgid="4400457817750243671">"Привремено избегнува лоша врска"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-mk/strings.xml b/libs/WifiTrackerLib/res/values-mk/strings.xml
index 15c419e6b..d21ea7a1b 100644
--- a/libs/WifiTrackerLib/res/values-mk/strings.xml
+++ b/libs/WifiTrackerLib/res/values-mk/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Автоматското поврзување е исклучено"</string>
- <string name="saved_network" msgid="6241977554502802914">"Зачувано од <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Не може да се поврзе автоматски"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Нема пристап до интернет"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Проблем при проверката"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Проверете ја лозинката и обидете се повторно"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Конфигурацијата на IP не успеа"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Оневозможено"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Пристапната точка привремено е преоптоварена"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Не е поврзано"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Зачувано"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Со ограничен интернет"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Без ограничен интернет"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Поврзано преку <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Достапна преку <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Автоматски поврзано преку <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Автоматски поврзано преку оценувач на мрежа"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Ограничена врска"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Не може да се пристапи до приватниот DNS-сервер"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Нема интернет"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Автоматското поврзување е исклучено"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Зачувана од <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Не може да се поврзе автоматски"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Нема пристап до интернет"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Проблем при проверката"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Проверете ја лозинката и обидете се повторно"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Конфигурацијата на IP не успеа"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Оневозможена"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Пристапната точка е привремено преоптоварена"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Привремено слаби услови на мрежата"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Слаб сигнал. Доближете се до рутерот."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Мрежата е преоптоварена. Обидете се повторно подоцна."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Не може да се поврзе. Обидете се повторно подоцна."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Мрежата не е компатибилна со уредов"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Не е поврзано"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Зачувана"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Со ограничен интернет"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Со неограничен интернет"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Поврзано преку <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Достапна преку <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Автоматски поврзано преку <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Автоматски поврзано преку оценувач на мрежа"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Ограничена врска"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"Нема"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Истечено"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Допрете за да се регистрирате"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Допрете за обновување на претплатата и поврзување"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Се отвора <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Не може да се поврзе"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Се завршува регистрацијата…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Не може да се заврши регистрацијата. Допрете за да се обидете повторно."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Регистрацијата е завршена. Се поврзува…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Мрежава прима уникатен ID што може да се користи за следење на локацијата на уредот. "<annotation id="url">"Дознајте повеќе"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Многу бавна"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Бавна"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Во ред"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Средна"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Брза"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Многу брза"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Нема"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Истечена"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Допрете за да се регистрирате"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Допрете за да ја обновите претплатата и да се поврзете"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Се отвора <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Не може да се поврзе"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Се завршува регистрацијата…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Не може да се заврши регистрацијата. Допрете за да се обидете повторно."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Регистрацијата е завршена. Се поврзува…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Мрежава прима уникатен ID на SIM што може да се користи за следење на локацијата на уредот. "<annotation id="url">"Дознајте повеќе"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Многу бавна"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Бавна"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Во ред"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Средна"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Брза"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Многу брза"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi нема да се поврзува автоматски засега"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ml/arrays.xml b/libs/WifiTrackerLib/res/values-ml/arrays.xml
index 78f9e27eb..41a01ba0d 100644
--- a/libs/WifiTrackerLib/res/values-ml/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-ml/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"സ്‌കാൻ ചെയ്യുന്നു..."</item>
- <item msgid="6222852518007967736">"കണക്‌റ്റ് ചെയ്യുന്നു..."</item>
- <item msgid="1176401854208153464">"പരിശോധിച്ചുറപ്പിക്കുന്നു…"</item>
- <item msgid="1377026397901197257">"IP വിലാസം നേടുന്നു..."</item>
- <item msgid="7627139816052121509">"കണ‌ക്റ്റ് ചെയ്‌തു"</item>
- <item msgid="1598801023719359130">"താൽക്കാലികമായി റദ്ദാക്കി"</item>
- <item msgid="9160765456671002324">"വിച്‌ഛേദിക്കുന്നു..."</item>
- <item msgid="8013176736494493734">"വിച്ഛേദിച്ചു"</item>
- <item msgid="4077393480368783785">"പരാജയപ്പെട്ടു"</item>
- <item msgid="605372180740008604">"ബ്ലോക്ക് ചെയ്തിരിക്കുന്നു"</item>
- <item msgid="5102306451432929048">"മോശം കണക്ഷൻ താൽക്കാലികമായി ഒഴിവാക്കുന്നു"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"സ്‌കാൻ ചെയ്യുന്നു…"</item>
+ <item msgid="9055468790485684083">"കണക്‌റ്റ് ചെയ്യുന്നു…"</item>
+ <item msgid="6099499723199990208">"പരിശോധിച്ചുറപ്പിക്കുന്നു…"</item>
+ <item msgid="6794055951297347103">"IP വിലാസം നേടുന്നു…"</item>
+ <item msgid="5450920562291300229">"കണക്റ്റ് ചെയ്തു"</item>
+ <item msgid="6332116533879646145">"തൽക്കാലികമായി റദ്ദാക്കി"</item>
+ <item msgid="294459081501073818">"വിച്ഛേദിക്കുന്നു…"</item>
+ <item msgid="1577368920272598676">"വിച്ഛേദിച്ചു"</item>
+ <item msgid="7655843177582495451">"കണക്റ്റ് ചെയ്യാനായില്ല"</item>
+ <item msgid="8953752690917593623">"ബ്ലോക്ക് ചെയ്തു"</item>
+ <item msgid="4400457817750243671">"മോശം കണക്ഷൻ കാരണം വൈഫൈ താൽക്കാലികമായി ഒഴിവാക്കുന്നു"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ml/strings.xml b/libs/WifiTrackerLib/res/values-ml/strings.xml
index c90220a23..1fce76ced 100644
--- a/libs/WifiTrackerLib/res/values-ml/strings.xml
+++ b/libs/WifiTrackerLib/res/values-ml/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"ഓട്ടോ-കണക്റ്റ് ഓഫാണ്"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> സംരക്ഷിച്ചത്"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"സ്വയമേവ കണക്‌റ്റ് ചെയ്യില്ല"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"ഇന്റർനെറ്റ് ആക്‌സസ് ഇല്ല"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"പരിശോധിച്ചുറപ്പിക്കുന്നതിലെ പ്രശ്നം"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"പാസ്‌വേഡ് പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP കോൺഫിഗറേഷൻ പരാജയം"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"പ്രവർത്തനരഹിതമാക്കി"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"ആക്‌സസ് പോയിന്റ് താൽക്കാലികമായി നിറഞ്ഞിരിക്കുന്നു"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"വിച്ഛേദിച്ചു"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"സംരക്ഷിച്ചു"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"മീറ്റർ ചെയ്തത്"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"മീറ്റർമാപകമല്ലാത്തത്"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> മുഖേന കണക്‌റ്റ് ചെയ്‌തു"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> വഴി ലഭ്യമാണ്"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> മുഖേന സ്വയമേവ കണക്‌റ്റ് ചെയ്തിരിക്കുന്നു"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"നെറ്റ്‌വർക്ക് റേറ്റിംഗ് ദാതാവുമായി സ്വയം കണക്‌റ്റുചെയ്‌തു"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"പരിമിത കണക്‌ഷൻ"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"സ്വകാര്യ DNS സെർവർ ആക്‌സസ് ചെയ്യാനാവില്ല"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"ഇന്റർനെറ്റ് ഇല്ല"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"ഓട്ടോ-കണക്റ്റ് ഓഫാണ്"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> സംരക്ഷിച്ചത്"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"സ്വയമേവ കണക്‌റ്റ് ചെയ്യില്ല"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"ഇന്റർനെറ്റ് ആക്‌സസ് ഇല്ല"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"പരിശോധിച്ചുറപ്പിക്കുന്നതിൽ പ്രശ്‌നം"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"പാസ്‌വേഡ് പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP കോൺഫിഗർ ചെയ്യാനായില്ല"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"പ്രവർത്തനരഹിതമാക്കി"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"ആക്‌സസ് പോയിന്റ് താൽക്കാലികമായി നിറഞ്ഞു"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"നിലവിലെ നെറ്റ്‌വർക്ക് നില മോശം"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"സിഗ്‌നൽ ദുർബലമാണ്. റൂട്ടറിന് കൂടുതൽ അടുത്തേക്ക് നീക്കി ശ്രമിക്കുക."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"നിങ്ങളുടെ നെറ്റ്‌വർക്ക് ശേഷി കവിഞ്ഞു. പിന്നീട് വീണ്ടും ശ്രമിക്കുക."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"കണക്‌റ്റ് ചെയ്യാനാകുന്നില്ല. പിന്നീട് വീണ്ടും ശ്രമിക്കുക."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"നെറ്റ്‌വർക്ക് ഈ ഉപകരണവുമായി പൊരുത്തപ്പെടുന്നില്ല"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"വിച്ഛേദിച്ചു"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"സംരക്ഷിച്ചു"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"മീറ്റർ ചെയ്‌തത്"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"മീറ്റർമാപകമല്ലാത്തത്"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> മുഖേന കണക്‌റ്റ് ചെയ്‌തു"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> മുഖേന ലഭ്യമാണ്"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> മുഖേന സ്വയമേവ കണക്റ്റ് ചെയ്‌തു"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"നെറ്റ്‌വർക്ക് റേറ്റിംഗ് ദാതാവുമായി സ്വയമേവ കണക്‌റ്റ് ചെയ്‌തു"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"പരിമിത കണക്‌ഷൻ"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"ഒന്നുമില്ല"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"കാലഹരണപ്പെട്ടത്"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"സൈൻ അപ്പ് ചെയ്യാൻ ടാപ്പ് ചെയ്യുക"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"സബ്‌സ്ക്രിപ്ഷൻ പുതുക്കാൻ ടാപ്പ് ചെയ്ത് കണക്റ്റ് ചെയ്യുക"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> തുറക്കുന്നു"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"കണക്റ്റ് ചെയ്യാനായില്ല"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"സൈൻ അപ്പ് പൂർത്തിയാക്കുന്നു…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"സൈൻ അപ്പ് പൂർത്തിയാക്കാനായില്ല. വീണ്ടും ശ്രമിക്കാൻ ടാപ്പ് ചെയ്യുക."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"സൈൻ അപ്പ് പൂർത്തിയായി. കണക്റ്റ് ചെയ്യുന്നു…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"ഉപകരണ ലൊക്കേഷൻ ട്രാക്ക് ചെയ്യാൻ ഉപയോഗിക്കാവുന്ന തനത് ഐഡി ഈ നെറ്റ്‌വർക്ക് സ്വീകരിക്കുന്നു. "<annotation id="url">"കൂടുതലറിയുക"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"വളരെ കുറഞ്ഞ വേഗത്തിൽ"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"കുറഞ്ഞ വേഗത്തിൽ"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ശരി"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"ഇടത്തരം"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"വേഗത്തിൽ"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"അതിവേഗം"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"ഒന്നുമില്ല"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"കാലഹരണപ്പെട്ടു"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"സൈൻ അപ്പ് ചെയ്യാൻ ടാപ്പ് ചെയ്യുക"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"സബ്‌സ്ക്രിപ്ഷൻ പുതുക്കാൻ ടാപ്പ് ചെയ്ത ശേഷം കണക്റ്റ് ചെയ്യുക"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> തുറക്കുന്നു"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"കണക്റ്റ് ചെയ്യാനായില്ല"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"സൈൻ അപ്പ് പൂർത്തിയാക്കുന്നു…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"സൈൻ അപ്പ് പൂർത്തിയാക്കാനായില്ല. വീണ്ടും ശ്രമിക്കാൻ ടാപ്പ് ചെയ്യുക."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"സൈൻ അപ്പ് പൂർത്തിയായി. കണക്റ്റ് ചെയ്യുന്നു…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"ഉപകരണ ലൊക്കേഷൻ ട്രാക്ക് ചെയ്യാൻ ഉപയോഗിക്കാവുന്ന സിം ഐഡി ഈ നെറ്റ്‌വർക്കിന് ലഭിക്കും. "<annotation id="url">"കൂടുതലറിയുക"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"വളരെ കുറഞ്ഞ വേഗത്തിൽ"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"കുറഞ്ഞ വേഗത്തിൽ"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ശരി"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"ഇടത്തരം"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"വേഗത്തിൽ"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"അതിവേഗം"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-mn/arrays.xml b/libs/WifiTrackerLib/res/values-mn/arrays.xml
index 654a1c219..b6dfc2029 100644
--- a/libs/WifiTrackerLib/res/values-mn/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-mn/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Скан хийж байна…"</item>
- <item msgid="6222852518007967736">"Холбогдож байна…"</item>
- <item msgid="1176401854208153464">"Баталгаажуулж байна…"</item>
- <item msgid="1377026397901197257">"IP хаягийг авч байна…"</item>
- <item msgid="7627139816052121509">"Холбогдсон"</item>
- <item msgid="1598801023719359130">"Түр хаасан"</item>
- <item msgid="9160765456671002324">"Салгаж байна…"</item>
- <item msgid="8013176736494493734">"Салгасан"</item>
- <item msgid="4077393480368783785">"Амжилтгүй"</item>
- <item msgid="605372180740008604">"Блоклосон"</item>
- <item msgid="5102306451432929048">"Муу холболтоос түр зайлсхийж байна"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Скан хийж байна…"</item>
+ <item msgid="9055468790485684083">"Холбогдож байна…"</item>
+ <item msgid="6099499723199990208">"Баталгаажуулж байна…"</item>
+ <item msgid="6794055951297347103">"IP хаягийг авч байна…"</item>
+ <item msgid="5450920562291300229">"Холбогдсон"</item>
+ <item msgid="6332116533879646145">"Түр хаасан"</item>
+ <item msgid="294459081501073818">"Салгаж байна…"</item>
+ <item msgid="1577368920272598676">"Салгасан"</item>
+ <item msgid="7655843177582495451">"Амжилтгүй боллоо"</item>
+ <item msgid="8953752690917593623">"Блоклосон"</item>
+ <item msgid="4400457817750243671">"Сул холболтоос түр зайлсхийж байна"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-mn/strings.xml b/libs/WifiTrackerLib/res/values-mn/strings.xml
index e52776c15..95eeeb31c 100644
--- a/libs/WifiTrackerLib/res/values-mn/strings.xml
+++ b/libs/WifiTrackerLib/res/values-mn/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Автомат холболт унтраалттай байна"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> хадгалсан"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Автоматаар холбогдохгүй"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Интернэт хандалт байхгүй байна"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Баталгаажуулалтын асуудал"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Нууц үгийг шалгаад дахин оролдоно уу"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP тохируулга амжилтгүй боллоо"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Идэвхгүйжүүлсэн"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Хандах цэг түр хугацаанд дүүрсэн байна"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Салсан"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Хадгалагдсан"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Хязгаартай"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Хязгааргүй"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g>-р холбогдсон"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g>-р боломжтой байна"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g>-р автоматаар холбогдсон"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Сүлжээний үнэлгээ үзүүлэгчээр автоматаар холбогдох"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Хязгаарлагдмал холболт"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Хувийн DNS серверт хандах боломжгүй байна"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Интернэт алга"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Автомат холболт унтраалттай байна"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> хадгалсан"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Автоматаар холбогдохгүй"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Интернэт хандалт алга"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Баталгаажуулалтын асуудал"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Нууц үгийг шалгаад дахин оролдоно уу"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP тохируулга амжилтгүй боллоо"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Идэвхгүй болгосон"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Хандалтын цэг түр хугацаанд дүүрсэн байна"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Сүлжээний нөхцөл байдал түр хугацаанд муу байна"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Дохио сул байна. Рүүтэр лүүгээ ойртож үзнэ үү."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Сүлжээний хүчин чадал хэтэрсэн байна. Дараа дахин оролдоно уу."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Холбогдох боломжгүй байна. Дараа дахин оролдоно уу."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Сүлжээ энэ төхөөрөмжтэй тохиромжгүй байна"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Салгасан"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Хадгалсан"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Хязгаартай"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Хязгааргүй"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g>-р холбогдсон"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g>-р боломжтой"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g>-р автоматаар холбогдсон"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Сүлжээний үнэлгээ үзүүлэгчээр автоматаар холбогдсон"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Хязгаарлагдмал холболт"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"Байхгүй"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Хугацаа дууссан"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Бүртгүүлэхийн тулд товшино уу"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Захиалгыг шинэчилж, холбогдохын тулд товшино уу"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>-г нээж байна"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Холбогдож чадсангүй"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Бүртгэлийг дуусгаж байна…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Бүртгэлийг дуусгаж чадсангүй. Дахин оролдохын тулд товшино уу."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Бүртгэлийг дуусгалаа. Холбогдож байна…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Энэ сүлжээ нь төхөөрөмжийн байршлыг тандахад ашиглах боломжтой цор ганц дугаарыг хүлээн авдаг. "<annotation id="url">"Нэмэлт мэдээлэл авах"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Маш удаан"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Удаан"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ЗА"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Дунд"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Хурдан"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Маш хурдан"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Байхгүй"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Хугацаа дууссан"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Бүртгүүлэхийн тулд товшино уу"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Захиалгыг шинэчилж, холбогдохын тулд товшино уу"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>-г нээж байна"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Холбогдож чадсангүй"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Бүртгэлийг дуусгаж байна…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Бүртгэлийг дуусгаж чадсангүй. Дахин оролдохын тулд товшино уу."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Бүртгэлийг дуусгалаа. Холбогдож байна…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Энэ сүлжээ нь төхөөрөмжийн байршлыг тандахад ашиглах боломжтой SIM ID-г хүлээн авдаг. "<annotation id="url">"Нэмэлт мэдээлэл авах"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Маш удаан"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Удаан"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ОК"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Дундаж"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Хурдан"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Маш хурдан"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-mr/arrays.xml b/libs/WifiTrackerLib/res/values-mr/arrays.xml
index ed3cd8aa3..ec4d819ca 100644
--- a/libs/WifiTrackerLib/res/values-mr/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-mr/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"स्कॅन होत आहे…"</item>
- <item msgid="6222852518007967736">"कनेक्ट करत आहे…"</item>
- <item msgid="1176401854208153464">"ऑथेंटिकेट करत आहे…"</item>
- <item msgid="1377026397901197257">"आयपी ॲड्रेस मिळवत आहे…"</item>
- <item msgid="7627139816052121509">"कनेक्ट केले"</item>
- <item msgid="1598801023719359130">"निलंबित"</item>
- <item msgid="9160765456671002324">"डिस्कनेक्ट करत आहे…"</item>
- <item msgid="8013176736494493734">"डिस्कनेक्ट केले"</item>
- <item msgid="4077393480368783785">"अयशस्वी"</item>
- <item msgid="605372180740008604">"ब्लॉक केले"</item>
- <item msgid="5102306451432929048">"खराब कनेक्शन तात्पुरते टाळत आहे"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"स्कॅन करत आहे…"</item>
+ <item msgid="9055468790485684083">"कनेक्ट करत आहे…"</item>
+ <item msgid="6099499723199990208">"ऑथेंटिकेट करत आहे…"</item>
+ <item msgid="6794055951297347103">"आयपी ॲड्रेस मिळवत आहे…"</item>
+ <item msgid="5450920562291300229">"कनेक्ट केले"</item>
+ <item msgid="6332116533879646145">"निलंबित केले"</item>
+ <item msgid="294459081501073818">"डिस्कनेक्ट करत आहे…"</item>
+ <item msgid="1577368920272598676">"डिस्कनेक्ट केले"</item>
+ <item msgid="7655843177582495451">"अयशस्वी"</item>
+ <item msgid="8953752690917593623">"ब्लॉक केले"</item>
+ <item msgid="4400457817750243671">"खराब कनेक्शन तात्पुरते टाळत आहे"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-mr/strings.xml b/libs/WifiTrackerLib/res/values-mr/strings.xml
index d714d3046..7103329f8 100644
--- a/libs/WifiTrackerLib/res/values-mr/strings.xml
+++ b/libs/WifiTrackerLib/res/values-mr/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"ऑटो-कनेक्ट बंद आहे"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> द्वारे सेव्ह केले"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"आपोआप कनेक्ट झाले नाही"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"इंटरनेट अ‍ॅक्सेस नाही"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"ऑथेंटिकेशन समस्या"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"पासवर्ड तपासा आणि पुन्‍हा प्रयत्‍न करा"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP कॉंफिगरेशन अयशस्वी"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"अक्षम"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"अ‍ॅक्सेस पॉइंट तात्पुरते भरलेले"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"डिस्कनेक्ट केले"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"सेव्ह केले"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"मीटरने मोजलेले"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"मीटरने न मोजलेले"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> द्वारे कनेक्ट केले"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> द्वारे उपलब्ध"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> वरून आपोआप कनेक्ट केले आहे"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"नेटवर्क रेटिंग प्रदात्याद्वारे स्वयंचलितपणे कनेक्ट केले"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"मर्यादित कनेक्शन"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"खाजगी DNS सर्व्हर ॲक्सेस करू शकत नाही"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"इंटरनेट नाही"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"ऑटो-कनेक्ट बंद आहे"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> ने सेव्ह केले"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"आपोआप कनेक्ट होणार नाही"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"इंटरनेट अ‍ॅक्सेस नाही"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"ऑथेंटिकेशनमध्ये समस्या आली"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"पासवर्ड तपासा आणि पुन्‍हा प्रयत्न करा"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"आयपी कॉंफिगरेशन पूर्ण करता आले नाही"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"बंद केली"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"अ‍ॅक्सेस पॉइंट तात्पुरता भरला आहे"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"नेटवर्कची स्थिती तात्पुरती खराब आहे"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"कमकुवत सिग्नल. राउटरच्‍या जवळ जाण्याचा प्रयत्‍न करा."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"नेटवर्कवर क्षमतेपेक्षा जास्त लोड आहे. नंतर पुन्हा प्रयत्न करा."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"कनेक्ट करू शकत नाही. नंतर पुन्हा प्रयत्न करा."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"नेटवर्क या डिव्हाइससह सुसंगत नाही"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"डिस्कनेक्ट केले"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"सेव्ह केलेले"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"मर्यादित आहे"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"डेटा वापरानुसार नाही"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> द्वारे कनेक्ट केले"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> द्वारे उपलब्ध"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> द्वारे आपोआप कनेक्ट केले"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"नेटवर्क रेटिंग पुरवठादाराद्वारे आपोआप कनेक्ट केले"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"मर्यादित कनेक्शन"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"काहीही नाही"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"मुदत संपली"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"साइन अप करण्यासाठी टॅप करा"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"सदस्यत्व रिन्यू करण्यासाठी टॅप करा आणि कनेक्ट करा"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> उघडत आहे"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"कनेक्ट करता आले नाही"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"साइन-अप पूर्ण होत आहे…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"साइन-अप पूर्ण करता आले नाही. पुन्हा प्रयत्न करण्यासाठी टॅप करा."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"साइन-अप पूर्ण झाले आहे. कनेक्ट करत आहे…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"हे नेटवर्क डिव्हाइसच्या स्थानाचा माग घेण्यासाठी वापरता येणारा युनिक आयडी मिळवते. "<annotation id="url">"अधिक जाणून घ्या"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"खूप हळू"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"हळू"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ठीक आहे"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"मध्‍यम"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"जलद"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"खूप जलद"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"काहीही नाही"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"एक्स्पायर झाला"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"साइन अप करण्यासाठी टॅप करा"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"सदस्यत्व रिन्यू करण्यासाठी टॅप करा आणि कनेक्ट करा"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> उघडत आहे"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"कनेक्ट करता आले नाही"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"साइन-अप करणे पूर्ण होत आहे…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"साइन-अप करणे पूर्ण करता आले नाही. पुन्हा प्रयत्न करण्यासाठी टॅप करा."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"साइन-अप करणे पूर्ण झाले. कनेक्ट करत आहे…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"हे नेटवर्क डिव्हाइसच्या स्थानाचा माग ठेवण्यासाठी वापरता येणारा सिम आयडी मिळवते. "<annotation id="url">"अधिक जाणून घ्या"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"खूप हळू"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"हळू"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ओके"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"मध्यम"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"जलद"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"खूप जलद"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"वाय-फाय सध्या ऑटो-कनेक्ट होणार नाही"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ms/arrays.xml b/libs/WifiTrackerLib/res/values-ms/arrays.xml
index b4fbeffda..43a6dbfbf 100644
--- a/libs/WifiTrackerLib/res/values-ms/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-ms/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Mengimbas…"</item>
- <item msgid="6222852518007967736">"Menyambung…"</item>
- <item msgid="1176401854208153464">"Mengesahkan…"</item>
- <item msgid="1377026397901197257">"Mendapatkan alamat IP…"</item>
- <item msgid="7627139816052121509">"Disambungkan"</item>
- <item msgid="1598801023719359130">"Digantung"</item>
- <item msgid="9160765456671002324">"Memutuskan sambungan…"</item>
- <item msgid="8013176736494493734">"Diputuskan sambungan"</item>
- <item msgid="4077393480368783785">"Tidak berjaya"</item>
- <item msgid="605372180740008604">"Disekat"</item>
- <item msgid="5102306451432929048">"Mengelakkan sambungan lemah buat sementara waktu"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Mengimbas…"</item>
+ <item msgid="9055468790485684083">"Menyambung…"</item>
+ <item msgid="6099499723199990208">"Mengesahkan…"</item>
+ <item msgid="6794055951297347103">"Mendapatkan alamat IP…"</item>
+ <item msgid="5450920562291300229">"Disambungkan"</item>
+ <item msgid="6332116533879646145">"Digantung"</item>
+ <item msgid="294459081501073818">"Memutuskan sambungn…"</item>
+ <item msgid="1577368920272598676">"Diputuskan sambungan"</item>
+ <item msgid="7655843177582495451">"Tidak berjaya"</item>
+ <item msgid="8953752690917593623">"Disekat"</item>
+ <item msgid="4400457817750243671">"Mengelakkan sambungan lemah buat sementara waktu"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ms/strings.xml b/libs/WifiTrackerLib/res/values-ms/strings.xml
index 12da6ba46..f0d354db2 100644
--- a/libs/WifiTrackerLib/res/values-ms/strings.xml
+++ b/libs/WifiTrackerLib/res/values-ms/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Autosambung dimatikan"</string>
- <string name="saved_network" msgid="6241977554502802914">"Diselamatkan oleh <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Tidak akan menyambung secara automatik"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Tiada akses Internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Masalah pengesahan"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Semak kata laluan, kemudian cuba lagi"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Kegagalan konfigurasi IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Dinyahdayakan"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Titik akses penuh buat sementara waktu"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Diputuskan sambungan"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Disimpan"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Bermeter"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Tidak bermeter"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Disambungkan melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Tersedia melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Disambungkan secara automatik melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Disambungkan secara automatik melalui pembekal penilaian rangkaian"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Sambungan terhad"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Pelayan DNS peribadi tidak boleh diakses"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Tiada Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Autosambung dimatikan"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Disimpan oleh <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Tidak akan menyambung secara automatik"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Tiada akses Internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Masalah pengesahan"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Semak kata laluan, kemudian cuba lagi"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Kegagalan konfigurasi IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Dilumpuhkan"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Titik akses penuh buat sementara waktu"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Keadaan rangkaian teruk sementara"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Isyarat lemah. Cuba bergerak lebih rapat ke penghala."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Rangkaian melebihi kapasiti. Cuba lagi nanti."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Tidak dapat menyambung. Cuba lagi nanti."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Rangkaian tidak serasi dengan peranti ini"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Diputuskan sambungan"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Disimpan"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Bermeter"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Tidak bermeter"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Disambungkan melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Tersedia melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Disambungkan secara automatik melalui <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Disambungkan secara automatik melalui pembekal penilaian rangkaian"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Sambungan terhad"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Pelayan DNS peribadi tidak boleh diakses"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Disambungkan pada peranti. Tidak dapat menyediakan Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Kualiti rendah"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Tiada"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Tamat tempoh"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Ketik untuk daftar"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Ketik untuk membaharui langganan dan sambung"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Membuka <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Tidak dapat menyambung"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Menyelesaikan pendaftaran…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Tidak dapat menyelesaikan pendaftaran. Ketik untuk mencuba lagi."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Pendaftaran selesai. Menyambung…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Rangkaian ini menerima ID unik yang boleh digunakan untuk menjejaki lokasi peranti. "<annotation id="url">"Ketahui lebih lanjut"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Sangat Perlahan"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Perlahan"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Sederhana"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Laju"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Sangat Laju"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Tiada"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Tamat tempoh"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Ketik untuk daftar"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Ketik untuk membaharui langganan dan sambung"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Membuka <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Tidak dapat menyambung"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Menyelesaikan pendaftaran…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Tidak dapat menyelesaikan pendaftaran. Ketik untuk mencuba lagi."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Pendaftaran selesai. Menyambung…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Rangkaian ini menerima ID SIM yang boleh digunakan untuk menjejaki lokasi peranti. "<annotation id="url">"Ketahui lebih lanjut"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Sangat Perlahan"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Perlahan"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Sederhana"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Laju"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Sangat Laju"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi tidak akan disambungkan secara automatik buat masa ini"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-my/arrays.xml b/libs/WifiTrackerLib/res/values-my/arrays.xml
index 2443e14a2..b09dab483 100644
--- a/libs/WifiTrackerLib/res/values-my/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-my/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"စကင်ဖတ်နေသည်…"</item>
- <item msgid="6222852518007967736">"ချိတ်ဆက်နေသည်…"</item>
- <item msgid="1176401854208153464">"အထောက်အထားစိစစ်နေသည်…"</item>
- <item msgid="1377026397901197257">"အိုင်ပီလိပ်စာ ရယူနေသည်…"</item>
- <item msgid="7627139816052121509">"ချိတ်ဆက်ပြီးပြီ"</item>
- <item msgid="1598801023719359130">"ဆိုင်းငံ့ထားသည်"</item>
- <item msgid="9160765456671002324">"ချိတ်ဆက်မှု ဖြတ်နေသည်…"</item>
- <item msgid="8013176736494493734">"ချိတ်ဆက်မထားပါ"</item>
- <item msgid="4077393480368783785">"မအောင်မြင်ပါ"</item>
- <item msgid="605372180740008604">"ပိတ်ထားသည်"</item>
- <item msgid="5102306451432929048">"အားနည်းသည့် ချိတ်ဆက်မှုကို ယာယီရှောင်ရှားသည်"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"ရှာဖွေနေသည်…"</item>
+ <item msgid="9055468790485684083">"ချိတ်ဆက်နေသည်…"</item>
+ <item msgid="6099499723199990208">"အထောက်အထားစိစစ်နေသည်…"</item>
+ <item msgid="6794055951297347103">"IP လိပ်စာ ရယူနေသည်…"</item>
+ <item msgid="5450920562291300229">"ချိတ်ဆက်ထားသည်"</item>
+ <item msgid="6332116533879646145">"ဆိုင်းငံ့ထားသည်"</item>
+ <item msgid="294459081501073818">"ချိတ်ဆက်မှု ဖြတ်နေသည်…"</item>
+ <item msgid="1577368920272598676">"ချိတ်ဆက်မထားပါ"</item>
+ <item msgid="7655843177582495451">"မအောင်မြင်ပါ"</item>
+ <item msgid="8953752690917593623">"ပိတ်ထားသည်"</item>
+ <item msgid="4400457817750243671">"နှေးကွေးသောဆက်သွယ်မှုကို ယာယီရှောင်ထားသည်"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-my/strings.xml b/libs/WifiTrackerLib/res/values-my/strings.xml
index 81f99a585..d6e0873a5 100644
--- a/libs/WifiTrackerLib/res/values-my/strings.xml
+++ b/libs/WifiTrackerLib/res/values-my/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"အော်တိုချိတ်ဆက်မှု ပိတ်ထားသည်"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> က သိမ်းဆည်းခဲ့သည်"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"အလိုအလျောက် ချိတ်ဆက်မည်မဟုတ်ပါ"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"အင်တာနက် ချိတ်ဆက်မှု မရှိပါ"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"အထောက်အထားစိစစ်မှု ပြဿနာ"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"စကားဝှက်ကို စစ်ဆေးပြီး ထပ်လုပ်ကြည့်ပါ"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP စီစဉ်သတ်မှတ်ခြင်း မအောင်မြင်ပါ"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"ပိတ်ထားသည်"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"ကွန်ရက်ချိတ်ဆက်မှု ယာယီပြည့်နေသည်"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"ချိတ်ဆက်မထားပါ"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"သိမ်းဆည်းပြီး"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"အခမဲ့ မဟုတ်ပါ"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"အခမဲ့"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> မှတစ်ဆင့် ချိတ်ဆက်ထားသည်"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g>မှတစ်ဆင့် ရနိုင်သည်"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> မှတစ်ဆင့် အလိုအလျောက် ချိတ်ဆက်ထားသည်"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"ကွန်ရက်အဆင့်သတ်မှတ်ပေးသူ မှတစ်ဆင့် အလိုအလျောက် ချိတ်ဆက်ထားပါသည်"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"ချိတ်ဆက်မှု ကန့်သတ်ထားသည်"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"သီးသန့် ဒီအန်အက်စ် (DNS) ဆာဗာကို သုံး၍မရပါ။"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"အင်တာနက် မရှိပါ"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"အော်တိုချိတ်ဆက်မှု ပိတ်ထားသည်"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> က သိမ်းထားသည်"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"အလိုအလျောက် ချိတ်ဆက်မည်မဟုတ်ပါ"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"အင်တာနက် ချိတ်ဆက်မှု မရှိပါ"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"အထောက်အထားစိစစ်မှု ပြဿနာ"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"စကားဝှက်ကို စစ်ဆေးပြီး ထပ်စမ်းကြည့်ပါ"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP စီစဉ်သတ်မှတ်ခြင်း မအောင်မြင်ပါ"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"ပိတ်ထားသည်"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"ချိတ်ဆက်ရန်နေရာ ယာယီပြည့်နေသည်"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"ကွန်ရက်အခြေအနေများ ယာယီအားနည်းနေသည်"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"အချက်ပြမှု အားနည်းသည်။ ရောက်တာအနီးသို့ ရွှေ့ကြည့်ပါ။"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"ကွန်ရက်က လက်ခံနိုင်စွမ်းကို ကျော်လွန်နေသည်။ နောက်မှ ထပ်စမ်းကြည့်ပါ။"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"ချိတ်ဆက်၍ မရပါ။ နောက်မှ ထပ်စမ်းကြည့်ပါ။"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"ကွန်ရက်က ဤစက်ပစ္စည်းနှင့် တွဲဖက်မသုံးနိုင်ပါ"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"ချိတ်ဆက်မထားပါ"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"သိမ်းပြီးပါပြီ"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"အခမဲ့ မဟုတ်ပါ"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"အခမဲ့"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> မှတစ်ဆင့် ချိတ်ဆက်ထားသည်"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g>မှတစ်ဆင့် ရနိုင်သည်"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> မှတစ်ဆင့် အလိုအလျောက် ချိတ်ဆက်ထားသည်"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"ကွန်ရက်အဆင့်သတ်မှတ်ပေးသူ မှတစ်ဆင့် အလိုအလျောက် ချိတ်ဆက်ထားပါသည်"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"ချိတ်ဆက်မှု ကန့်သတ်ထားသည်"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"မရှိ"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"သက်တမ်းကုန်သွားပါပြီ"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"အကောင့်ဖွင့်ရန် တို့ပါ"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"စာရင်းသွင်းမှာယူမှုကို သက်တမ်းတိုးပြီး ချိတ်ဆက်ရန် တို့ပါ"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ကို ဖွင့်နေသည်"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"ချိတ်ဆက်၍ မရပါ"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"အကောင့်ဖွင့်ခြင်း အပြီးသတ်နေသည်…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"အကောင့်ဖွင့်ခြင်း အပြီးသတ်၍ မရပါ။ ထပ်စမ်းကြည့်ရန် တို့ပါ။"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"အကောင့်ဖွင့်ပြီးပါပြီ။ ချိတ်ဆက်နေသည်…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"ဤကွန်ရက်က စက်တည်နေရာကို ခြေရာခံရန် အသုံးပြုနိုင်သည့် သီးသန့် ID ကို ရရှိပါသည်။ "<annotation id="url">"ပိုမိုလေ့လာရန်"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"အလွန်နှေး"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"နှေး"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"အတော်အသင့်"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"မြန်"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"အလွန်မြန်"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"မရှိ"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"သက်တမ်းကုန်သွားပါပြီ"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"အကောင့်ဖွင့်ရန် တို့ပါ"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"စာရင်းသွင်းမှာယူမှုကို သက်တမ်းတိုးပြီး ချိတ်ဆက်ရန် တို့ပါ"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ကို ဖွင့်နေသည်"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"ချိတ်ဆက်၍ မရပါ"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"အကောင့်ဖွင့်ခြင်း အပြီးသတ်နေသည်…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"အကောင့်ဖွင့်ခြင်းကို အပြီးသတ်၍ မရပါ။ ထပ်စမ်းကြည့်ရန် တို့ပါ။"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"အကောင့်ဖွင့်ပြီးပါပြီ။ ချိတ်ဆက်နေသည်…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"ဤကွန်ရက်က စက်တည်နေရာကို ခြေရာခံရန် အသုံးပြုနိုင်သည့် SIM ID တစ်ခုကို ရရှိပါသည်။ "<annotation id="url">"ပိုမိုလေ့လာရန်"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"အလွန်နှေး"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"အနှေး"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"အလယ်အလတ်"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"အမြန်"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"အလွန်မြန်"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-nb/arrays.xml b/libs/WifiTrackerLib/res/values-nb/arrays.xml
index ce4845eda..108db4971 100644
--- a/libs/WifiTrackerLib/res/values-nb/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-nb/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Skanner …"</item>
- <item msgid="6222852518007967736">"Kobler til …"</item>
- <item msgid="1176401854208153464">"Autentiserer …"</item>
- <item msgid="1377026397901197257">"Henter IP-adresse …"</item>
- <item msgid="7627139816052121509">"Tilkoblet"</item>
- <item msgid="1598801023719359130">"Sperret midlertidig"</item>
- <item msgid="9160765456671002324">"Kobler fra …"</item>
- <item msgid="8013176736494493734">"Frakoblet"</item>
- <item msgid="4077393480368783785">"Mislykket"</item>
- <item msgid="605372180740008604">"Blokkert"</item>
- <item msgid="5102306451432929048">"Unngår dårlig tilkobling midlertidig"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Skanner …"</item>
+ <item msgid="9055468790485684083">"Kobler til …"</item>
+ <item msgid="6099499723199990208">"Autentiserer …"</item>
+ <item msgid="6794055951297347103">"Henter IP-adresse …"</item>
+ <item msgid="5450920562291300229">"Tilkoblet"</item>
+ <item msgid="6332116533879646145">"Sperret midlertidig"</item>
+ <item msgid="294459081501073818">"Kobler fra …"</item>
+ <item msgid="1577368920272598676">"Frakoblet"</item>
+ <item msgid="7655843177582495451">"Mislykket"</item>
+ <item msgid="8953752690917593623">"Blokkert"</item>
+ <item msgid="4400457817750243671">"Unngår dårlig tilkobling midlertidig"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-nb/strings.xml b/libs/WifiTrackerLib/res/values-nb/strings.xml
index a4d3f88ed..5d45a5025 100644
--- a/libs/WifiTrackerLib/res/values-nb/strings.xml
+++ b/libs/WifiTrackerLib/res/values-nb/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Automatisk tilkobling er av"</string>
- <string name="saved_network" msgid="6241977554502802914">"Lagret av <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Kobler ikke til automatisk"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Ingen internettilgang"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Autentiseringsproblem"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Sjekk passordet og prøv igjen"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP-konfigurasjonsfeil"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Slått av"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Tilgangspunktet er midlertidig fullt"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Frakoblet"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Lagret"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Med datamåling"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Uten datamåling"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Tilkoblet via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Tilgjengelig via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatisk tilkoblet via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatisk tilkoblet via leverandør av nettverksvurdering"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Begrenset tilkobling"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Den private DNS-tjeneren kan ikke nås"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Ingen internettilkobling"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automatisk tilkobling er av"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Lagret av <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Kobler ikke til automatisk"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Ingen internettilgang"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Autentiseringsproblem"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Sjekk passordet og prøv igjen"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP-konfigurasjonsfeil"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Slått av"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Tilgangspunktet er midlertidig fullt"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Dårlige nettverksforhold midlertidig"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Svakt signal. Prøv å flytte deg nærmere ruteren."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Nettverket er over kapasitet. Prøv igjen senere."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Kan ikke koble til. Prøv igjen senere."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Nettverket er ikke kompatibelt med denne enheten"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Frakoblet"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Lagret"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Med datamåling"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Uten datamåling"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Tilkoblet via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Tilgjengelig via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatisk tilkoblet via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatisk tilkoblet via leverandør av nettverksvurdering"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Begrenset tilkobling"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Den private DNS-tjeneren kan ikke nås"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Koblet til enheten. Kan ikke gi internettilgang."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Lav kvalitet"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Ingen"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Utløpt"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Trykk for å registrere deg"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Trykk for å fornye abonnementet og koble til"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Åpner <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Kunne ikke koble til"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Fullfører registreringen …"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Kunne ikke fullføre registreringen. Trykk for å prøve på nytt."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Registreringen er fullført. Kobler til …"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Dette nettverket mottar en unik ID som kan brukes til å spore enhetsposisjonen. "<annotation id="url">"Finn ut mer"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Veldig treg"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Treg"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Ok"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Middels"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Rask"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Veldig rask"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Ingen"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Utløpt"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Trykk for å registrere deg"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Trykk for å fornye abonnementet og koble til"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Åpner <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Kunne ikke koble til"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Fullfører registreringen …"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Kunne ikke fullføre registreringen. Trykk for å prøve på nytt."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registreringen er fullført. Kobler til …"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Dette nettverket mottar en SIM-ID som kan brukes til å spore enhetsposisjonen. "<annotation id="url">"Finn ut mer"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Veldig treg"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Treg"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Medium"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Rask"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Veldig rask"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi kobles ikke til automatisk inntil videre"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ne/arrays.xml b/libs/WifiTrackerLib/res/values-ne/arrays.xml
index 804a6de32..0c4516234 100644
--- a/libs/WifiTrackerLib/res/values-ne/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-ne/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"स्क्यान गर्दै…"</item>
- <item msgid="6222852518007967736">"जोड्दै…"</item>
- <item msgid="1176401854208153464">"प्रमाणीकरण गर्दै…"</item>
- <item msgid="1377026397901197257">"IP एड्रेस हासिल गर्दै…"</item>
- <item msgid="7627139816052121509">"कनेक्ट गरिएको छ"</item>
- <item msgid="1598801023719359130">"निलम्बित"</item>
- <item msgid="9160765456671002324">"विच्छेद गर्दै…"</item>
- <item msgid="8013176736494493734">"विच्छेद गरियो"</item>
- <item msgid="4077393480368783785">"असफल"</item>
- <item msgid="605372180740008604">"रोकियो"</item>
- <item msgid="5102306451432929048">"कमजोर जडानलाई अस्थायी रूपमा बेवास्ता गर्दै"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"स्क्यान गर्दै…"</item>
+ <item msgid="9055468790485684083">"कनेक्ट गर्दै…"</item>
+ <item msgid="6099499723199990208">"प्रमाणीकरण गर्दै…"</item>
+ <item msgid="6794055951297347103">"IP एड्रेस हासिल गर्दै…"</item>
+ <item msgid="5450920562291300229">"कनेक्ट गरिएको छ"</item>
+ <item msgid="6332116533879646145">"निलम्बन गरियो"</item>
+ <item msgid="294459081501073818">"डिस्कनेक्ट गर्दै…"</item>
+ <item msgid="1577368920272598676">"डिस्कनेक्ट गरियो"</item>
+ <item msgid="7655843177582495451">"Wi-Fi कनेक्ट गर्न सकिएन"</item>
+ <item msgid="8953752690917593623">"रोक लगाइयो"</item>
+ <item msgid="4400457817750243671">"केही समयका लागि कमजोर इन्टरनेटलाई बेवास्ता गर्दै"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ne/strings.xml b/libs/WifiTrackerLib/res/values-ne/strings.xml
index 2ba8060f9..b84bcab2a 100644
--- a/libs/WifiTrackerLib/res/values-ne/strings.xml
+++ b/libs/WifiTrackerLib/res/values-ne/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"स्वतः कनेक्ट गर्ने सुविधा अफ छ"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> द्वारा सेभ गरियो"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"स्वतः जोडिने छैन"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"इन्टरनेटमाथिको पहुँच छैन"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"प्रमाणीकरणसम्बन्धी समस्या"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"पासवर्ड जाँच गरेर फेरि प्रयास गर्नुहोस्"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP कन्फिगरेसन असफल"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"असक्षम पारियो"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"पहुँचसम्बन्धी स्थान अस्थायी रूपमा भरिएको छ"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"विच्छेद गरियो"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"सेभ गरियो"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"सशुल्क वाइफाइ"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"मिटर नगरिएको"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> मार्फत जडान गरिएको"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> मार्फत उपलब्ध"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> मार्फत स्वतः जोडियो"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"नेटवर्क मूल्याङ्कनकर्ता मार्फत स्वत: जडान गरिएको"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"सीमित जडान"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"निजी DNS सर्भरमाथि पहुँच प्राप्त गर्न सकिँदैन"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"इन्टरनेट छैन"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"स्वतः कनेक्ट गर्ने सुविधा अफ छ"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> ले सेभ गरेको"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"स्वतः कनेक्ट हुने छैन"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"इन्टरनेट छैन"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"प्रमाणीकरण हुन सकेन"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"पासवर्ड जाँच गरेर फेरि प्रयास गर्नुहोस्"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP कन्फिगर गर्न सकिएन"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"असक्षम पारिएको छ"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"पहुँच बिन्दु केही समयका लागि भरिएको छ"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"अहिले इन्टरनेट राम्ररी चलिरहेको छैन"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"सिग्नल कमजोर छ। राउटरको नजिकै गई हेर्नुहोस्।"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"नेटवर्कमा अत्यधिक लोड छ। पछि फेरि प्रयास गर्नुहोस्।"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"कनेक्ट गर्न सकिएन। पछि फेरि प्रयास गर्नुहोस्।"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"यो डिभाइससँग नेटवर्क कम्प्याटिबल छैन"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"डिस्कनेक्ट गरियो"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"सेभ गरियो"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"सीमा तोकिएको इन्टरनेट"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"सीमा हटाइएको छ"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> मार्फत कनेक्ट गरियो"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> मार्फत उपलब्ध छ"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> मार्फत स्वतः कनेक्ट भयो"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"नेटवर्कको मूल्याङ्कन गर्ने सेवा प्रदायकमार्फत स्वतः कनेक्ट भयो"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"सीमित कनेक्सन"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"कुनै पनि होइन"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"म्याद सकियो"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"साइन अप गर्न ट्याप गर्नुहोस्"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"ट्याप गरेर सदस्यता नवीकरण गर्नुहोस् र इन्टरनेटमा कनेक्ट गर्नुहोस्"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> खोल्दै"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"जोडिन सकिएन"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"साइन अप गर्ने कार्य सम्पन्न गर्दै…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"साइन अप गर्ने कार्य सम्पन्न गर्न सकिएन। फेरि प्रयास गर्न ट्याप गर्नुहोस्।"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"साइन अप गर्ने कार्य सम्पन्न भयो। जोड्दै…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"यो नेटवर्कले डिभाइसको स्थान पहिल्याउन प्रयोग गर्न सकिने एउटा अद्वित्तीय ID प्राप्त गर्छ। "<annotation id="url">"थप जान्नुहोस्"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"धेरै ढिलो"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"बिस्तारै"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ठिक छ"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"मध्यम"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"छिटो"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"धेरै छिटो"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"कुनै पनि होइन"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"म्याद सकियो"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"साइन अप गर्न ट्याप गर्नुहोस्"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"ट्याप गरेर सदस्यता नवीकरण गर्नुहोस् र इन्टरनेटमा कनेक्ट गर्नुहोस्"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> खोल्दै"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"कनेक्ट गर्न सकिएन"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"साइन अप गर्ने कार्य सम्पन्न गर्दै…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"साइन अप गर्ने कार्य सम्पन्न गर्न सकिएन। फेरि प्रयास गर्न ट्याप गर्नुहोस्।"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"साइन अप गर्ने कार्य सम्पन्न भयो। कनेक्ट गर्दै…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"यो नेटवर्कलाई डिभाइसको स्थान पहिल्याउन प्रयोग गर्न मिल्ने एउटा अद्वितीय SIM कार्ड ID उपलब्ध गराइन्छ। "<annotation id="url">"थप जान्नुहोस्"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"धेरै सुस्त"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"सुस्त"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ठिकै"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"मध्यम"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"छिटो"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"धेरै छिटो"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-nl/arrays.xml b/libs/WifiTrackerLib/res/values-nl/arrays.xml
index ec2f523ea..ce64c221f 100644
--- a/libs/WifiTrackerLib/res/values-nl/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-nl/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Scannen…"</item>
- <item msgid="6222852518007967736">"Verbinden…"</item>
- <item msgid="1176401854208153464">"Verifiëren…"</item>
- <item msgid="1377026397901197257">"IP-adres ophalen…"</item>
- <item msgid="7627139816052121509">"Verbonden"</item>
- <item msgid="1598801023719359130">"Opgeschort"</item>
- <item msgid="9160765456671002324">"Verbinding verbreken…"</item>
- <item msgid="8013176736494493734">"Verbinding verbroken"</item>
- <item msgid="4077393480368783785">"Mislukt"</item>
- <item msgid="605372180740008604">"Geblokkeerd"</item>
- <item msgid="5102306451432929048">"Slechte verbinding tijdelijk vermijden"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Scannen…"</item>
+ <item msgid="9055468790485684083">"Verbinden…"</item>
+ <item msgid="6099499723199990208">"Verifiëren…"</item>
+ <item msgid="6794055951297347103">"IP-adres ophalen…"</item>
+ <item msgid="5450920562291300229">"Verbonden"</item>
+ <item msgid="6332116533879646145">"Opgeschort"</item>
+ <item msgid="294459081501073818">"Verbinding verbreken…"</item>
+ <item msgid="1577368920272598676">"Verbinding verbroken"</item>
+ <item msgid="7655843177582495451">"Mislukt"</item>
+ <item msgid="8953752690917593623">"Geblokkeerd"</item>
+ <item msgid="4400457817750243671">"Slechte verbinding tijdelijk vermijden"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-nl/strings.xml b/libs/WifiTrackerLib/res/values-nl/strings.xml
index 2b21094e4..f5a42e418 100644
--- a/libs/WifiTrackerLib/res/values-nl/strings.xml
+++ b/libs/WifiTrackerLib/res/values-nl/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"\'Automatisch verbinding maken\' staat uit"</string>
- <string name="saved_network" msgid="6241977554502802914">"Opgeslagen door \'<xliff:g id="NAME">%1$s</xliff:g>\'"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Er wordt niet automatisch verbinding gemaakt"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Geen internettoegang"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Verificatieprobleem"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Controleer het wachtwoord en probeer het opnieuw"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP-configuratie mislukt"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Uitgezet"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Toegangspunt tijdelijk vol"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Verbinding verbroken"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Opgeslagen"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Met datalimiet"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Gratis"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Verbonden via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Beschikbaar via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatisch verbonden via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatisch verbonden via provider van netwerkbeoordelingen"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Beperkte verbinding"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Geen toegang tot privé-DNS-server"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Geen internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automatisch verbinding maken staat uit"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Opgeslagen door <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Er wordt niet automatisch verbinding gemaakt"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Geen internettoegang"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Verificatieprobleem"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Check het wachtwoord en probeer het opnieuw"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP-configuratie mislukt"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Uitgezet"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Toegangspunt tijdelijk vol"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Tijdelijk slechte netwerkomstandigheden"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Zwak signaal. Ga dichter naar de router toe."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Netwerk is overbelast. Probeer het later opnieuw."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Kan geen verbinding maken. Probeer het later opnieuw."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Netwerk niet geschikt voor dit apparaat"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Verbinding verbroken"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Opgeslagen"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Met datalimiet"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Gratis"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Verbonden via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Beschikbaar via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatisch verbonden via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatisch verbonden via provider van netwerkbeoordelingen"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Beperkte verbinding"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Geen toegang tot privé-DNS-server"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Verbonden met apparaat. Kan geen internet bieden."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Lage kwaliteit"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Geen"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Verlopen"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Tik om aan te melden"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Tik om het abonnement te verlengen en verbinding te maken"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> openen"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Kan geen verbinding maken"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Aanmelding voltooien…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Kan aanmelding niet voltooien. Tik om het opnieuw te proberen."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Aanmelding voltooid. Verbinden…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Dit netwerk ontvangt een unieke ID die kan worden gebruikt om de apparaatlocatie bij te houden. "<annotation id="url">"Meer informatie"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Zeer langzaam"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Langzaam"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Redelijk"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Gemiddeld"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Snel"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Zeer snel"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Geen"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Verlopen"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Tik om aan te melden"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Tik om het abonnement te verlengen en verbinding te maken"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> openen"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Kan geen verbinding maken"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Aanmelding voltooien…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Kan aanmelding niet voltooien. Tik om het opnieuw te proberen."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Aanmelding voltooid. Verbinden…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Dit netwerk ontvangt een simkaart-ID die kan worden gebruikt om de apparaatlocatie bij te houden. "<annotation id="url">"Meer informatie"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Zeer langzaam"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Langzaam"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Normaal"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Snel"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Zeer snel"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wifi maakt momenteel niet automatisch verbinding"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-or/arrays.xml b/libs/WifiTrackerLib/res/values-or/arrays.xml
index 7aecb3f19..607552e7b 100644
--- a/libs/WifiTrackerLib/res/values-or/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-or/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"ସ୍କାନ୍ ହେଉଛି…"</item>
- <item msgid="6222852518007967736">"ସଂଯୋଗ ହେଉଛି…"</item>
- <item msgid="1176401854208153464">"ପ୍ରାମାଣିକରଣ କରାଯାଉଛି…"</item>
- <item msgid="1377026397901197257">"IP ଠିକଣା ହାସଲ କରୁଛି…"</item>
- <item msgid="7627139816052121509">"ସଂଯୋଗ ହୋଇଛି"</item>
- <item msgid="1598801023719359130">"ସାମୟିକ ଭାବରେ ବନ୍ଦ କରାଯାଇଛି"</item>
- <item msgid="9160765456671002324">"ବିଚ୍ଛିନ୍ନ କରାଯାଉଛି…"</item>
- <item msgid="8013176736494493734">"ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି"</item>
- <item msgid="4077393480368783785">"ଅସଫଳ"</item>
- <item msgid="605372180740008604">"ବ୍ଲକ୍ କରାଯାଇଛି"</item>
- <item msgid="5102306451432929048">"ଦୁର୍ବଳ ସଂଯୋଗକୂ ସାମୟିକ ଭାବେ ଏଡ଼ାଉଛି"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"ସ୍କାନ୍ କରାଯାଉଛି…"</item>
+ <item msgid="9055468790485684083">"ସଂଯୋଗ ହେଉଛି…"</item>
+ <item msgid="6099499723199990208">"ପ୍ରାମାଣିକରଣ କରାଯାଉଛି…"</item>
+ <item msgid="6794055951297347103">"IP ଠିକଣା ପ୍ରାପ୍ତ କରୁଛି…"</item>
+ <item msgid="5450920562291300229">"ସଂଯୋଗ ହୋଇଛି"</item>
+ <item msgid="6332116533879646145">"ସାମୟିକ ଭାବରେ ବନ୍ଦ କରାଯାଇଛି"</item>
+ <item msgid="294459081501073818">"ବିଚ୍ଛିନ୍ନ କରାଯାଉଛି…"</item>
+ <item msgid="1577368920272598676">"ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି"</item>
+ <item msgid="7655843177582495451">"ଅସଫଳ"</item>
+ <item msgid="8953752690917593623">"ବ୍ଲକ୍ କରାଯାଇଛି"</item>
+ <item msgid="4400457817750243671">"ଦୁର୍ବଳ ସଂଯୋଗକୁ ସାମୟିକ ଭାବେ ଏଡ଼ାଉଛି"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-or/strings.xml b/libs/WifiTrackerLib/res/values-or/strings.xml
index 3e681b5b4..ab2411b08 100644
--- a/libs/WifiTrackerLib/res/values-or/strings.xml
+++ b/libs/WifiTrackerLib/res/values-or/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"ସ୍ୱତଃ-ସଂଯୋଗ ବନ୍ଦ ଅଛି"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> ଦ୍ୱାରା ସେଭ କରାଯାଇଛି"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"ସ୍ୱଚାଳିତ ଭାବେ ସଂଯୋଗ ହେବ ନାହିଁ"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"କୌଣସି ଇଣ୍ଟର୍ନେଟ୍ ଆକ୍ସେସ୍ ନାହିଁ"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"ପ୍ରମାଣିକତା ସମସ୍ୟା"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"ପାସ୍‌ୱର୍ଡ ଯାଞ୍ଚ କରନ୍ତୁ ଏବଂ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP କନଫିଗରେସନ ବିଫଳ ହୋଇଛି"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"ଅକ୍ଷମ ହୋଇଛି"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"ଆକ୍ସେସ୍ ପଏଣ୍ଟ ସାମୟିକ ଭାବେ ପୂର୍ଣ୍ଣ"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"ବିଛିନ୍ନ କରାଯାଇଛି"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"ସେଭ୍‌ ହୋଇଗଲା"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"ମପାଯାଉଥିବା"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"ମପାଯାଉନଥିବା"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> ଦ୍ବାରା ସଂଯୋଗ କରାଯାଇଛି"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> ମାଧ୍ୟମରେ ଉପଲବ୍ଧ ଅଛି"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> ମାଧ୍ୟମରେ ସ୍ୱଚାଳିତ ଭାବେ ସଂଯୋଗ କରାଯାଇଛି"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"ନେଟୱର୍କ ମୂଲ୍ୟାୟନ ପ୍ରଦାତାଙ୍କ ମାଧ୍ୟମରେ ଅଟୋମେଟିକାଲ୍ୟ ସଂଯୁକ୍ତ"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"ସୀମିତ ସଂଯୋଗ"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"ବ୍ୟକ୍ତିଗତ DNS ସର୍ଭର୍ ଆକ୍ସେସ୍ କରିହେବ ନାହିଁ"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"ଇଣ୍ଟର୍ନେଟ୍ ସଂଯୋଗ ନାହିଁ"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"ସ୍ୱତଃ-ସଂଯୋଗ ବନ୍ଦ ଅଛି"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> ଦ୍ୱାରା ସେଭ୍ କରାଯାଇଛି"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"ସ୍ୱଚାଳିତ ଭାବେ ସଂଯୋଗ ହେବ ନାହିଁ"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"କୌଣସି ଇଣ୍ଟର୍ନେଟ୍ ଆକ୍ସେସ୍ ନାହିଁ"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"ପ୍ରାମାଣିକତା ସମସ୍ୟା"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"ପାସୱାର୍ଡ ଯାଞ୍ଚ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP କନଫିଗରେସନ୍ ବିଫଳ ହୋଇଛି"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"ଅକ୍ଷମ କରାଯାଇଛି"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"ଆକ୍ସେସ୍ ପଏଣ୍ଟ ସାମୟିକ ଭାବେ ପୂର୍ଣ୍ଣ ହୋଇଛି"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"ଅସ୍ଥାୟୀ ଭାବରେ ଖରାପ ନେଟୱାର୍କ ସ୍ଥିତି"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"ସିଗନାଲ୍ ଦୁର୍ବଳ ଅଟେ। ରାଉଟର୍ ପାଖକୁ ଯାଇ ଦେଖନ୍ତୁ।"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"ନେଟୱାର୍କ କ୍ଷମତାର ସର୍ବାଧିକ ସୀମାରେ ପହଞ୍ଚିଯାଇଛି। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"ସଂଯୋଗ କରାଯାଇପାରିବ ନାହିଁ। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"ନେଟୱାର୍କ ଏହି ଡିଭାଇସ୍ ସହିତ ସୁସଙ୍ଗତ ନୁହେଁ"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"ସେଭ୍ କରାଯାଇଛି"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"ମିଟର ହୋଇଥିବା"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"ମିଟର ହୋଇନଥିବା"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> ମାଧ୍ୟମରେ ସଂଯୋଗ କରାଯାଇଛି"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> ମାଧ୍ୟମରେ ଉପଲବ୍ଧ ଅଛି"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> ମାଧ୍ୟମରେ ସ୍ୱଚାଳିତ ଭାବେ ସଂଯୋଗ କରାଯାଇଛି"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"ନେଟୱାର୍କ ମୂଲ୍ୟାଙ୍କନ ପ୍ରଦାନକାରୀଙ୍କ ମାଧ୍ୟମରେ ସ୍ୱଚାଳିତ ଭାବେ ସଂଯୋଗ କରାଯାଇଛି"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"ସୀମିତ ସଂଯୋଗ"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"କିଛି ନାହିଁ"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"ମିଆଦ ଶେଷ ହୋଇଯାଇଛି"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"ସାଇନ୍ ଅପ୍ କରିବାକୁ ଟାପ୍ କରନ୍ତୁ"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"ସଦସ୍ୟତାକୁ ନବୀକରଣ କରି ସଂଯୋଗ କରିବାକୁ ଟାପ୍ କରନ୍ତୁ"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ଖୋଲୁଛି"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"ସଂଯୋଗ କରିହେଲା ନାହିଁ"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"ସାଇନ୍ ଅପ୍ ଶେଷ ହେଉଛି…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"ସାଇନ୍ ଅପ୍ ଶେଷ ହୋଇପାରିଲା ନାହିଁ। ପୁଣି ଚେଷ୍ଟା କରିବାକୁ ଟାପ୍ କରନ୍ତୁ।"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"ସାଇନ୍ ଅପ୍ ଶେଷ ହୋଇଛି। ସଂଯୋଗ କରୁଛି…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"ଏହି ନେଟୱାର୍କ ଏକ ସ୍ୱତନ୍ତ୍ର ID ପ୍ରାପ୍ତ କରେ ଯାହାକୁ ଡିଭାଇସ୍ ଲୋକେସନ୍ ଟ୍ରାକ୍ କରିବା ପାଇଁ ବ୍ୟବହାର କରାଯାଇପାରିବ। "<annotation id="url">"ଅଧିକ ଜାଣନ୍ତୁ"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"ବହୁତ ମନ୍ଥର"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"କମ୍‌ ବେଗ"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ଠିକ୍‌ ଅଛି"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"ମଧ୍ୟମ"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"ଦ୍ରୁତ"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"ଅତି ଦ୍ରୁତ"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"କିଛି ନାହିଁ"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"ମିଆଦ ଶେଷ ହୋଇଯାଇଛି"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"ସାଇନ୍ ଅପ୍ କରିବାକୁ ଟାପ୍ କରନ୍ତୁ"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"ସଦସ୍ୟତାକୁ ନବୀକରଣ କରି ସଂଯୋଗ କରିବାକୁ ଟାପ୍ କରନ୍ତୁ"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ଖୋଲୁଛି"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"ସଂଯୋଗ କରାଯାଇପାରିଲା ନାହିଁ"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"ସାଇନ୍-ଅପ୍ ସମ୍ପୂର୍ଣ୍ଣ କରାଯାଉଛି…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"ସାଇନ୍ ଅପ୍ ସମ୍ପୂର୍ଣ୍ଣ ହୋଇପାରିଲା ନାହିଁ। ପୁଣି ଚେଷ୍ଟା କରିବାକୁ ଟାପ୍ କରନ୍ତୁ।"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"ସାଇନ୍ ଅପ୍ ସମ୍ପୂର୍ଣ୍ଣ ହୋଇଛି। ସଂଯୋଗ କରୁଛି…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"ଏହି ନେଟୱାର୍କ ଏକ SIM ID ପ୍ରାପ୍ତ କରେ ଯାହା ଡିଭାଇସର ଲୋକେସନ୍ ଟ୍ରାକ୍ କରିବାରେ ବ୍ୟବହାର କରାଯାଇପାରିବ। "<annotation id="url">"ଅଧିକ ଜାଣନ୍ତୁ"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"ଅତି ଧୀର"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"ଧୀର"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ଠିକ୍ ଅଛି"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"ମଧ୍ୟମ"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"ଦ୍ରୁତ"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"ଅତି ଦ୍ରୁତ"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-pa/arrays.xml b/libs/WifiTrackerLib/res/values-pa/arrays.xml
index 71be4c240..012906034 100644
--- a/libs/WifiTrackerLib/res/values-pa/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-pa/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"ਸਕੈਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</item>
- <item msgid="6222852518007967736">"ਕਨੈਕਟ ਹੋ ਰਿਹਾ ਹੈ…"</item>
- <item msgid="1176401854208153464">"ਪ੍ਰਮਾਣਿਤ ਕਰ ਰਿਹਾ ਹੈ…"</item>
- <item msgid="1377026397901197257">"IP ਪਤਾ ਪ੍ਰਾਪਤ ਕਰ ਰਿਹਾ ਹੈ…"</item>
- <item msgid="7627139816052121509">"ਕਨੈਕਟ ਹੈ"</item>
- <item msgid="1598801023719359130">"ਮੁਅੱਤਲ ਕੀਤਾ"</item>
- <item msgid="9160765456671002324">"ਡਿਸਕਨੈਕਟ ਹੋ ਰਿਹਾ ਹੈ…"</item>
- <item msgid="8013176736494493734">"ਡਿਸਕਨੈਕਟ ਕੀਤਾ"</item>
- <item msgid="4077393480368783785">"ਅਸਫਲ"</item>
- <item msgid="605372180740008604">"ਬਲਾਕ ਕੀਤਾ ਗਿਆ"</item>
- <item msgid="5102306451432929048">"ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਕਮਜ਼ੋਰ ਕਨੈਕਸ਼ਨ ਤੋਂ ਬਚਣ ਲਈ"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"ਸਕੈਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</item>
+ <item msgid="9055468790485684083">"ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</item>
+ <item msgid="6099499723199990208">"ਪ੍ਰਮਾਣਿਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</item>
+ <item msgid="6794055951297347103">"IP ਪਤਾ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</item>
+ <item msgid="5450920562291300229">"ਕਨੈਕਟ ਹੈ"</item>
+ <item msgid="6332116533879646145">"ਮੁਅੱਤਲ ਕੀਤਾ"</item>
+ <item msgid="294459081501073818">"ਡਿਸਕਨੈਕਟ ਹੋ ਰਿਹਾ ਹੈ…"</item>
+ <item msgid="1577368920272598676">"ਡਿਸਕਨੈਕਟ ਹੋਇਆ"</item>
+ <item msgid="7655843177582495451">"ਅਸਫਲ"</item>
+ <item msgid="8953752690917593623">"ਬਲਾਕ ਕੀਤਾ ਗਿਆ"</item>
+ <item msgid="4400457817750243671">"ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਖਰਾਬ ਕਨੈਕਸ਼ਨ ਤੋਂ ਬਚਣ ਲਈ"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-pa/strings.xml b/libs/WifiTrackerLib/res/values-pa/strings.xml
index c66a9883a..2346a44e6 100644
--- a/libs/WifiTrackerLib/res/values-pa/strings.xml
+++ b/libs/WifiTrackerLib/res/values-pa/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"ਸਵੈ-ਕਨੈਕਟ ਬੰਦ ਹੈ"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> ਵੱਲੋਂ ਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"ਕੋਈ ਇੰਟਰਨੈੱਟ ਪਹੁੰਚ ਨਹੀਂ"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"ਪ੍ਰਮਾਣੀਕਰਨ ਸਮੱਸਿਆ"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"ਪਾਸਵਰਡ ਦੀ ਜਾਂਚ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP ਸੰਰੂਪਣ ਅਸਫਲਤਾ"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"ਅਯੋਗ ਬਣਾਇਆ"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"ਐਕਸੈੱਸ ਪੁਆਇੰਟ ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਸੰਪੂਰਨ ਰੁਝੇਂਵੇਂ ਵਿੱਚ ਹੈ"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"ਡਿਸਕਨੈਕਟ ਕੀਤਾ"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"ਰੱਖਿਅਤ ਕੀਤਾ"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"ਮੀਟਰਬੱਧ ਕੀਤਾ ਗਿਆ"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"ਗੈਰ-ਮੀਟਰਬੱਧ ਕੀਤਾ ਗਿਆ"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> ਰਾਹੀਂ ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> ਰਾਹੀਂ ਉਪਲਬਧ"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> ਰਾਹੀਂ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"ਨੈੱਟਵਰਕ ਰੇਟਿੰਗ ਪ੍ਰਦਾਨਕ ਰਾਹੀਂ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕਨੈਕਟ ਹੋਇਆ"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"ਸੀਮਤ ਕਨੈਕਸ਼ਨ"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"ਨਿੱਜੀ ਡੋਮੇਨ ਨਾਮ ਪ੍ਰਣਾਲੀ (DNS) ਸਰਵਰ \'ਤੇ ਪਹੁੰਚ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"ਇੰਟਰਨੈੱਟ ਨਹੀਂ"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"ਸਵੈ-ਕਨੈਕਟ ਬੰਦ ਹੈ"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> ਵੱਲੋਂ ਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"ਕੋਈ ਇੰਟਰਨੈੱਟ ਪਹੁੰਚ ਨਹੀਂ"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"ਪ੍ਰਮਾਣੀਕਰਨ ਸਮੱਸਿਆ"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"ਪਾਸਵਰਡ ਦੀ ਜਾਂਚ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP ਸੰਰੂਪਣ ਅਸਫਲਤਾ"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"ਬੰਦ ਕੀਤਾ ਗਿਆ"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"ਪਹੁੰਚ ਬਿੰਦੂ ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਸੰਪੂਰਨ ਰੁਝੇਂਵੇਂ ਵਿੱਚ ਹੈ"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"ਅਸਥਾਈ ਖਰਾਬ ਨੈੱਟਵਰਕ ਸਥਿਤੀ"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"ਕਮਜ਼ੋਰ ਸਿਗਨਲ। ਰਾਊਟਰ ਦੇ ਨਜ਼ਦੀਕ ਜਾ ਕੇ ਦੇਖੋ।"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"ਨੈੱਟਵਰਕ ਦੀ ਸਮਰੱਥਾ ਪੂਰੀ ਹੋ ਗਈ ਹੈ। ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"ਨੈੱਟਵਰਕ ਇਸ ਡੀਵਾਈਸ ਦੇ ਅਨੁਰੂਪ ਨਹੀਂ ਹੈ"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"ਡਿਸਕਨੈਕਟ ਹੋਇਆ"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"ਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"ਮੀਟਰਬੱਧ ਕੀਤਾ ਗਿਆ"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"ਗੈਰ-ਮੀਟਰਬੱਧ ਕੀਤਾ ਗਿਆ"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> ਰਾਹੀਂ ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> ਰਾਹੀਂ ਉਪਲਬਧ"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> ਰਾਹੀਂ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"ਨੈੱਟਵਰਕ ਰੇਟਿੰਗ ਪ੍ਰਦਾਨਕ ਰਾਹੀਂ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕਨੈਕਟ ਹੋਇਆ"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"ਸੀਮਤ ਕਨੈਕਸ਼ਨ"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"ਕੋਈ ਨਹੀਂ"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"ਮਿਆਦ ਮੁੱਕ ਗਈ"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"ਸਾਈਨ-ਅੱਪ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"ਗਾਹਕੀ ਦੇ ਨਵੀਨੀਕਰਨ ਲਈ ਅਤੇ ਕਨੈਕਟ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ਨੂੰ ਖੋਲ੍ਹਿਆ ਜਾ ਰਿਹਾ ਹੈ"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"ਸਾਈਨ-ਅੱਪ ਮੁਕੰਮਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"ਸਾਈਨ-ਅੱਪ ਮੁਕੰਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"ਸਾਈਨ-ਅੱਪ ਮੁਕੰਮਲ ਹੋਇਆ। ਕਨੈਕਟ ਹੋ ਰਿਹਾ ਹੈ…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"ਇਹ ਨੈੱਟਵਰਕ ਇੱਕ ਵਿਲੱਖਣ ਆਈਡੀ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਡੀਵਾਈਸ ਦੇ ਟਿਕਾਣੇ ਨੂੰ ਟਰੈਕ ਕਰਨ ਲਈ ਵਰਤਿਆ ਦਾ ਸਕਦਾ ਹੈ। "<annotation id="url">"ਹੋਰ ਜਾਣੋ"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"ਬਹੁਤ ਹੌਲੀ"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"ਹੌਲੀ"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ਠੀਕ ਹੈ"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"ਔਸਤ"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"ਤੇਜ਼"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"ਬਹੁਤ ਤੇਜ਼"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"ਕੋਈ ਨਹੀਂ"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"ਮਿਆਦ ਮੁੱਕ ਗਈ"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"ਸਾਈਨ-ਅੱਪ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"ਗਾਹਕੀ ਦੇ ਨਵੀਨੀਕਰਨ ਅਤੇ ਕਨੈਕਟ ਹੋਣ ਲਈ ਟੈਪ ਕਰੋ"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ਖੋਲ੍ਹਿਆ ਜਾ ਰਿਹਾ ਹੈ"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"ਸਾਈਨ-ਅੱਪ ਮੁਕੰਮਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"ਸਾਈਨ-ਅੱਪ ਮੁਕੰਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"ਸਾਈਨ-ਅੱਪ ਮੁਕੰਮਲ ਹੋਇਆ। ਕਨੈਕਟ ਹੋ ਰਿਹਾ ਹੈ…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"ਇਹ ਨੈੱਟਵਰਕ ਇੱਕ ਸਿਮ ਆਈਡੀ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਡੀਵਾਈਸ ਦੇ ਟਿਕਾਣੇ ਨੂੰ ਟਰੈਕ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ। "<annotation id="url">"ਹੋਰ ਜਾਣੋ"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"ਬਹੁਤ ਹੌਲੀ"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"ਹੌਲੀ"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ਠੀਕ ਹੈ"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"ਮੱਧਮ"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"ਤੇਜ਼"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"ਬਹੁਤ ਤੇਜ਼"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-pl/arrays.xml b/libs/WifiTrackerLib/res/values-pl/arrays.xml
index 74edefed9..bdb1b51ed 100644
--- a/libs/WifiTrackerLib/res/values-pl/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-pl/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Skanuję…"</item>
- <item msgid="6222852518007967736">"Łączę…"</item>
- <item msgid="1176401854208153464">"Uwierzytelniam…"</item>
- <item msgid="1377026397901197257">"Uzyskuję adres IP…"</item>
- <item msgid="7627139816052121509">"Połączono"</item>
- <item msgid="1598801023719359130">"Zawieszono"</item>
- <item msgid="9160765456671002324">"Rozłączam…"</item>
- <item msgid="8013176736494493734">"Odłączono"</item>
- <item msgid="4077393480368783785">"Niepowodzenie"</item>
- <item msgid="605372180740008604">"Zablokowano"</item>
- <item msgid="5102306451432929048">"Tymczasowo, by uniknąć połączenia o niskiej jakości"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Skanuję…"</item>
+ <item msgid="9055468790485684083">"Łączę…"</item>
+ <item msgid="6099499723199990208">"Uwierzytelniam…"</item>
+ <item msgid="6794055951297347103">"Uzyskuję adres IP…"</item>
+ <item msgid="5450920562291300229">"Połączono"</item>
+ <item msgid="6332116533879646145">"Zawieszono"</item>
+ <item msgid="294459081501073818">"Rozłączam…"</item>
+ <item msgid="1577368920272598676">"Odłączono"</item>
+ <item msgid="7655843177582495451">"Niepowodzenie"</item>
+ <item msgid="8953752690917593623">"Zablokowano"</item>
+ <item msgid="4400457817750243671">"Tymczasowe unikanie połączenia o niskiej jakości"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-pl/strings.xml b/libs/WifiTrackerLib/res/values-pl/strings.xml
index b3287e035..9bf50c6fd 100644
--- a/libs/WifiTrackerLib/res/values-pl/strings.xml
+++ b/libs/WifiTrackerLib/res/values-pl/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Łączenie automatyczne wyłączone"</string>
- <string name="saved_network" msgid="6241977554502802914">"Zapisane przez: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Nie można połączyć automatycznie"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Brak dostępu do internetu"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problem z uwierzytelnianiem"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Sprawdź hasło i spróbuj ponownie"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Błąd konfiguracji IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Wyłączona"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Punkt dostępu jest tymczasowo zajęty"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Rozłączono"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Zapisana"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Użycie danych jest mierzone"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Użycie danych nie jest mierzone"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Połączenie przez: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Dostęp przez aplikację <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatyczne połączenie przez <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatycznie połączono przez dostawcę ocen jakości sieci"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Ograniczone połączenie"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Brak dostępu do prywatnego serwera DNS"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Brak internetu"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Łączenie automatyczne wyłączone"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Zapisane przez aplikację <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Nie można połączyć automatycznie"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Brak dostępu do internetu"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problem z uwierzytelnianiem"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Sprawdź hasło i spróbuj ponownie"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Błąd konfiguracji IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Wyłączono"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Punkt dostępu jest tymczasowo zajęty"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Tymczasowo niska jakość połączenia sieciowego"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Słaby sygnał. Przysuń się do routera."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Sieć jest przeciążona. Spróbuj ponownie później."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Nie udało się połączyć. Spróbuj ponownie później."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Sieć niezgodna z tym urządzeniem"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Odłączono"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Zapisano"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Użycie danych jest mierzone"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Bez pomiaru"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Połączenie przez aplikację <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Dostęp przez aplikację <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatyczne połączenie przez aplikację <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatyczne połączenie przez aplikację dostawcy ocen jakości sieci"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Ograniczone połączenie"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Brak dostępu do prywatnego serwera DNS"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Podłączono do urządzenia. Nie można zapewnić dostępu do internetu."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Niska jakość"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Brak"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Ważność wygasła"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Kliknij, by się zarejestrować"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Kliknij, by odnowić subskrypcję i nawiązać połączenie"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Otwieram: <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Nie udało się połączyć"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Kończę rejestrować…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Nie udało się dokończyć rejestracji. Kliknij, by spróbować ponownie."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Rejestracja zakończona. Łączę…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Ta sieć otrzymuje unikalny identyfikator, który można wykorzystać do śledzenia lokalizacji urządzenia. "<annotation id="url">"Więcej informacji"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Bardzo wolna"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Wolna"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Średnia"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Szybka"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Bardzo szybka"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Brak"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Ważność wygasła"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Kliknij, by się zarejestrować"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Kliknij, by odnowić subskrypcję i nawiązać połączenie"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Otwieram: <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Nie udało się połączyć"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Kończę rejestrować…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Nie udało się dokończyć rejestracji. Kliknij, by spróbować ponownie."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Rejestracja zakończona. Łączę…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Ta sieć otrzymuje identyfikator SIM, który można wykorzystać do śledzenia lokalizacji urządzenia. "<annotation id="url">"Więcej informacji"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Bardzo wolna"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Wolna"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Średnia"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Szybka"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Bardzo szybka"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-pt-rBR/arrays.xml b/libs/WifiTrackerLib/res/values-pt-rBR/arrays.xml
index 5330614d1..e55c77a1d 100644
--- a/libs/WifiTrackerLib/res/values-pt-rBR/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-pt-rBR/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Buscando…"</item>
- <item msgid="6222852518007967736">"Conectando…"</item>
- <item msgid="1176401854208153464">"Autenticando…"</item>
- <item msgid="1377026397901197257">"Recebendo endereço IP…"</item>
- <item msgid="7627139816052121509">"Conectada"</item>
- <item msgid="1598801023719359130">"Suspensa"</item>
- <item msgid="9160765456671002324">"Desconectando…"</item>
- <item msgid="8013176736494493734">"Desconectada"</item>
- <item msgid="4077393480368783785">"Falha"</item>
- <item msgid="605372180740008604">"Bloqueada"</item>
- <item msgid="5102306451432929048">"Evitando temporariamente uma conexão ruim"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Buscando…"</item>
+ <item msgid="9055468790485684083">"Conectando…"</item>
+ <item msgid="6099499723199990208">"Autenticando…"</item>
+ <item msgid="6794055951297347103">"Recebendo endereço IP…"</item>
+ <item msgid="5450920562291300229">"Conectada"</item>
+ <item msgid="6332116533879646145">"Suspenso"</item>
+ <item msgid="294459081501073818">"Desconectando…"</item>
+ <item msgid="1577368920272598676">"Desconectado"</item>
+ <item msgid="7655843177582495451">"Falha"</item>
+ <item msgid="8953752690917593623">"Bloqueado"</item>
+ <item msgid="4400457817750243671">"Evitando temporariamente uma conexão ruim"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-pt-rBR/strings.xml b/libs/WifiTrackerLib/res/values-pt-rBR/strings.xml
index 408cc6622..b4f7e3ae0 100644
--- a/libs/WifiTrackerLib/res/values-pt-rBR/strings.xml
+++ b/libs/WifiTrackerLib/res/values-pt-rBR/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"A conexão automática está desativada"</string>
- <string name="saved_network" msgid="6241977554502802914">"Salva por <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Não se conectará automaticamente"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Sem acesso à Internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problema de autenticação"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Verifique a senha e tente novamente"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Falha na configuração de IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Desativado"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Ponto de acesso temporariamente cheio"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Desconectada"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Salva"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Limitada"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Ilimitada"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Conectado via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Disponível via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Conectada automaticamente via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Conectado automaticamente via provedor de avaliação de rede"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Conexão limitada"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Não é possível acessar o servidor DNS privado"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Sem Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"A conexão automática está desativada"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Salva por <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Não se conectará automaticamente"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Sem acesso à Internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problema de autenticação"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Verifique a senha e tente novamente"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Falha na configuração de IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Desativada"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Ponto de acesso temporariamente cheio"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Conexão de rede temporariamente fraca"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"O sinal está fraco. Tente se aproximar do roteador."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"A rede está sobrecarregada. Tente novamente mais tarde."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Não foi possível conectar. Tente novamente mais tarde."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"A rede não é compatível com este dispositivo"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Desconectada"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Salva"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Limitada"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Ilimitada"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Conectado via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Disponível via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Conectado automaticamente via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Conectado automaticamente via provedor de avaliação de rede"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Conexão limitada"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Não é possível acessar o servidor DNS particular"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Conectada ao dispositivo. Sem acesso à Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Conexão lenta"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Nenhuma"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Expirada"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Toque para se inscrever"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Toque para renovar a assinatura e se conectar"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Abrindo <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Não foi possível conectar"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Concluindo inscrição…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Não foi possível concluir a inscrição. Toque para tentar novamente."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Inscrição concluída. Conectando…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Esta rede recebe um código exclusivo que pode ser usado para rastrear a localização do dispositivo. "<annotation id="url">"Saiba mais"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Muito lenta"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lenta"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Ok"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Média"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Rápida"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Muito rápida"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Nenhuma"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Expirado"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Toque para se inscrever"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Toque para renovar a assinatura e se conectar"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Abrindo <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Não foi possível conectar"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Concluindo inscrição…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Não foi possível concluir a inscrição. Toque para tentar novamente."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Inscrição concluída. Conectando…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Essa rede recebe um ID de chip que pode ser usado para monitorar o local do dispositivo. "<annotation id="url">"Saiba mais"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Muito lenta"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lenta"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Ok"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Média"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Rápida"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Muito rápida"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"A conexão automática ao Wi-Fi não está disponível no momento"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml b/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml
index b15b6a510..822b09180 100644
--- a/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-pt-rPT/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"A procurar…"</item>
- <item msgid="6222852518007967736">"A ligar…"</item>
- <item msgid="1176401854208153464">"A autenticar…"</item>
- <item msgid="1377026397901197257">"A obter endereço IP…"</item>
- <item msgid="7627139816052121509">"Ligado"</item>
- <item msgid="1598801023719359130">"Suspenso"</item>
- <item msgid="9160765456671002324">"A desligar…"</item>
- <item msgid="8013176736494493734">"Desligado"</item>
- <item msgid="4077393480368783785">"Sem êxito"</item>
- <item msgid="605372180740008604">"Bloqueado"</item>
- <item msgid="5102306451432929048">"A evitar temporariamente uma ligação fraca…"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"A procurar…"</item>
+ <item msgid="9055468790485684083">"A ligar…"</item>
+ <item msgid="6099499723199990208">"A autenticar…"</item>
+ <item msgid="6794055951297347103">"A obter endereço IP…"</item>
+ <item msgid="5450920562291300229">"Ligado"</item>
+ <item msgid="6332116533879646145">"Suspenso"</item>
+ <item msgid="294459081501073818">"A desligar…"</item>
+ <item msgid="1577368920272598676">"Desligado"</item>
+ <item msgid="7655843177582495451">"Sem êxito"</item>
+ <item msgid="8953752690917593623">"Bloqueado"</item>
+ <item msgid="4400457817750243671">"A evitar temporariamente uma ligação fraca…"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml b/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml
index 10f3dfb76..80aeb19bd 100644
--- a/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml
+++ b/libs/WifiTrackerLib/res/values-pt-rPT/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"A ligação automática está desativada"</string>
- <string name="saved_network" msgid="6241977554502802914">"Guardada por <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Não é efetuada uma ligação automaticamente."</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Sem acesso à Internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problema de autenticação"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Verifique a palavra-passe e tente novamente"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Falha de configuração de IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Desativado"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Ponto de acesso temporariamente cheio"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Desligada"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Guardada"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Acesso limitado"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Acesso ilimitado"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Ligado via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Disponível através da app <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Ligado automaticamente através de <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Ligado automaticamente através do fornecedor de classificação de rede"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Ligação limitada"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Não é possível aceder ao servidor DNS."</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Sem Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"A ligação automática está desativada"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Guardada por <xliff:g id="NAME">%1$s</xliff:g>."</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Não é efetuada uma ligação automaticamente."</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Sem acesso à Internet."</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problema de autenticação"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Verifique a palavra-passe e tente novamente."</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Falha de configuração de IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Desativada"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Ponto de acesso temporariamente cheio."</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Condições de rede fraca temporárias"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Sinal fraco. Experimente aproximar-se do router."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"A capacidade da rede foi excedida. Tente novamente mais tarde."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Não é possível ligar. Tente novamente mais tarde."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"A rede não é compatível com este dispositivo"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Desligada"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Guardada."</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Com acesso limitado"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Com acesso ilimitado"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Ligado através de <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Disponível através de <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Ligado automaticamente através de <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Ligado automaticamente através do fornecedor de classificação de rede"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Ligação limitada."</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Não é possível aceder ao servidor DNS privado."</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Ligado ao dispositivo. Não é possível disponibilizar Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Baixa qualidade"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Nenhuma"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Expirada"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Toque para se inscrever."</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Toque para renovar a subscrição e estabelecer ligação."</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"A abrir <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>…"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Não foi possível estabelecer ligação."</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"A concluir a inscrição…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Não foi possível concluir a inscrição. Toque para tentar novamente."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Inscrição concluída. A estabelecer ligação…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Esta rede recebe um ID exclusivo que pode ser utilizado para monitorizar a localização do dispositivo. "<annotation id="url">"Saber mais"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Muito lenta"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lenta"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Média"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Rápida"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Muito rápida"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Nenhuma"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Expirado."</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Toque para se inscrever."</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Toque para renovar a subscrição e estabelecer ligação."</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"A abrir <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>…"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Não foi possível estabelecer ligação"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"A concluir a inscrição…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Não foi possível concluir a inscrição. Toque para tentar novamente."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Inscrição concluída. A estabelecer ligação…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Esta rede recebe um ID do SIM que pode ser utilizado para monitorizar a localização do dispositivo. "<annotation id="url">"Saiba mais"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Muito lenta"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lenta"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Razoável"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Média"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Rápida"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Muito rápida"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Por agora, o Wi-Fi não irá estabelecer ligação automaticamente"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-pt/arrays.xml b/libs/WifiTrackerLib/res/values-pt/arrays.xml
index 5330614d1..e55c77a1d 100644
--- a/libs/WifiTrackerLib/res/values-pt/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-pt/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Buscando…"</item>
- <item msgid="6222852518007967736">"Conectando…"</item>
- <item msgid="1176401854208153464">"Autenticando…"</item>
- <item msgid="1377026397901197257">"Recebendo endereço IP…"</item>
- <item msgid="7627139816052121509">"Conectada"</item>
- <item msgid="1598801023719359130">"Suspensa"</item>
- <item msgid="9160765456671002324">"Desconectando…"</item>
- <item msgid="8013176736494493734">"Desconectada"</item>
- <item msgid="4077393480368783785">"Falha"</item>
- <item msgid="605372180740008604">"Bloqueada"</item>
- <item msgid="5102306451432929048">"Evitando temporariamente uma conexão ruim"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Buscando…"</item>
+ <item msgid="9055468790485684083">"Conectando…"</item>
+ <item msgid="6099499723199990208">"Autenticando…"</item>
+ <item msgid="6794055951297347103">"Recebendo endereço IP…"</item>
+ <item msgid="5450920562291300229">"Conectada"</item>
+ <item msgid="6332116533879646145">"Suspenso"</item>
+ <item msgid="294459081501073818">"Desconectando…"</item>
+ <item msgid="1577368920272598676">"Desconectado"</item>
+ <item msgid="7655843177582495451">"Falha"</item>
+ <item msgid="8953752690917593623">"Bloqueado"</item>
+ <item msgid="4400457817750243671">"Evitando temporariamente uma conexão ruim"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-pt/strings.xml b/libs/WifiTrackerLib/res/values-pt/strings.xml
index 408cc6622..b4f7e3ae0 100644
--- a/libs/WifiTrackerLib/res/values-pt/strings.xml
+++ b/libs/WifiTrackerLib/res/values-pt/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"A conexão automática está desativada"</string>
- <string name="saved_network" msgid="6241977554502802914">"Salva por <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Não se conectará automaticamente"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Sem acesso à Internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problema de autenticação"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Verifique a senha e tente novamente"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Falha na configuração de IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Desativado"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Ponto de acesso temporariamente cheio"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Desconectada"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Salva"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Limitada"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Ilimitada"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Conectado via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Disponível via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Conectada automaticamente via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Conectado automaticamente via provedor de avaliação de rede"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Conexão limitada"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Não é possível acessar o servidor DNS privado"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Sem Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"A conexão automática está desativada"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Salva por <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Não se conectará automaticamente"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Sem acesso à Internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problema de autenticação"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Verifique a senha e tente novamente"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Falha na configuração de IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Desativada"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Ponto de acesso temporariamente cheio"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Conexão de rede temporariamente fraca"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"O sinal está fraco. Tente se aproximar do roteador."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"A rede está sobrecarregada. Tente novamente mais tarde."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Não foi possível conectar. Tente novamente mais tarde."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"A rede não é compatível com este dispositivo"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Desconectada"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Salva"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Limitada"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Ilimitada"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Conectado via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Disponível via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Conectado automaticamente via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Conectado automaticamente via provedor de avaliação de rede"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Conexão limitada"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Não é possível acessar o servidor DNS particular"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Conectada ao dispositivo. Sem acesso à Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Conexão lenta"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Nenhuma"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Expirada"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Toque para se inscrever"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Toque para renovar a assinatura e se conectar"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Abrindo <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Não foi possível conectar"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Concluindo inscrição…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Não foi possível concluir a inscrição. Toque para tentar novamente."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Inscrição concluída. Conectando…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Esta rede recebe um código exclusivo que pode ser usado para rastrear a localização do dispositivo. "<annotation id="url">"Saiba mais"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Muito lenta"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lenta"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Ok"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Média"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Rápida"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Muito rápida"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Nenhuma"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Expirado"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Toque para se inscrever"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Toque para renovar a assinatura e se conectar"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Abrindo <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Não foi possível conectar"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Concluindo inscrição…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Não foi possível concluir a inscrição. Toque para tentar novamente."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Inscrição concluída. Conectando…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Essa rede recebe um ID de chip que pode ser usado para monitorar o local do dispositivo. "<annotation id="url">"Saiba mais"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Muito lenta"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lenta"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Ok"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Média"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Rápida"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Muito rápida"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"A conexão automática ao Wi-Fi não está disponível no momento"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ro/arrays.xml b/libs/WifiTrackerLib/res/values-ro/arrays.xml
index 5512f8b36..83730ec73 100644
--- a/libs/WifiTrackerLib/res/values-ro/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-ro/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Se scanează…"</item>
- <item msgid="6222852518007967736">"Se conectează…"</item>
- <item msgid="1176401854208153464">"Se autentifică…"</item>
- <item msgid="1377026397901197257">"Se obține adresa IP…"</item>
- <item msgid="7627139816052121509">"Conectată"</item>
- <item msgid="1598801023719359130">"Suspendată"</item>
- <item msgid="9160765456671002324">"Se deconectează…"</item>
- <item msgid="8013176736494493734">"Deconectată"</item>
- <item msgid="4077393480368783785">"Nereușită"</item>
- <item msgid="605372180740008604">"Blocată"</item>
- <item msgid="5102306451432929048">"Evitarea temporară a conexiunii slabe"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Se scanează…"</item>
+ <item msgid="9055468790485684083">"Se conectează…"</item>
+ <item msgid="6099499723199990208">"Se autentifică…"</item>
+ <item msgid="6794055951297347103">"Se obține adresa IP…"</item>
+ <item msgid="5450920562291300229">"Conectată"</item>
+ <item msgid="6332116533879646145">"Suspendată"</item>
+ <item msgid="294459081501073818">"Se deconectează…"</item>
+ <item msgid="1577368920272598676">"Deconectată"</item>
+ <item msgid="7655843177582495451">"Nereușită"</item>
+ <item msgid="8953752690917593623">"Blocată"</item>
+ <item msgid="4400457817750243671">"Se evită temporar conexiunea slabă"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ro/strings.xml b/libs/WifiTrackerLib/res/values-ro/strings.xml
index 47b137f1e..0ae9a3a44 100644
--- a/libs/WifiTrackerLib/res/values-ro/strings.xml
+++ b/libs/WifiTrackerLib/res/values-ro/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Conectarea automată este dezactivată"</string>
- <string name="saved_network" msgid="6241977554502802914">"Salvată de <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Nu se va conecta automat"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Nu există acces la internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problemă la autentificare"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Verificați parola și încercați din nou"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Eroare de configurare a IP-ului"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Dezactivată"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Punctul de acces este temporar plin"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Deconectat"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Salvată"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Contorizată"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Necontorizată"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Conectat prin <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Disponibil prin <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Conectată automat prin <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Conectată automat prin furnizor de evaluări ale rețelei"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Conexiune limitată"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Serverul DNS privat nu poate fi accesat"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Fără conexiune la internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Conectarea automată este dezactivată"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Salvate de <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Nu se va conecta automat"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Nu există acces la internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problemă la autentificare"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Verificați parola și încercați din nou"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Eroare de configurare a IP-ului"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Dezactivată"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Punctul de acces este temporar plin"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Momentan, conexiunea la rețea este slabă"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Semnal slab. Apropiați-vă de router."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Capacitatea rețelei a fost depășită. Încercați din nou mai târziu."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Nu se poate conecta. Încercați din nou mai târziu."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Rețeaua nu este compatibilă cu dispozitivul"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Deconectată"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Salvată"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Contorizată"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Necontorizată"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Conectată prin <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Disponibilă prin <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Conectată automat prin <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Conectată automat prin furnizor de evaluări ale rețelei"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Conexiune limitată"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Serverul DNS privat nu poate fi accesat"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"S-a conectat la dispozitiv. Nu se poate stabili o conexiune la internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Calitate slabă"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Niciuna"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Expirat"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Atingeți pentru a vă înscrie"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Atingeți pentru a reînnoi abonamentul și a vă conecta"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Se deschide <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Nu s-a putut conecta"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Se finalizează înscrierea…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Nu s-a putut finaliza înscrierea. Atingeți pentru a încerca din nou."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Înscrierea a fost finalizată. Se conectează…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Această rețea primește un ID unic care se poate folosi pentru a urmări locația dispozitivului. "<annotation id="url">"Aflați mai multe"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Foarte lentă"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Lentă"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Bine"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Medie"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Rapidă"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Foarte rapidă"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Fără"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Expirată"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Atingeți pentru a vă înscrie"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Atingeți pentru a reînnoi abonamentul și a vă conecta"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Se deschide <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Nu s-a putut conecta"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Se finalizează înscrierea…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Nu s-a putut finaliza înscrierea. Atingeți pentru a încerca din nou."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Înscrierea a fost finalizată. Se conectează…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Această rețea primește un cod SIM care se poate folosi pentru a urmări locația dispozitivului. "<annotation id="url">"Aflați mai multe"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Foarte lentă"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lentă"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Medie"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Rapidă"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Foarte rapidă"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ru/arrays.xml b/libs/WifiTrackerLib/res/values-ru/arrays.xml
index dd93fbf75..783681b37 100644
--- a/libs/WifiTrackerLib/res/values-ru/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-ru/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Поиск…"</item>
- <item msgid="6222852518007967736">"Подключение…"</item>
- <item msgid="1176401854208153464">"Аутентификация…"</item>
- <item msgid="1377026397901197257">"Получение IP-адреса…"</item>
- <item msgid="7627139816052121509">"Подключено"</item>
- <item msgid="1598801023719359130">"Приостановлено"</item>
- <item msgid="9160765456671002324">"Отключение…"</item>
- <item msgid="8013176736494493734">"Нет подключения"</item>
- <item msgid="4077393480368783785">"Сбой"</item>
- <item msgid="605372180740008604">"Заблокировано"</item>
- <item msgid="5102306451432929048">"Отключено из-за плохого соединения"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Поиск…"</item>
+ <item msgid="9055468790485684083">"Подключение…"</item>
+ <item msgid="6099499723199990208">"Аутентификация…"</item>
+ <item msgid="6794055951297347103">"Получение IP-адреса…"</item>
+ <item msgid="5450920562291300229">"Подключено"</item>
+ <item msgid="6332116533879646145">"Приостановлено"</item>
+ <item msgid="294459081501073818">"Отключение…"</item>
+ <item msgid="1577368920272598676">"Не подключено"</item>
+ <item msgid="7655843177582495451">"Сбой"</item>
+ <item msgid="8953752690917593623">"Заблокировано"</item>
+ <item msgid="4400457817750243671">"Временно отключено из-за плохого соединения"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ru/strings.xml b/libs/WifiTrackerLib/res/values-ru/strings.xml
index 85b7bae79..a02136664 100644
--- a/libs/WifiTrackerLib/res/values-ru/strings.xml
+++ b/libs/WifiTrackerLib/res/values-ru/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Автоподключение выключено"</string>
- <string name="saved_network" msgid="6241977554502802914">"Сохранено: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Подключение не будет выполняться автоматически"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Без доступа к Интернету"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Ошибка аутентификации"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Возможно, вы указали неверный пароль. Повторите попытку."</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Ошибка конфигурации IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Отключено"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"К точке доступа подключено слишком много устройств"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Не подключено"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Сохранено"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Сеть с тарификацией трафика"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Сеть без тарификации трафика"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Подключено через приложение \"<xliff:g id="NAME">%1$s</xliff:g>\"."</string>
- <string name="available_via_app" msgid="9110324040292242769">"Доступно через приложение \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Автоматически подключено через <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Автоматически подключено через автора рейтинга сетей"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Подключение к сети ограничено."</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Доступа к частному DNS-серверу нет."</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Нет подключения к Интернету"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Автоподключение отключено"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Сохранено: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Подключение не будет выполняться автоматически"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Без доступа к Интернету"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Ошибка аутентификации"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Похоже, вы указали неверный пароль. Повторите попытку."</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Ошибка конфигурации IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Отключено"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"К точке доступа подключено слишком много устройств"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Временное нестабильное подключение к сети."</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Слабый сигнал. Попробуйте разместить устройство ближе к роутеру."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Превышена пропускная способность сети. Повторите попытку позже."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Ошибка подключения. Повторите попытку позже."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Сеть несовместима с этим устройством."</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Не подключено"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Сохранено"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Сеть с тарификацией трафика"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Сеть без тарификации трафика"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Подключено через приложение \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Доступно через приложение \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Автоматически подключено через <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Автоматически подключено через автора рейтинга сетей"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Подключение к сети ограничено"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"Без защиты"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Срок действия истек"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Нажмите, чтобы зарегистрироваться."</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Нажмите, чтобы обновить подписку и установить подключение"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Открывается <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>…"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Не удалось подключиться."</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Завершение регистрации…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Не удалось завершить регистрацию. Нажмите, чтобы повторить попытку."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Регистрация завершена. Подключение…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Эта сеть получает уникальный идентификатор, с помощью которого можно отследить местоположение устройства. "<annotation id="url">"Подробнее…"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Очень медленная"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Медленная"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ОК"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Средняя"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Быстрая"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Очень быстрая"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Нет"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Срок действия истек"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Нажмите, чтобы зарегистрироваться"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Нажмите, чтобы обновить подписку и установить подключение"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Открывается <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>…"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Ошибка подключения"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Завершение регистрации…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Не удалось завершить регистрацию. Нажмите, чтобы повторить попытку."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Регистрация завершена. Подключение…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Этой сети будет передан идентификатор SIM-карты, с помощью которого можно отследить местоположение устройства. "<annotation id="url">"Подробнее…"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Очень медленная"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Низкая"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ОК"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Средняя"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Быстрая"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Очень быстрая"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Подключение по Wi-Fi не установится автоматически."</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-si/arrays.xml b/libs/WifiTrackerLib/res/values-si/arrays.xml
index f716ab857..59a348eec 100644
--- a/libs/WifiTrackerLib/res/values-si/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-si/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"ස්කෑන් කරමින්…"</item>
- <item msgid="6222852518007967736">"සබැඳෙමින්…"</item>
- <item msgid="1176401854208153464">"සත්‍යාපනය කරමින්…"</item>
- <item msgid="1377026397901197257">"IP ලිපිනය ලබා ගනිමින්…"</item>
- <item msgid="7627139816052121509">"සම්බන්ධිතයි"</item>
- <item msgid="1598801023719359130">"තහනම් කරන ලද"</item>
- <item msgid="9160765456671002324">"විසන්ධි වෙමින්…"</item>
- <item msgid="8013176736494493734">"විසන්ධි විය"</item>
- <item msgid="4077393480368783785">"අසාර්ථකයි"</item>
- <item msgid="605372180740008604">"අවහිරයි"</item>
- <item msgid="5102306451432929048">"දුර්වල සම්බන්ධතාව තාවකාලිකව මගහරිමින්"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"ස්කෑන් කරමින්…"</item>
+ <item msgid="9055468790485684083">"සබැඳෙමින්…"</item>
+ <item msgid="6099499723199990208">"සත්‍යාපනය කරමින්…"</item>
+ <item msgid="6794055951297347103">"IP ලිපිනය ලබා ගනිමින්…"</item>
+ <item msgid="5450920562291300229">"සම්බන්ධිතයි"</item>
+ <item msgid="6332116533879646145">"තහනම් කරන ලදි"</item>
+ <item msgid="294459081501073818">"විසන්ධි වෙමින්…"</item>
+ <item msgid="1577368920272598676">"විසන්ධි විය"</item>
+ <item msgid="7655843177582495451">"අසාර්ථකයි"</item>
+ <item msgid="8953752690917593623">"අවහිරයි"</item>
+ <item msgid="4400457817750243671">"දුර්වල සම්බන්ධතාව තාවකාලිකව මග හරිමින්"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-si/strings.xml b/libs/WifiTrackerLib/res/values-si/strings.xml
index 0cbd37065..322a295c6 100644
--- a/libs/WifiTrackerLib/res/values-si/strings.xml
+++ b/libs/WifiTrackerLib/res/values-si/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"ස්වයං සබැඳීම ක්‍රියාවිරහිතයි"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> විසින් සුරකින ලදී"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"ස්වයංක්‍රියව නැවත සම්බන්ධ නොවනු ඇත"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"අන්තර්ජාල ප්‍රවේශය නැත"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"සත්‍යාපනයේ ගැටලුවකි"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"මුරපදය පරික්ෂා කර නැවත උත්සාහ කරන්න"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP වින්‍යාස කිරීම අසාර්ථකයි"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"අබලයි"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"ප්‍රවේශ ලක්ෂ්‍ය තාවකාලිකව පිරී ඇත"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"විසන්ධි විය"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"සුරකින ලදි"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"මනිනු ලැබේ"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"මනින්නේ නැත"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> හරහා සම්බන්ධයි"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> හරහා ලබා ගත හැකිය"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> හරහා ස්වයංක්‍රියව සම්බන්ධ විය"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"ජාල ශ්‍රේණිගත සපයන්නා හරහා ස්වයංක්‍රියව සම්බන්ධ විය"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"සීමිත සම්බන්ධතාව"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"පුද්ගලික DNS සේවාදායකයට ප්‍රවේශ වීමට නොහැකිය"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"අන්තර්ජාලය නැත"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"ස්වයං සබැඳීම ක්‍රියාවිරහිතයි"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> විසින් සුරකින ලදී"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"ස්වයංක්‍රියව සම්බන්ධ නොවනු ඇත"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"අන්තර්ජාල ප්‍රවේශය නැත"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"සත්‍යාපනයේ ගැටලුවකි"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"මුරපදය පරික්ෂා කර නැවත උත්සාහ කරන්න"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP වින්‍යාස කිරීම අසාර්ථකයි"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"අබල කළ"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"ප්‍රවේශ ලක්ෂ්‍යය තාවකාලිකව පිරී ඇත"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"තාවකාලික දුර්වල ජාල තත්ත්ව"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"දුර්වල සංඥා. රවුටරය වෙත වඩාත් සමීප වීමට උත්සාහ කරන්න."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"ජාලයේ ධාරිතාව ඉක්මවා ඇත. පසුව නැවත උත්සාහ කරන්න."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"සම්බන්ධ විය නොහැකිය. පසුව නැවත උත්සාහ කරන්න."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"ජාලය මෙම උපාංගය සමඟ නොගැළපේ"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"විසන්ධි විය"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"සුරකින ලදි"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"මනුගත"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"මනුගත නොකළ"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> හරහා සම්බන්ධිතයි"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> හරහා ලබා ගත හැකිය"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> හරහා ස්වයංක්‍රියව සම්බන්ධ විය"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"ජාල ශ්‍රේණිගත සපයන්නා හරහා ස්වයංක්‍රියව සම්බන්ධ විය"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"සීමිත සම්බන්ධතාව"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"කිසිවක් නැත"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"කල් ඉකුත් විය"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"ලියාපදිංචි වීමට තට්ටු කරන්න"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"දායකත්වය අලුත් කිරීමට තට්ටු කර සම්බන්ධ වන්න"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> විවෘත කරමින්"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"සබැඳීමට නොහැකි විය"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"ලියාපදිංචිය සම්පූර්ණ කරමින්…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"ලියාපදිංචිය සම්පූර්ණ කළ නොහැකි විය. නැවත උත්සාහ කිරීමට තට්ටු කරන්න."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"ලියාපදිංචිය සම්පූර්ණයි. සබැඳෙමින්…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"උපාංග ස්ථානය නිරීක්ෂණය කිරීමට භාවිත කළ හැකි අනන්‍ය ID එකක් මෙම ජාලයට ලැබේ "<annotation id="url">"තව දැන ගන්න"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"ඉතා මන්දගාමී"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"මන්දගාමී"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"හරි"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"මධ්‍යම"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"වේගවත්"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"ඉතා වේගවත්"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"කිසිවක් නැත"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"කල් ඉකුත් විය"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"ලියාපදිංචි වීමට තට්ටු කරන්න"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"දායකත්වය අලුත් කිරීමට තට්ටු කර සම්බන්ධ වන්න"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> විවෘත කරමින්"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"සබැඳීමට නොහැකි විය"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"ලියාපදිංචිය සම්පූර්ණ කරමින්…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"ලියාපදිංචිය සම්පූර්ණ කළ නොහැකි විය. නැවත උත්සාහ කිරීමට තට්ටු කරන්න."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"ලියාපදිංචිය සම්පූර්ණයි. සබැඳෙමින්…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"උපාංග ස්ථානය නිරීක්ෂණය කිරීමට භාවිත කළ හැකි SIM ID එකක් මෙම ජාලයට ලැබේ "<annotation id="url">"තව දැන ගන්න"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"ඉතා මන්දගාමී"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"මන්දගාමී"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"හරි"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"මධ්‍යම"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"වේගවත්"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"ඉතා වේගවත්"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi දැනට ස්වයංක්‍රියව සබැඳි නොවනු ඇත"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-sk/arrays.xml b/libs/WifiTrackerLib/res/values-sk/arrays.xml
index 6e06d6367..2c6af2207 100644
--- a/libs/WifiTrackerLib/res/values-sk/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-sk/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Vyhľadáva sa…"</item>
- <item msgid="6222852518007967736">"Pripája sa…"</item>
- <item msgid="1176401854208153464">"Overuje sa…"</item>
- <item msgid="1377026397901197257">"Získava sa adresa IP…"</item>
- <item msgid="7627139816052121509">"Pripojená"</item>
- <item msgid="1598801023719359130">"Pozastavená"</item>
- <item msgid="9160765456671002324">"Odpája sa…"</item>
- <item msgid="8013176736494493734">"Odpojená"</item>
- <item msgid="4077393480368783785">"Nedá sa pripojiť"</item>
- <item msgid="605372180740008604">"Blokovaná"</item>
- <item msgid="5102306451432929048">"Dočasne bolo zabránené slabému pripojeniu"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Vyhľadáva sa…"</item>
+ <item msgid="9055468790485684083">"Pripája sa…"</item>
+ <item msgid="6099499723199990208">"Overuje sa…"</item>
+ <item msgid="6794055951297347103">"Získava sa adresa IP…"</item>
+ <item msgid="5450920562291300229">"Pripojené"</item>
+ <item msgid="6332116533879646145">"Pozastavené"</item>
+ <item msgid="294459081501073818">"Odpája sa…"</item>
+ <item msgid="1577368920272598676">"Odpojené"</item>
+ <item msgid="7655843177582495451">"Neúspešné"</item>
+ <item msgid="8953752690917593623">"Blokované"</item>
+ <item msgid="4400457817750243671">"Dočasne bolo zabránené slabému pripojeniu"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-sk/strings.xml b/libs/WifiTrackerLib/res/values-sk/strings.xml
index 1c288704b..7bb21280d 100644
--- a/libs/WifiTrackerLib/res/values-sk/strings.xml
+++ b/libs/WifiTrackerLib/res/values-sk/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Automatické pripojenie je vypnuté"</string>
- <string name="saved_network" msgid="6241977554502802914">"Uložila aplikácia <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Nedôjde k automatickému pripojeniu"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Žiadny prístup k internetu"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problém s overením"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Skontrolujte heslo a skúste to znova"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Zlyhanie konfigurácie adresy IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Vypnuté"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Prístupový bod je dočasne plný"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Odpojené"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Uložené"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Merané"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Bez merania dát"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Pripojené prostredníctvom siete <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"K dispozícii prostredníctvom aplikácie <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automaticky pripojené prostredníctvom poskytovateľa <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automaticky pripojené prostredníctvom poskytovateľa hodnotenia siete"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Obmedzené pripojenie"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"K súkromnému serveru DNS sa nepodarilo získať prístup"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Bez internetu"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automatické pripojenie je vypnuté"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Uložil používateľ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Nedôjde k automatickému pripojeniu"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Bez prístupu k internetu"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problém s overením"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Skontrolujte heslo a skúste to znova"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Zlyhanie konfigurácie adresy IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Vypnuté"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Prístupový bod je dočasne plný"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Dočasne nízka kvalita siete"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Slabý signál. Skúste sa priblížiť k smerovaču."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Bola prekročená kapacita siete. Skúste to neskôr."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Nedá sa pripojiť. Skúste to neskôr."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Sieť nie je kompatibilná s týmto zariadením"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Odpojené"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Uložené"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Merané"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Nemerané"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Pripojené prostredníctvom siete <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"K dispozícii prostredníctvom aplikácie <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automaticky pripojené prostredníctvom poskytovateľa <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automaticky pripojené prostredníctvom poskytovateľa hodnotenia siete"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Obmedzené pripojenie"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"K súkromnému serveru DNS sa nepodarilo získať prístup"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Pripojené k zariadeniu. Internet nie je možné poskytnúť."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Nízka kvalita"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Žiadne"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Platnosť vypršala"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Prihláste sa klepnutím"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Klepnutím obnovíte odber a pripojíte sa"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Otvára sa <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Nepodarilo sa pripojiť"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Dokončuje sa registrácia…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Registráciu sa nepodarilo dokončiť. Klepnutím to skúste znova."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Registrácia je dokončená. Pripája sa…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Táto sieť prijíma jedinečný identifikátor, pomocou ktorého je možné sledovať polohu zariadenia. "<annotation id="url">"Ďalšie informácie"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Veľmi pomalá"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Pomalá"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Stredná"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Rýchla"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Veľmi rýchla"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Žiadne"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Platnosť vypršala"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Prihláste sa klepnutím"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Klepnutím obnovíte odber a pripojíte sa"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Otvára sa <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Nepodarilo sa pripojiť"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Dokončuje sa registrácia…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Registráciu sa nepodarilo dokončiť. Klepnutím to skúste znova."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registrácia je dokončená. Pripája sa…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Táto sieť dostáva jedinečný identifikátor SIM karty, pomocou ktorého je možné sledovať polohu zariadenia. "<annotation id="url">"Ďalšie informácie"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Veľmi nízka"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Nízka"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Stredná"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Rýchla"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Veľmi vysoká"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi sa momentálne automaticky nepripojí"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-sl/arrays.xml b/libs/WifiTrackerLib/res/values-sl/arrays.xml
index 10c727227..008257503 100644
--- a/libs/WifiTrackerLib/res/values-sl/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-sl/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Iskanje …"</item>
- <item msgid="6222852518007967736">"Povezovanje …"</item>
- <item msgid="1176401854208153464">"Preverjanje pristnosti …"</item>
- <item msgid="1377026397901197257">"Pridobivanje naslova IP …"</item>
- <item msgid="7627139816052121509">"Povezano"</item>
- <item msgid="1598801023719359130">"Začasno ustavljeno"</item>
- <item msgid="9160765456671002324">"Prekinjanje povezave …"</item>
- <item msgid="8013176736494493734">"Povezava je prekinjena"</item>
- <item msgid="4077393480368783785">"Neuspešno"</item>
- <item msgid="605372180740008604">"Blokirano"</item>
- <item msgid="5102306451432929048">"Začasno izogibanje slabi povezavi"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Iskanje …"</item>
+ <item msgid="9055468790485684083">"Povezovanje …"</item>
+ <item msgid="6099499723199990208">"Preverjanje pristnosti …"</item>
+ <item msgid="6794055951297347103">"Pridobivanje naslova IP …"</item>
+ <item msgid="5450920562291300229">"Povezano"</item>
+ <item msgid="6332116533879646145">"Onemogočeno"</item>
+ <item msgid="294459081501073818">"Prekinjanje povezave …"</item>
+ <item msgid="1577368920272598676">"Ni povezave"</item>
+ <item msgid="7655843177582495451">"Neuspešno"</item>
+ <item msgid="8953752690917593623">"Blokirano"</item>
+ <item msgid="4400457817750243671">"Začasno izogibanje slabi povezavi"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-sl/strings.xml b/libs/WifiTrackerLib/res/values-sl/strings.xml
index 3be8f0e20..5599ef63f 100644
--- a/libs/WifiTrackerLib/res/values-sl/strings.xml
+++ b/libs/WifiTrackerLib/res/values-sl/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Samodejno povezovanje izklopljeno"</string>
- <string name="saved_network" msgid="6241977554502802914">"Shranil(-a): <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Povezava ne bo samodejno vzpostavljena"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Ni dostopa do interneta"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Težava pri preverjanju pristnosti"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Preverite geslo in poskusite znova"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Konfiguracija IP-ja ni uspela"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Onemogočeno"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Dostopna točka je trenutno zasedena"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Ni povezave"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Shranjeno"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Omejen prenos podatkov"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Z neomejenim prenosom podatkov"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Povezava vzpostavljena prek omrežja <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Na voljo prek aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Povezava je samodejno vzpostavljena prek: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Samodejno vzpostavljena povezava prek ponudnika ocenjevanja omrežij"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Omejena povezava"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Do zasebnega strežnika DNS ni mogoče dostopati"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Ni internetne povezave"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Samodejno povezovanje izklopljeno"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Shranila aplikacija <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Povezava ne bo samodejno vzpostavljena"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Ni dostopa do interneta"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Težava preverjanja pristnosti"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Preverite geslo in poskusite znova"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Konfiguracija IP-ja ni uspela"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Onemogočeno"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Dostopna točka je trenutno zasedena"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Začasno slabo stanje omrežja"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Šibek signal. Poskusite se premakniti bliže k usmerjevalniku."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Omrežje je prezasedeno. Poskusite znova pozneje."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Povezave ni mogoče vzpostaviti. Poskusite znova pozneje."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Omrežje ni združljivo s to napravo."</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Ni povezave"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Shranjeno"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Z omejenim prenosom podatkov"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Z neomejenim prenosom podatkov"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Povezava vzpostavljena prek omrežja <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Na voljo prek aplikacije <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Povezava je samodejno vzpostavljena prek: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Samodejno vzpostavljena povezava prek ponudnika ocenjevanja omrežij"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Omejena povezava"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Do zasebnega strežnika DNS ni mogoče dostopati"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Povezava z napravo je vzpostavljena. Dostop do interneta ni na voljo."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Nizka kakovost"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Brez"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Poteklo"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Dotaknite se, če se želite registrirati"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Dotaknite se za podaljšanje naročnine in vzpostavitev povezave"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Odpiranje ponudnika <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Povezave ni bilo mogoče vzpostaviti"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Dokončevanje registracije …"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Registracije ni bilo mogoče dokončati. Če želite poskusiti znova, se dotaknite."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Registracija je končana. Povezovanje …"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"To omrežje prejme enolični ID, s katerim je mogoče spremljati lokacijo naprave. "<annotation id="url">"Več o tem"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Zelo počasna"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Počasna"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"V redu"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Srednje hitra"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Hitra"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Zelo hitra"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Brez"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Poteklo"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Dotaknite se, če se želite registrirati"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Dotaknite se za podaljšanje naročnine in vzpostavitev povezave"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Odpiranje ponudnika <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Povezave ni bilo mogoče vzpostaviti"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Dokončevanje registracije …"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Registracije ni bilo mogoče dokončati. Če želite poskusiti znova, se dotaknite."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registracija je končana. Povezovanje …"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"To omrežje prejme ID kartice SIM, s katerim je mogoče spremljati lokacijo naprave. "<annotation id="url">"Več o tem"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Zelo počasna"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Počasna"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"V redu"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Srednje hitra"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Hitra"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Zelo hitra"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Vmesnik Wi-Fi trenutno ne bo samodejno vzpostavil povezave."</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-sq/arrays.xml b/libs/WifiTrackerLib/res/values-sq/arrays.xml
index ac1f301da..97c35ed8f 100644
--- a/libs/WifiTrackerLib/res/values-sq/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-sq/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Po skanon…"</item>
- <item msgid="6222852518007967736">"Po lidhet…"</item>
- <item msgid="1176401854208153464">"Po vërtetohet…"</item>
- <item msgid="1377026397901197257">"Po merr adresën IP…"</item>
- <item msgid="7627139816052121509">"Lidhur"</item>
- <item msgid="1598801023719359130">"Pezulluar"</item>
- <item msgid="9160765456671002324">"Po shkëputet…"</item>
- <item msgid="8013176736494493734">"Shkëputur"</item>
- <item msgid="4077393480368783785">"Pa sukses"</item>
- <item msgid="605372180740008604">"Bllokuar"</item>
- <item msgid="5102306451432929048">"Po shmang përkohësisht lidhje të dobët"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Po skanon…"</item>
+ <item msgid="9055468790485684083">"Po lidhet…"</item>
+ <item msgid="6099499723199990208">"Po vërtetohet…"</item>
+ <item msgid="6794055951297347103">"Po merr adresën IP…"</item>
+ <item msgid="5450920562291300229">"Lidhur"</item>
+ <item msgid="6332116533879646145">"Pezulluar"</item>
+ <item msgid="294459081501073818">"Po shkëputet…"</item>
+ <item msgid="1577368920272598676">"Shkëputur"</item>
+ <item msgid="7655843177582495451">"Pa sukses"</item>
+ <item msgid="8953752690917593623">"Bllokuar"</item>
+ <item msgid="4400457817750243671">"Po shmang përkohësisht një lidhje të dobët"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-sq/strings.xml b/libs/WifiTrackerLib/res/values-sq/strings.xml
index 78dc083e4..0e7e3f417 100644
--- a/libs/WifiTrackerLib/res/values-sq/strings.xml
+++ b/libs/WifiTrackerLib/res/values-sq/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Lidhja automatike është joaktive"</string>
- <string name="saved_network" msgid="6241977554502802914">"E ruajtur nga <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Nuk do të lidhet automatikisht"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Nuk ka qasje në internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problem me vërtetimin"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Kontrollo fjalëkalimin dhe provo sërish"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Dështim në konfigurimin e IP-së"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Të çaktivizuara"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Pika e qasjes është përkohësisht plot"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Shkëputur"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"U ruajt"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Me matje"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Pa matje"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Lidhur përmes <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Ofrohet përmes <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Është lidhur automatikisht nëpërmjet <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Lidhur automatikisht nëpërmjet ofruesit të vlerësimit të rrjetit"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Lidhje e kufizuar"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Serveri privat DNS nuk mund të qaset"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Nuk ka internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Lidhja automatike është joaktive"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Ruajtur nga <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Nuk do të lidhet automatikisht"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Nuk ka qasje në internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problem me vërtetimin"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Kontrollo fjalëkalimin dhe provo përsëri"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Dështim në konfigurimin e IP-së"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Çaktivizuar"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Pika e qasjes është përkohësisht plot"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Kushte përkohësisht të këqija rrjeti"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Sinjal i dobët. Provo të lëvizësh më pranë ruterit."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Rrjeti është mbi kapacitet Provo sërish më vonë."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Nuk mund të lidhet. Provo sërish më vonë."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Rrjeti nuk është i pajtueshëm me këtë pajisje"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Shkëputur"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Ruajtur"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Me matje"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Pa matje"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Lidhur përmes <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Ofrohet përmes <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Lidhur automatikisht nëpërmjet <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Lidhur automatikisht nëpërmjet ofruesit të vlerësimit të rrjetit"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Lidhje e kufizuar"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Nuk mund të qasesh në serverin privat DNS"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"U lidh me pajisjen. Interneti nuk mund të ofrohet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Cilësi e ulët"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Asnjë"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Skaduar"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Trokit për t\'u regjistruar"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Trokit për të rinovuar abonimin dhe për t\'u lidhur"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Po hapet <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Nuk mund të lidhej"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Po përfundon regjistrimin…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Regjistrimi nuk mund të përfundonte. Trokit për të provuar përsëri."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Regjistrimi përfundoi. Po lidhet…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Ky rrjet merr një ID unike që mund të përdoret për të monitoruar vendndodhjen e pajisjes. "<annotation id="url">"Mëso më shumë"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Shumë e ulët"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"E ngadaltë"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Në rregull"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Mesatare"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"E shpejtë"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Shumë e shpejtë"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Asnjë"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Skaduar"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Trokit për t\'u regjistruar"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Trokit për të rinovuar abonimin dhe për t\'u lidhur"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Po hapet <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Nuk mund të lidhej"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Po përfundon regjistrimin…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Regjistrimi nuk mund të përfundonte. Trokit për të provuar përsëri."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Regjistrimi përfundoi. Po lidhet…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Ky rrjet merr një ID karte SIM që mund të përdoret për të monitoruar vendndodhjen e pajisjes. "<annotation id="url">"Mëso më shumë"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Shumë e ngadaltë"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"E ngadaltë"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"E pranueshme"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Mesatare"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"E shpejtë"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Shumë e shpejtë"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-sr/arrays.xml b/libs/WifiTrackerLib/res/values-sr/arrays.xml
index b3929543e..1d8e0d7a0 100644
--- a/libs/WifiTrackerLib/res/values-sr/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-sr/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Тражи се…"</item>
- <item msgid="6222852518007967736">"Повезује се…"</item>
- <item msgid="1176401854208153464">"Потврђује се идентитет…"</item>
- <item msgid="1377026397901197257">"Преузима се IP адреса…"</item>
- <item msgid="7627139816052121509">"Повезано"</item>
- <item msgid="1598801023719359130">"Суспендовано"</item>
- <item msgid="9160765456671002324">"Прекида се веза…"</item>
- <item msgid="8013176736494493734">"Веза је прекинута"</item>
- <item msgid="4077393480368783785">"Није успело"</item>
- <item msgid="605372180740008604">"Блокирано"</item>
- <item msgid="5102306451432929048">"Привремено избегавање лоше везе"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Тражи се…"</item>
+ <item msgid="9055468790485684083">"Повезује се…"</item>
+ <item msgid="6099499723199990208">"Потврђује се идентитет…"</item>
+ <item msgid="6794055951297347103">"Преузима се IP адреса…"</item>
+ <item msgid="5450920562291300229">"Повезано је"</item>
+ <item msgid="6332116533879646145">"Суспендовано"</item>
+ <item msgid="294459081501073818">"Прекида се веза…"</item>
+ <item msgid="1577368920272598676">"Веза је прекинута"</item>
+ <item msgid="7655843177582495451">"Није успело"</item>
+ <item msgid="8953752690917593623">"Блокирано"</item>
+ <item msgid="4400457817750243671">"Привремено избегавање лоше везе"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-sr/strings.xml b/libs/WifiTrackerLib/res/values-sr/strings.xml
index 87cc17cfc..c519f3451 100644
--- a/libs/WifiTrackerLib/res/values-sr/strings.xml
+++ b/libs/WifiTrackerLib/res/values-sr/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Аутоматско повезивање је искључено"</string>
- <string name="saved_network" msgid="6241977554502802914">"Сачувао/ла је <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Аутоматско повезивање није успело"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Нема приступа интернету"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Проблем са потврдом идентитета"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Проверите лозинку и пробајте поново"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP конфигурација је отказала"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Онемогућено"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Приступна тачка је привремено заузета"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Веза је прекинута"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Сачувано"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Са ограничењем"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Без ограничења"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Повезано преко: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Доступно преко апликације <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Аутоматски повезано преко: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Аутоматски повезано преко добављача оцене мреже"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Ограничена веза"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Приступ приватном DNS серверу није успео"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Нема интернета"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Аутоматско повезивање је искључено"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Сачувао/ла: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Аутоматско повезивање није успело"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Нема приступа интернету"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Проблем са потврдом идентитета"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Проверите лозинку и пробајте поново"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP конфигурација је отказала"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Онемогућено"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Приступна тачка је привремено заузета"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Привремено слаба мрежа"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Слаб сигнал. Пробајте да се приближите рутеру."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Капацитет мреже је премашен. Пробајте поново касније."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Повезивање није успело. Пробајте поново касније."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Мрежа није компатибилна са овим уређајем"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Веза је прекинута"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Сачувано"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Са ограничењем"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Без ограничења"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Повезано помоћу апликације <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Доступно преко апликације <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Аутоматски повезано помоћу апликације <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Аутоматски повезано преко добављача оцене мреже"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Ограничена веза"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"Ништа"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Истекло"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Додирните да бисте се регистровали"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Додирните да бисте обновили претплату и повезали"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Отвара се <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Повезивање није успело"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Регистрација се довршава…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Довршавање регистрације није успело. Додирните да бисте пробали поново."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Регистрација је довршена. Повезује се…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Ова мрежа захтева јединствени ИД који може да се користи за праћење локације уређаја. "<annotation id="url">"Сазнајте више"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Веома спора"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Спора"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Потврди"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Средња"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Брза"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Веома брза"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Ништа"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Истекла"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Додирните да бисте се регистровали"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Додирните да бисте обновили претплату и повезали се"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Отвара се <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Повезивање није успело"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Регистрација се довршава…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Довршавање регистрације није успело. Додирните да бисте пробали поново."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Регистрација је довршена. Повезује се…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Ова мрежа добија ИД SIM картице који може да се користи за праћење локације уређаја. "<annotation id="url">"Сазнајте више"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Веома споро"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Споро"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"У реду"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Средње"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Брзо"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Веома брзо"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"WiFi тренутно не може да се аутоматски повеже"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-sv/arrays.xml b/libs/WifiTrackerLib/res/values-sv/arrays.xml
index 7f3ee923d..f3d097962 100644
--- a/libs/WifiTrackerLib/res/values-sv/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-sv/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Söker …"</item>
- <item msgid="6222852518007967736">"Ansluter …"</item>
- <item msgid="1176401854208153464">"Autentiserar …"</item>
- <item msgid="1377026397901197257">"Hämtar IP-adress …"</item>
- <item msgid="7627139816052121509">"Ansluten"</item>
- <item msgid="1598801023719359130">"Avstängt"</item>
- <item msgid="9160765456671002324">"Kopplar från …"</item>
- <item msgid="8013176736494493734">"Frånkopplat"</item>
- <item msgid="4077393480368783785">"Misslyckades"</item>
- <item msgid="605372180740008604">"Blockerad"</item>
- <item msgid="5102306451432929048">"Undviker just nu dålig anslutning"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Söker …"</item>
+ <item msgid="9055468790485684083">"Ansluter …"</item>
+ <item msgid="6099499723199990208">"Autentiserar …"</item>
+ <item msgid="6794055951297347103">"Hämtar IP-adress …"</item>
+ <item msgid="5450920562291300229">"Ansluten"</item>
+ <item msgid="6332116533879646145">"Avstängt"</item>
+ <item msgid="294459081501073818">"Kopplar från …"</item>
+ <item msgid="1577368920272598676">"Frånkopplad"</item>
+ <item msgid="7655843177582495451">"Misslyckades"</item>
+ <item msgid="8953752690917593623">"Blockerat"</item>
+ <item msgid="4400457817750243671">"Undviker just nu dålig anslutning"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-sv/strings.xml b/libs/WifiTrackerLib/res/values-sv/strings.xml
index bea644987..89caf5cd3 100644
--- a/libs/WifiTrackerLib/res/values-sv/strings.xml
+++ b/libs/WifiTrackerLib/res/values-sv/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Automatisk anslutning har inaktiverats"</string>
- <string name="saved_network" msgid="6241977554502802914">"Sparades av <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Det går inte att ansluta automatiskt"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Ingen internetåtkomst"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Autentiseringsproblem"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Kontrollera lösenordet och försök igen"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP-konfigurationsfel"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Inaktiverad"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Åtkomstpunkten har inga platser över för tillfället"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Frånkopplad"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Sparat"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Med datapriser"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Utan datapriser"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Anslutet via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Tillgängligt via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Automatiskt ansluten via <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Automatiskt ansluten via leverantör av nätverksbetyg"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Begränsad anslutning"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Det går inte att komma åt den privata DNS-servern."</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Inget internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Automatisk anslutning har inaktiverats"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Sparades av <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Det går inte att ansluta automatiskt"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Ingen internetåtkomst"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Autentiseringsproblem"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Kontrollera lösenordet och försök igen"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP-konfigurationsfel"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Inaktiverat"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Åtkomstpunkten har inga platser över för tillfället"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Tillfälligt dåliga nätverksförhållanden"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Svag signal. Gå närmare routern."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Nätverket är överbelastat. Försök igen senare."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Det gick inte att ansluta. Försök igen senare."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Nätverket är inte kompatibelt med denna enhet"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Frånkopplad"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Sparat"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Med datapriser"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Utan datapriser"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Ansluten via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Tillgängligt via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatiskt ansluten via <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatiskt ansluten via leverantör av nätverksbetyg"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Begränsad anslutning"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Det går inte att komma åt den privata DNS-servern."</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Ansluten till enheten. Det går inte att ansluta till internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Låg kvalitet"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Ingen"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Har upphört att gälla"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Tryck för att registrera dig"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Tryck här om du vill förnya prenumerationen och ansluta"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Öppnar <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Det gick inte att ansluta"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Registreringen slutförs …"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Det gick inte att slutföra registreringen. Tryck för att försöka igen."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Registrering har slutförts. Ansluter …"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Det här nätverket får ett unikt id som kan användas till att spåra enhetens plats. "<annotation id="url">"Läs mer"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Mycket långsam"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Långsam"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Okej"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Medelsnabb"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Snabb"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Mycket snabb"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Ingen"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Utgått"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Tryck för att logga in"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Tryck här om du vill förnya prenumerationen och ansluta"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Öppnar <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Det gick inte att ansluta"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Registreringen slutförs …"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Det gick inte att slutföra registreringen. Tryck för att försöka igen."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registrering har slutförts. Ansluter …"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Det här nätverket får ett SIM-id som kan användas till att spåra enhetens plats. "<annotation id="url">"Läs mer"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Mycket långsam"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Långsam"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Medel"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Snabb"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Mycket snabb"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Du ansluts inte till Wi-Fi automatiskt för närvarande"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-sw/arrays.xml b/libs/WifiTrackerLib/res/values-sw/arrays.xml
index 6e7f23f54..1b5fb0be3 100644
--- a/libs/WifiTrackerLib/res/values-sw/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-sw/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Inatafuta…"</item>
- <item msgid="6222852518007967736">"Inaunganisha…"</item>
- <item msgid="1176401854208153464">"Inathibitisha…"</item>
- <item msgid="1377026397901197257">"Inapata anwani ya IP…"</item>
- <item msgid="7627139816052121509">"Imeunganisha"</item>
- <item msgid="1598801023719359130">"Imesimamishwa"</item>
- <item msgid="9160765456671002324">"Inatenganisha…"</item>
- <item msgid="8013176736494493734">"Imetenganishwa"</item>
- <item msgid="4077393480368783785">"Imeshindwa kuunganisha"</item>
- <item msgid="605372180740008604">"Imezuiwa"</item>
- <item msgid="5102306451432929048">"Inaepuka muunganisho hafifu kwa muda"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Inatafuta…"</item>
+ <item msgid="9055468790485684083">"Inaunganisha…"</item>
+ <item msgid="6099499723199990208">"Inathibitisha…"</item>
+ <item msgid="6794055951297347103">"Inapata anwani ya IP…"</item>
+ <item msgid="5450920562291300229">"Imeunganishwa"</item>
+ <item msgid="6332116533879646145">"Imesimamishwa"</item>
+ <item msgid="294459081501073818">"Inatenganisha…"</item>
+ <item msgid="1577368920272598676">"Imetenganishwa"</item>
+ <item msgid="7655843177582495451">"Imeshindwa kuunganisha"</item>
+ <item msgid="8953752690917593623">"Imezuiwa"</item>
+ <item msgid="4400457817750243671">"Inaepuka kwa muda muunganisho mbovu"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-sw/strings.xml b/libs/WifiTrackerLib/res/values-sw/strings.xml
index 10bcf8900..7981cc9d5 100644
--- a/libs/WifiTrackerLib/res/values-sw/strings.xml
+++ b/libs/WifiTrackerLib/res/values-sw/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Kuunganisha kiotomatiki kumezimwa"</string>
- <string name="saved_network" msgid="6241977554502802914">"Ilihifadhiwa na <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Haiwezi kuunganisha kiotomatiki"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Hakuna muunganisho wa intaneti"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Tatizo la uthibitishaji"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Angalia nenosiri na ujaribu tena"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Imeshindwa kuweka mipangilio ya IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Imezimwa"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Lango la mtandao lina shughuli nyingi kwa sasa"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Hujaunganishwa"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Umehifadhiwa"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Mtandao unapima data"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Mtandao usiopima data"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Imeunganishwa kupitia <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Inapatikana kupitia <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Umeunganishwa kiotomatiki kupitia <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Imeunganishwa kiotomatiki kupitia mtoa huduma wa ukadiriaji wa mtandao"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Muunganisho hafifu"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Seva ya faragha ya DNS haiwezi kufikiwa"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Hakuna intaneti"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Kipengele cha kuunganisha kiotomatiki kimezimwa"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Ilihifadhiwa na <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Haiwezi kuunganisha kiotomatiki"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Hakuna muunganisho wa intaneti"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Tatizo la uthibitishaji"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Angalia nenosiri na ujaribu tena"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Imeshindwa kuweka mipangilio ya IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Umezimwa"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Mlango wa mtandao una shughuli nyingi kwa sasa"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Hali ya muda ya mtandao dhaifu"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Muunganisho si thabiti. Jaribu kusogea karibu na kisambaza data."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Kuna msongamano kwenye mtandao. Jaribu tena baadaye."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Imeshindwa kuunganisha. Jaribu tena baadaye."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Mtandao hauoani na kifaa hiki"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Imetenganishwa"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Uliohifadhiwa"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Mtandao unaopima data"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Mtandao usiopima data"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Imeunganishwa kupitia <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Inapatikana kupitia <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Imeunganishwa kiotomatiki kupitia <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Imeunganishwa kiotomatiki kupitia kampuni ya kukadiria mitandao"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Muunganisho hafifu"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Seva ya faragha ya DNS haiwezi kufikiwa"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Imeunganishwa kwenye kifaa. Imeshindwa kusambaza intaneti."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Ubora wa chini"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Hamna"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Muda umeisha"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Gusa ili ujisajili"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Gusa ili usasishe usajili na uunganishe"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Inafungua <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Imeshindwa kuunganisha"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Inakamilisha usajili…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Imeshindwa kukamilisha usajili. Gusa ili ujaribu tena."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Imekamilisha usajili. Inaunganisha…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Mtandao huu hupokea kitambulisho cha kipekee ambacho kinaweza kutumiwa kufuatilia mahali kifaa kilipo. "<annotation id="url">"Pata maelezo zaidi"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Polepole Sana"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Polepole"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Sawa"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Wastani"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Haraka"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Haraka Sana"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Hamna"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Muda wake umeisha"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Gusa ili ujisajili"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Gusa ili usasishe usajili na uunganishe"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Inafungua <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Imeshindwa kuunganisha"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Inakamilisha usajili…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Imeshindwa kukamilisha usajili. Gusa ili ujaribu tena."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Imekamilisha usajili. Inaunganisha…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Mtandao huu hupokea kitambulisho cha SIM ambacho kinaweza kutumiwa kufuatilia mahali kifaa kilipo. "<annotation id="url">"Pata maelezo zaidi"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Polepole Sana"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Polepole"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Sawa"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Wastani"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Haraka"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Haraka Sana"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi haitaunganishwa kiotomatiki kwa sasa"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ta/arrays.xml b/libs/WifiTrackerLib/res/values-ta/arrays.xml
index 8329cc3a7..69670cc0c 100644
--- a/libs/WifiTrackerLib/res/values-ta/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-ta/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"ஸ்கேன் செய்கிறது…"</item>
- <item msgid="6222852518007967736">"இணைக்கிறது…"</item>
- <item msgid="1176401854208153464">"அங்கீகரிக்கிறது…"</item>
- <item msgid="1377026397901197257">"IP முகவரியைப் பெறுகிறது…"</item>
- <item msgid="7627139816052121509">"இணைக்கப்பட்டது"</item>
- <item msgid="1598801023719359130">"இடைநிறுத்தப்பட்டது"</item>
- <item msgid="9160765456671002324">"துண்டிக்கிறது…"</item>
- <item msgid="8013176736494493734">"தொடர்பு துண்டிக்கப்பட்டது"</item>
- <item msgid="4077393480368783785">"தோல்வி"</item>
- <item msgid="605372180740008604">"தடுக்கப்பட்டன"</item>
- <item msgid="5102306451432929048">"வேகம் குறைவான இணைப்பைத் தற்காலிகமாகத் தவிர்க்கிறது"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"தேடுகிறது…"</item>
+ <item msgid="9055468790485684083">"இணைக்கிறது…"</item>
+ <item msgid="6099499723199990208">"அங்கீகரிக்கிறது…"</item>
+ <item msgid="6794055951297347103">"IP முகவரியைப் பெறுகிறது…"</item>
+ <item msgid="5450920562291300229">"இணைக்கப்பட்டது"</item>
+ <item msgid="6332116533879646145">"இடைநிறுத்தப்பட்டது"</item>
+ <item msgid="294459081501073818">"துண்டிக்கிறது…"</item>
+ <item msgid="1577368920272598676">"தொடர்பு துண்டிக்கப்பட்டது"</item>
+ <item msgid="7655843177582495451">"தோல்வி"</item>
+ <item msgid="8953752690917593623">"தடுக்கப்பட்டது"</item>
+ <item msgid="4400457817750243671">"வேகம் குறைவான இணைப்பைத் தற்காலிகமாகத் தவிர்க்கிறது"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ta/strings.xml b/libs/WifiTrackerLib/res/values-ta/strings.xml
index bc21c8eda..4d4606289 100644
--- a/libs/WifiTrackerLib/res/values-ta/strings.xml
+++ b/libs/WifiTrackerLib/res/values-ta/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"தானியங்கு இணைப்பு ஆஃப் செய்யப்பட்டுள்ளது"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> சேமித்தது"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"தானாக இணைக்கப்படாது"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"இணைய அணுகல் இல்லை"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"அங்கீகரிப்புச் சிக்கல்"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"கடவுச்சொல்லைச் சரிபார்த்து, மீண்டும் முயலவும்"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP உள்ளமைவில் தோல்வி"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"முடக்கப்பட்டது"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"தற்காலிகமாக அணுகல் புள்ளி நிரம்பியுள்ளது"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"தொடர்பு துண்டிக்கப்பட்டது"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"சேமிக்கப்பட்டது"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"கட்டண நெட்வொர்க்"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"கட்டணமில்லா நெட்வொர்க்"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> மூலம் இணைக்கப்பட்டது"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> மூலம் கிடைக்கும்"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> மூலம் தானாக இணைக்கப்பட்டது"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"நெட்வொர்க் மதிப்பீடு வழங்குநரால் தானாக இணைக்கப்பட்டது"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"வரம்பிற்கு உட்பட்ட இணைப்பு"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"தனிப்பட்ட DNS சேவையகத்தை அணுக இயலாது"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"இணைய இணைப்பு இல்லை"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"தானியங்கு இணைப்பு ஆஃப் செய்யப்பட்டுள்ளது"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> சேமித்தது"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"தானாக இணைக்கப்படாது"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"இணைய அணுகல் இல்லை"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"அங்கீகரிப்புச் சிக்கல்"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"கடவுச்சொல்லைச் சரிபார்த்து மீண்டும் முயலவும்"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP உள்ளமைவில் தோல்வி"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"முடக்கப்பட்டது"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"தற்காலிகமாக ஆக்சஸ் பாயிண்ட் நிரம்பியுள்ளது"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"தற்காலிகமாக நெட்வொர்க் சரியில்லை"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"வலுவற்ற சிக்னல். ரூட்டருக்கு அருகில் சென்று சிக்னல் வலுவாகக் கிடைக்கிறதா எனப் பாருங்கள்."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"நெட்வொர்க் பிசியாக உள்ளது. பிறகு முயலவும்."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"இணைக்க முடியவில்லை. பிறகு முயலவும்."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"இந்தச் சாதனத்துடன் நெட்வொர்க் இணங்கவில்லை"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"தொடர்பு துண்டிக்கப்பட்டது"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"சேமித்தது"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"கட்டண நெட்வொர்க்"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"கட்டணமில்லா நெட்வொர்க்"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> மூலம் இணைக்கப்பட்டது"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> மூலம் கிடைக்கும்"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> மூலம் தானாக இணைக்கப்பட்டது"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"நெட்வொர்க் மதிப்பீடு வழங்குநர் மூலம் தானாக இணைக்கப்பட்டது"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"வரம்பிற்கு உட்பட்ட இணைப்பு"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"ஏதுமில்லை"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"காலாவதியாகிவிட்டது"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"பதிவு செய்ய தட்டவும்"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"சந்தாவைப் புதுப்பித்து இணைக்க தட்டவும்"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> திறக்கப்படுகிறது"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"இணைக்க இயலவில்லை"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"பதிவு செய்தல் நிறைவடைகிறது…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"பதிவு செய்தலை நிறைவுசெய்ய முடியவில்லை. மீண்டும் முயல தட்டவும்."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"பதிவு செய்தல் நிறைவடைந்தது. இணைக்கிறது…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"இந்த நெட்வொர்க்கானது சாதன இருப்பிடத்தை டிராக் செய்யப் பயன்படுத்தப்படும் தனித்துவமான ஐடியைப் பெறும். "<annotation id="url">"மேலும் அறிக"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"மிகவும் வேகம் குறைவானது"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"வேகம் குறைவு"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"சரி"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"நடுத்தரம்"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"வேகம்"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"மிகவும் வேகமானது"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"ஏதுமில்லை"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"காலாவதியானது"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"பதிவு செய்ய தட்டவும்"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"சந்தாவைப் புதுப்பித்து இணைக்க தட்டவும்"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> திறக்கப்படுகிறது"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"இணைக்க இயலவில்லை"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"பதிவு செய்வது நிறைவடைகிறது…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"பதிவு செய்தலை நிறைவுசெய்ய முடியவில்லை. மீண்டும் முயல தட்டவும்."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"பதிவு செய்தல் நிறைவடைந்தது. இணைக்கிறது…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"சாதன இருப்பிடத்தைக் கண்காணிக்கப் பயன்படுத்தப்படும் சிம் ஐடியை இந்த நெட்வொர்க் பெறும். "<annotation id="url">"மேலும் அறிக"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"மிகவும் மெதுவானது"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"மெதுவானது"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"சரி"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"நடுத்தரம்"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"வேகமானது"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"மிகவும் வேகமானது"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-te/arrays.xml b/libs/WifiTrackerLib/res/values-te/arrays.xml
index 9c26bf728..efff29a8f 100644
--- a/libs/WifiTrackerLib/res/values-te/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-te/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"స్కాన్ చేస్తోంది…"</item>
- <item msgid="6222852518007967736">"కనెక్ట్ అవుతోంది…"</item>
- <item msgid="1176401854208153464">"ప్రామాణీకరిస్తోంది…"</item>
- <item msgid="1377026397901197257">"IP చిరునామాను పొందుతోంది…"</item>
- <item msgid="7627139816052121509">"కనెక్ట్ చేయబడింది"</item>
- <item msgid="1598801023719359130">"తాత్కాలికంగా రద్దు చేయబడింది"</item>
- <item msgid="9160765456671002324">"డిస్‌కనెక్ట్ చేస్తోంది…"</item>
- <item msgid="8013176736494493734">"డిస్‌కనెక్ట్ అయ్యింది"</item>
- <item msgid="4077393480368783785">"విఫలమైంది"</item>
- <item msgid="605372180740008604">"బ్లాక్ చేయబడింది"</item>
- <item msgid="5102306451432929048">"బలహీన కనెక్షన్‌ను తాత్కాలికంగా నివారిస్తోంది"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"స్కాన్ చేస్తోంది…"</item>
+ <item msgid="9055468790485684083">"కనెక్ట్ అవుతోంది…"</item>
+ <item msgid="6099499723199990208">"ప్రామాణీకరిస్తోంది…"</item>
+ <item msgid="6794055951297347103">"IP అడ్రస్‌ను పొందుతోంది…"</item>
+ <item msgid="5450920562291300229">"కనెక్ట్ అయింది"</item>
+ <item msgid="6332116533879646145">"సస్పెండ్ చేయబడింది"</item>
+ <item msgid="294459081501073818">"డిస్‌కనెక్ట్ అవుతోంది…"</item>
+ <item msgid="1577368920272598676">"డిస్‌కనెక్ట్ అయింది"</item>
+ <item msgid="7655843177582495451">"విఫలమైంది"</item>
+ <item msgid="8953752690917593623">"బ్లాక్ చేయబడింది"</item>
+ <item msgid="4400457817750243671">"బలహీన కనెక్షన్‌ను తాత్కాలికంగా నివారిస్తుంది"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-te/strings.xml b/libs/WifiTrackerLib/res/values-te/strings.xml
index 13a2c98e2..5699ef78e 100644
--- a/libs/WifiTrackerLib/res/values-te/strings.xml
+++ b/libs/WifiTrackerLib/res/values-te/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"ఆటో-కనెక్ట్ ఆఫ్‌లో ఉంది"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> ద్వారా సేవ్ చేయబడింది"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"ఆటోమేటిక్‌గా కనెక్ట్ కాదు"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"ఇంటర్నెట్ యాక్సెస్ లేదు"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"ప్రామాణీకరణ సమస్య"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"పాస్‌వర్డ్‌ను తనిఖీ చేసి, మళ్లీ ప్రయత్నించండి"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP కాన్ఫిగరేషన్ వైఫల్యం"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"డిజేబుల్ చేయబడింది"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"యాక్సెస్ పాయింట్ తాత్కాలికంగా నిండుకుంది"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"డిస్‌కనెక్ట్ అయ్యింది"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"సేవ్ చేయబడింది"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"గణించబడుతోంది"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"గణించబడటం లేదు"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> ద్వారా కనెక్ట్ చేయబడింది"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> ద్వారా అందుబాటులో ఉంది"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> ద్వారా ఆటోమేటిక్‌గా కనెక్ట్ చేయబడింది"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"నెట్‌వర్క్ రేటింగ్ ప్రదాత ద్వారా స్వయంచాలకంగా కనెక్ట్ చేయబడింది"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"పరిమిత కనెక్షన్"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"ప్రైవేట్ DNS సర్వర్‌ను యాక్సెస్ చేయడం సాధ్యపడదు"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"ఇంటర్నెట్ లేదు"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"ఆటో-కనెక్ట్ ఆఫ్‌లో ఉంది"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> చేత సేవ్ చేయబడింది"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"ఆటోమేటిక్‌గా కనెక్ట్ కాదు"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"ఇంటర్నెట్ యాక్సెస్ లేదు"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"ప్రామాణీకరణ సమస్య"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"పాస్‌వర్డ్‌ను తనిఖీ చేసి, మళ్లీ ట్రై చేయండి"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP కాన్ఫిగరేషన్ వైఫల్యం"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"డిజేబుల్ చేయబడింది"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"యాక్సెస్ పాయింట్ తాత్కాలికంగా నిండి ఉంది"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"తాత్కాలికంగా పేలవమైన నెట్‌వర్క్ పరిస్థితులు ఉన్నాయి"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"పేలవమైన సిగ్నల్. రూటర్‌కు కొద్దిగా దగ్గరికి వెళ్ళడానికి ట్రై చేయండి."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"నెట్‌వర్క్ సామర్థ్యం మించిపోయింది. తర్వాత మళ్లీ ట్రై చేయండి."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"కనెక్ట్ చేయడం సాధ్యపడదు. తర్వాత మళ్లీ ట్రై చేయండి."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"నెట్‌వర్క్ ఈ పరికరంతో అనుకూలంగా లేదు"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"డిస్‌కనెక్ట్ అయింది"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"సేవ్ అయింది"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"గణించబడింది"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"గణించబడటం లేదు"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> ద్వారా కనెక్ట్ చేయబడింది"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> ద్వారా అందుబాటులో ఉంది"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> ద్వారా ఆటోమేటిక్‌గా కనెక్ట్ చేయబడింది"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"నెట్‌వర్క్ రేటింగ్ ప్రొవైడర్ ద్వారా ఆటోమేటిక్‌గా కనెక్ట్ చేయబడింది"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"పరిమిత కనెక్షన్"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"ఏదీ లేదు"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"గడువు ముగిసింది"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"సైన్ అప్ చేయడానికి ట్యాప్ చేయండి"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"సభ్యత్వాన్ని రెన్యూ చేసి, కనెక్ట్ చేయడానికి నొక్కండి"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> తెరవబడుతోంది"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"కనెక్ట్ చేయడం సాధ్యపడలేదు"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"సైన్ అప్ పూర్తవుతోంది…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"సైన్ అప్‌ను పూర్తి చేయడం సాధ్యపడలేదు. మళ్ళీ ప్రయత్నించడానికి ట్యాప్ చేయండి."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"సైన్ అప్ పూర్తయింది. కనెక్ట్ చేయబడుతోంది…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"పరికర లొకేషన్‌ను ట్రాక్ చేయడానికి ఉపయోగపడే యూనిక్ IDని ఈ నెట్‌వర్క్ అందుకుంటుంది. "<annotation id="url">"మరింత తెలుసుకోండి"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"చాలా నెమ్మది"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"నెమ్మది"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"సరే"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"మధ్యస్థం"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"వేగవంతం"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"చాలా వేగవంతం"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"ఏవీ లేవు"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"గడువు ముగిసింది"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"సైన్ అప్ చేయడానికి ట్యాప్ చేయండి"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"సభ్యత్వాన్ని రెన్యూ చేసి, కనెక్ట్ చేయడానికి ట్యాప్ చేయండి"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> తెరవబడుతోంది"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"కనెక్ట్ చేయడం సాధ్యపడలేదు"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"సైన్ అప్ పూర్తి కావస్తోంది…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"సైన్ అప్‌ను పూర్తి చేయడం సాధ్యపడలేదు. మళ్ళీ ట్రై చేయడానికి ట్యాప్ చేయండి."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"సైన్ అప్ పూర్తయింది. కనెక్ట్ చేయబడుతోంది…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"పరికర లొకేషన్‌ను ట్రాక్ చేయడానికి ఉపయోగపడే SIM IDని ఈ నెట్‌వర్క్ అందుకుంటుంది. "<annotation id="url">"మరింత తెలుసుకోండి"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"చాలా నెమ్మది"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"నెమ్మది"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"సరే"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"మధ్యస్థం"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"వేగవంతం"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"చాలా వేగవంతం"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-th/arrays.xml b/libs/WifiTrackerLib/res/values-th/arrays.xml
index 2be340972..878febfa6 100644
--- a/libs/WifiTrackerLib/res/values-th/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-th/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"กำลังสแกน…"</item>
- <item msgid="6222852518007967736">"กำลังเชื่อมต่อ…"</item>
- <item msgid="1176401854208153464">"กำลังตรวจสอบสิทธิ์…"</item>
- <item msgid="1377026397901197257">"กำลังรับที่อยู่ IP…"</item>
- <item msgid="7627139816052121509">"เชื่อมต่อแล้ว"</item>
- <item msgid="1598801023719359130">"ถูกระงับ"</item>
- <item msgid="9160765456671002324">"กำลังยกเลิกการเชื่อมต่อ…"</item>
- <item msgid="8013176736494493734">"ยกเลิกการเชื่อมต่อแล้ว"</item>
- <item msgid="4077393480368783785">"ไม่สำเร็จ"</item>
- <item msgid="605372180740008604">"ถูกบล็อก"</item>
- <item msgid="5102306451432929048">"หลีกเลี่ยงการเชื่อมต่อกับสัญญาณที่ไม่แรงพอชั่วคราว"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"กำลังสแกน…"</item>
+ <item msgid="9055468790485684083">"กำลังเชื่อมต่อ…"</item>
+ <item msgid="6099499723199990208">"กำลังตรวจสอบสิทธิ์…"</item>
+ <item msgid="6794055951297347103">"กำลังรับที่อยู่ IP…"</item>
+ <item msgid="5450920562291300229">"เชื่อมต่อแล้ว"</item>
+ <item msgid="6332116533879646145">"ถูกระงับ"</item>
+ <item msgid="294459081501073818">"กำลังยกเลิกการเชื่อมต่อ…"</item>
+ <item msgid="1577368920272598676">"เลิกเชื่อมต่อแล้ว"</item>
+ <item msgid="7655843177582495451">"ไม่สำเร็จ"</item>
+ <item msgid="8953752690917593623">"ถูกบล็อก"</item>
+ <item msgid="4400457817750243671">"หลีกเลี่ยงการเชื่อมต่อกับสัญญาณที่ไม่แรงพอชั่วคราว"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-th/strings.xml b/libs/WifiTrackerLib/res/values-th/strings.xml
index 3dd09ad2b..59853106f 100644
--- a/libs/WifiTrackerLib/res/values-th/strings.xml
+++ b/libs/WifiTrackerLib/res/values-th/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"การเชื่อมต่ออัตโนมัติปิดอยู่"</string>
- <string name="saved_network" msgid="6241977554502802914">"บันทึกโดย<xliff:g id="NAME">%1$s</xliff:g> แล้ว"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"จะไม่เชื่อมต่อโดยอัตโนมัติ"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"เข้าถึงอินเทอร์เน็ตไม่ได้"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"ปัญหาในการตรวจสอบสิทธิ์"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"ตรวจสอบรหัสผ่านและลองอีกครั้ง"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"การกำหนดค่า IP ล้มเหลว"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"ปิดอยู่"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"จุดเข้าใช้งานเต็มชั่วคราว"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"ยกเลิกการเชื่อมต่อแล้ว"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"บันทึกแล้ว"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"แบบจำกัดปริมาณ"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"ไม่มีการวัดปริมาณอินเทอร์เน็ต"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"เชื่อมต่อแล้วผ่าน <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"ใช้งานได้ผ่านทาง <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"เชื่อมต่อโดยอัตโนมัติผ่าน <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"เชื่อมต่ออัตโนมัติผ่านผู้ให้บริการการจัดอันดับเครือข่าย"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"การเชื่อมต่อที่จำกัด"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"เข้าถึงเซิร์ฟเวอร์ DNS ไม่ได้"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"ไม่มีอินเทอร์เน็ต"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"การเชื่อมต่ออัตโนมัติปิดอยู่"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"บันทึกโดย <xliff:g id="NAME">%1$s</xliff:g> แล้ว"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"จะไม่เชื่อมต่อโดยอัตโนมัติ"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"เข้าถึงอินเทอร์เน็ตไม่ได้"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"ปัญหาในการตรวจสอบสิทธิ์"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"ตรวจสอบรหัสผ่านและลองอีกครั้ง"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"การกำหนดค่า IP ล้มเหลว"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"ปิดใช้"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"จุดเข้าใช้งานเต็มชั่วคราว"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"สภาพเครือข่ายไม่เสถียรชั่วคราว"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"สัญญาณไม่ดี ลองเข้าไปใกล้กับเราเตอร์"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"มีการใช้งานเครือข่ายเกินความจุ ลองอีกครั้งในภายหลัง"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"เชื่อมต่อไม่ได้ ลองอีกครั้งในภายหลัง"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"เครือข่ายใช้งานร่วมกับอุปกรณ์นี้ไม่ได้"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"เลิกเชื่อมต่อแล้ว"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"บันทึกแล้ว"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"แบบจำกัดปริมาณ"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"ไม่มีการวัดปริมาณอินเทอร์เน็ต"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"เชื่อมต่อแล้วผ่าน <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"ใช้งานได้ผ่านทาง <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"เชื่อมต่อโดยอัตโนมัติผ่าน <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"เชื่อมต่ออัตโนมัติผ่านผู้ให้บริการการจัดอันดับเครือข่าย"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"การเชื่อมต่อที่จำกัด"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"ไม่มี"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"หมดอายุแล้ว"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"แตะเพื่อลงชื่อสมัครใช้"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"แตะเพื่อต่ออายุการสมัครใช้บริการและเชื่อมต่อ"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"กำลังเปิด <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"เชื่อมต่อไม่สำเร็จ"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"กำลังลงชื่อสมัครใช้ให้เสร็จสิ้น…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"ลงชื่อสมัครใช้ไม่สำเร็จ แตะเพื่อลองอีกครั้ง"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"การลงชื่อสมัครใช้เสร็จสมบูรณ์ กำลังเชื่อมต่อ…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"เครือข่ายนี้ได้รับรหัสที่ไม่ซ้ำกันซึ่งใช้ติดตามตำแหน่งอุปกรณ์ได้ "<annotation id="url">"ดูข้อมูลเพิ่มเติม"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"ช้ามาก"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"ช้า"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ตกลง"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"ปานกลาง"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"เร็ว"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"เร็วมาก"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"ไม่มี"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"หมดอายุ"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"แตะเพื่อลงชื่อสมัครใช้"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"แตะเพื่อต่ออายุการสมัครใช้บริการและเชื่อมต่อ"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"กำลังเปิด <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"เชื่อมต่อไม่ได้"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"กำลังลงชื่อสมัครใช้ให้เสร็จสิ้น…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"ลงชื่อสมัครใช้ไม่สำเร็จ แตะเพื่อลองอีกครั้ง"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"การลงชื่อสมัครใช้เสร็จสมบูรณ์ กำลังเชื่อมต่อ…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"เครือข่ายนี้จะได้รับรหัส SIM ซึ่งใช้ติดตามตำแหน่งอุปกรณ์ได้ "<annotation id="url">"ดูข้อมูลเพิ่มเติม"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"ช้ามาก"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"ช้า"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"พอใช้"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"กลาง"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"เร็ว"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"เร็วมาก"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-tl/arrays.xml b/libs/WifiTrackerLib/res/values-tl/arrays.xml
index 1a511cf24..70ed92485 100644
--- a/libs/WifiTrackerLib/res/values-tl/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-tl/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Nagsa-scan…"</item>
- <item msgid="6222852518007967736">"Kumokonekta…"</item>
- <item msgid="1176401854208153464">"Ino-authenticate…"</item>
- <item msgid="1377026397901197257">"Kinukuha ang IP address…"</item>
- <item msgid="7627139816052121509">"Konektado"</item>
- <item msgid="1598801023719359130">"Sinuspinde"</item>
- <item msgid="9160765456671002324">"Dinidiskonekta…"</item>
- <item msgid="8013176736494493734">"Nadiskonekta"</item>
- <item msgid="4077393480368783785">"Hindi Matagumpay"</item>
- <item msgid="605372180740008604">"Naka-block"</item>
- <item msgid="5102306451432929048">"Pansamantalang iniiwasan ang mabagal na koneksyon"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Nagsa-scan…"</item>
+ <item msgid="9055468790485684083">"Kumokonekta…"</item>
+ <item msgid="6099499723199990208">"Ino-authenticate…"</item>
+ <item msgid="6794055951297347103">"Kinukuha ang IP address…"</item>
+ <item msgid="5450920562291300229">"Konektado"</item>
+ <item msgid="6332116533879646145">"Nasuspinde"</item>
+ <item msgid="294459081501073818">"Nagdidiskonekta…"</item>
+ <item msgid="1577368920272598676">"Nadiskonekta"</item>
+ <item msgid="7655843177582495451">"Hindi matagumpay"</item>
+ <item msgid="8953752690917593623">"Naka-block"</item>
+ <item msgid="4400457817750243671">"Pansamantalang iniiwasan ang mahinang koneksyon"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-tl/strings.xml b/libs/WifiTrackerLib/res/values-tl/strings.xml
index 88c0d394b..8d21cc663 100644
--- a/libs/WifiTrackerLib/res/values-tl/strings.xml
+++ b/libs/WifiTrackerLib/res/values-tl/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Naka-off ang Auto-connect"</string>
- <string name="saved_network" msgid="6241977554502802914">"Na-save ng <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Hindi awtomatikong kokonekta"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Walang access sa internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problema sa pag-authenticate"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Suriin ang password at subukang muli"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Hindi na-configure ang IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Naka-disable"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Pansamantalang puno ang access point"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Nadiskonekta"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Na-save"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Nakametro"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Hindi Nakametro"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Nakakonekta sa pamamagitan ng <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Available sa pamamagitan ng <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Awtomatikong nakakonekta sa pamamagitan ng <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Awtomatikong nakakonekta sa pamamagitan ng provider ng rating ng network"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Limitadong koneksyon"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Hindi ma-access ang pribadong DNS server"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Walang internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Naka-off ang Auto-connect"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Na-save ng/ni <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Hindi awtomatikong kokonekta"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Walang access sa internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Problema sa pag-authenticate"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Suriin ang password at subukan ulit"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Hindi na-configure ang IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Naka-disable"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Pansamantalang puno ang access point"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Pansamantalang hindi magandang kundisyon ng network"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Mahinang signal. Subukang mas lumapit sa router."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Lampas na sa kapasidad ang network. Subukan ulit sa ibang pagkakataon."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Hindi makakonekta. Subukan ulit sa ibang pagkakataon."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Hindi compatible ang network sa device na ito"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Nadiskonekta"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Naka-save"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Nakametro"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Hindi nakametro"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Nakakonekta sa pamamagitan ng <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Available sa pamamagitan ng <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Awtomatikong nakakonekta sa pamamagitan ng <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Awtomatikong nakakonekta sa pamamagitan ng provider ng rating ng network"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Limitadong koneksyon"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Hindi ma-access ang pribadong DNS server"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Nakakonekta sa device. Hindi makapagbigay ng internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Mababang kalidad"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Wala"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Nag-expire na"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"I-tap para mag-sign up"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"I-tap para i-renew ang subscription at kumonekta"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Binubuksan ang <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Hindi makakonekta"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Kinukumpleto ang pag-sign up…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Hindi makumpleto ang pag-sign up. I-tap para subukan ulit."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Kumpleto na ang pag-sign up. Kumokonekta…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Tumatanggap ang network na ito ng natatanging ID na magagamit sa pag-track ng lokasyon ng device. "<annotation id="url">"Matuto pa"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Napakabagal"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Mabagal"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Katamtaman"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Mabilis"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Napakabilis"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Wala"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Nag-expire na"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"I-tap para mag-sign up"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"I-tap para i-renew ang subscription at kumonekta"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Binubuksan ang <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Hindi makakonekta"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Kinukumpleto ang pag-sign up…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Hindi makumpleto ang pag-sign up. I-tap para subukan ulit."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Kumpleto na ang pag-sign up. Kumokonekta…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Tumatanggap ang network na ito ng SIM ID na magagamit sa pag-track sa lokasyon ng device. "<annotation id="url">"Matuto pa"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Napakabagal"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Mabagal"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Katamtaman"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Mabilis"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Napakabilis"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Hindi awtomatikong kokonekta ang Wi-Fi sa ngayon"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-tr/arrays.xml b/libs/WifiTrackerLib/res/values-tr/arrays.xml
index 59eb7a124..9e7db2e3d 100644
--- a/libs/WifiTrackerLib/res/values-tr/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-tr/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Taranıyor…"</item>
- <item msgid="6222852518007967736">"Bağlanıyor…"</item>
- <item msgid="1176401854208153464">"Kimlik doğrulanıyor…"</item>
- <item msgid="1377026397901197257">"IP adresi alınıyor…"</item>
- <item msgid="7627139816052121509">"Bağlı"</item>
- <item msgid="1598801023719359130">"Askıya alındı"</item>
- <item msgid="9160765456671002324">"Bağlantı kesiliyor…"</item>
- <item msgid="8013176736494493734">"Bağlı değil"</item>
- <item msgid="4077393480368783785">"Başarısız"</item>
- <item msgid="605372180740008604">"Engellendi"</item>
- <item msgid="5102306451432929048">"Zayıf bağlantıdan geçici olarak kaçınılıyor"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Taranıyor…"</item>
+ <item msgid="9055468790485684083">"Bağlanıyor…"</item>
+ <item msgid="6099499723199990208">"Kimlik doğrulanıyor…"</item>
+ <item msgid="6794055951297347103">"IP adresi alınıyor…"</item>
+ <item msgid="5450920562291300229">"Bağlı"</item>
+ <item msgid="6332116533879646145">"Askıya alındı"</item>
+ <item msgid="294459081501073818">"Bağlantı kesiliyor…"</item>
+ <item msgid="1577368920272598676">"Bağlı değil"</item>
+ <item msgid="7655843177582495451">"Başarısız"</item>
+ <item msgid="8953752690917593623">"Engellendi"</item>
+ <item msgid="4400457817750243671">"Zayıf bağlantıdan geçici olarak kaçınılıyor"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-tr/strings.xml b/libs/WifiTrackerLib/res/values-tr/strings.xml
index 9c165cd0b..fa99bd560 100644
--- a/libs/WifiTrackerLib/res/values-tr/strings.xml
+++ b/libs/WifiTrackerLib/res/values-tr/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Otomatik bağlanma kapalı"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> tarafından kaydedildi"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Otomatik olarak bağlanmayacak"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"İnternet erişimi yok"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Kimlik doğrulama sorunu"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Şifreyi kontrol edin ve tekrar deneyin"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP yapılandırması hatası"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Devre dışı"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Erişim noktası geçici olarak dolu"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Bağlı değil"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Kaydedildi"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Sayaçlı"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Sayaçsız"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> ile bağlandı"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> ile kullanılabilir"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> ile otomatik olarak bağlandı"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Ağ derecelendirme sağlayıcı aracılığıyla otomatik olarak bağlandı"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Sınırlı bağlantı"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Gizli DNS sunucusuna erişilemiyor"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"İnternet yok"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Otomatik bağlanma kapalı"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"<xliff:g id="NAME">%1$s</xliff:g> tarafından kaydedildi"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Otomatik olarak bağlanmayacak"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"İnternet erişimi yok"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Kimlik doğrulama sorunu"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Şifreyi kontrol edip tekrar deneyin"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP yapılandırması hatası"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Devre dışı"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Erişim noktası geçici olarak dolu"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Geçici kötü ağ koşulları"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Sinyal gücü zayıf. Yönlendiriciye yaklaşmayı deneyin."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Ağ kapasitesi aşıldı. Daha sonra tekrar deneyin."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Bağlanılamıyor. Daha sonra tekrar deneyin."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Ağ bu cihazla uyumlu değil"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Bağlı değil"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Kayıtlı"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Sayaçlı"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Sınırsız"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> ile bağlandı"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> ile kullanılabilir"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> ile otomatik olarak bağlandı"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Ağ derecelendirme sağlayıcısı aracılığıyla otomatik olarak bağlandı"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Sınırlı bağlantı"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Gizli DNS sunucusuna erişilemiyor"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Cihaza bağlandı. İnternet bağlantısı sağlanamıyor."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Düşük kalite"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Yok"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Süresi sona erdi"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Kaydolmak için dokunun"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Aboneliği yenilemek ve bağlanmak için dokunun"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> açılıyor"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Bağlanılamadı"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Kayıt işlemi tamamlanıyor…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Kayıt işlemi tamamlanamadı. Tekrar denemek için dokunun."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Kayıt tamamlandı. Bağlanıyor…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Bu ağ, cihaz konumunu izlemek için kullanılabilecek benzersiz bir kimlik alır. "<annotation id="url">"Daha fazla bilgi"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Çok Yavaş"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Yavaş"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Tamam"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Orta"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Hızlı"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Çok Hızlı"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Yok"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Süresi doldu"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Kaydolmak için dokunun"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Aboneliği yenilemek ve bağlanmak için dokunun"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> açılıyor"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Bağlanılamadı"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Kayıt işlemi tamamlanıyor…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Kayıt işlemi tamamlanamadı. Tekrar denemek için dokunun."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Kayıt tamamlandı. Bağlanıyor…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Bu ağ, cihaz konumunu izlemek için kullanılabilecek bir SIM kimliği alır. "<annotation id="url">"Daha fazla bilgi"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Çok Yavaş"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Yavaş"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Normal"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Orta"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Hızlı"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Çok Hızlı"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Kablosuz ağa şu anda otomatik olarak bağlanılamıyor"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-uk/arrays.xml b/libs/WifiTrackerLib/res/values-uk/arrays.xml
index 69158c0a4..5e2cf54a5 100644
--- a/libs/WifiTrackerLib/res/values-uk/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-uk/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Пошук…"</item>
- <item msgid="6222852518007967736">"Підключення…"</item>
- <item msgid="1176401854208153464">"Автентифікація…"</item>
- <item msgid="1377026397901197257">"Отримання ІР-адреси…"</item>
- <item msgid="7627139816052121509">"Підключено"</item>
- <item msgid="1598801023719359130">"Заблоковано"</item>
- <item msgid="9160765456671002324">"Відключення…"</item>
- <item msgid="8013176736494493734">"Відключено"</item>
- <item msgid="4077393480368783785">"Помилка"</item>
- <item msgid="605372180740008604">"Заблоковано"</item>
- <item msgid="5102306451432929048">"Перевірка підключення"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Пошук…"</item>
+ <item msgid="9055468790485684083">"Підключення…"</item>
+ <item msgid="6099499723199990208">"Автентифікація…"</item>
+ <item msgid="6794055951297347103">"Отримання ІР-адреси…"</item>
+ <item msgid="5450920562291300229">"Підключено"</item>
+ <item msgid="6332116533879646145">"Заблоковано"</item>
+ <item msgid="294459081501073818">"Відключення…"</item>
+ <item msgid="1577368920272598676">"Відключено"</item>
+ <item msgid="7655843177582495451">"Помилка"</item>
+ <item msgid="8953752690917593623">"Заблоковано"</item>
+ <item msgid="4400457817750243671">"Перевірка підключення"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-uk/strings.xml b/libs/WifiTrackerLib/res/values-uk/strings.xml
index dbb1b8985..6b3a5b0e7 100644
--- a/libs/WifiTrackerLib/res/values-uk/strings.xml
+++ b/libs/WifiTrackerLib/res/values-uk/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Автоматичне підключення вимкнено"</string>
- <string name="saved_network" msgid="6241977554502802914">"Збережено додатком <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Не підключатиметься автоматично"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Немає доступу до Інтернету"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Проблема з автентифікацією"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Перевірте пароль і повторіть спробу"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Помилка конфігурації IP-адреси"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Вимкнено"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Точка доступу тимчасово переповнена"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Від’єднано"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Збережено"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"З тарифікацією трафіку"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Без тарифікації трафіку"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Підключено через додаток <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Доступно в додатку <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Автоматично підключено через <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Автоматично під’єднано через постачальника оцінки якості мережі"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Обмежене з’єднання"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Немає доступу до приватного DNS-сервера"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Немає Інтернету"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Автоматичне підключення вимкнено"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Збережено додатком <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Не підключатиметься автоматично"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Немає доступу до Інтернету"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Проблема з автентифікацією"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Перевірте пароль і повторіть спробу"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Помилка конфігурації IP-адреси"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Вимкнено"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Точка доступу тимчасово переповнена"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Тимчасові проблеми з\'єднання з мережею"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Слабкий сигнал. Підійдіть ближче до маршрутизатора."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Мережа перенавантажена. Повторіть спробу пізніше."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Не вдалося підключитися. Повторіть спробу пізніше."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Мережа несумісна з цим пристроєм"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Відключено"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Збережено"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"З тарифікацією трафіку"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Без тарифікації трафіку"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Підключено через додаток <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Доступно в додатку <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Автоматично підключено через додаток <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Автоматично підключено через постачальника оцінки якості мережі"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Обмежене підключення"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"Немає"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Термін дії минув"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Торкніться, щоб зареєструватись"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Натисніть, щоб поновити підписку та підключитися"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> відкривається"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Не вдалося підключитись"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Завершення реєстрації…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Не вдалося завершити реєстрацію. Торкніться, щоб повторити спробу."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Реєстрацію завершено. Підключення…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Ця мережа отримує унікальний ідентифікатор, за допомогою якого можна відстежити місцезнаходження пристрою. "<annotation id="url">"Докладніше"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Дуже повільна"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Повільна"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ОК"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Середня"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Швидка"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Дуже швидка"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Немає"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Термін дії минув"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Торкніться, щоб увійти"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Натисніть, щоб поновити підписку та підключитися"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> відкривається"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Не вдалося підключитись"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Завершення реєстрації…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Не вдалося завершити реєстрацію. Торкніться, щоб повторити спробу."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Реєстрацію завершено. Підключення…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Ця мережа отримує ідентифікатор SIM-карти, за допомогою якого можна відстежити місцезнаходження пристрою. "<annotation id="url">"Докладніше"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Дуже повільна"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Повільна"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Середня"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Швидка"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Дуже швидка"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ur/arrays.xml b/libs/WifiTrackerLib/res/values-ur/arrays.xml
index bd68c6dd6..fa304981b 100644
--- a/libs/WifiTrackerLib/res/values-ur/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-ur/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"اسکین ہو رہا ہے…"</item>
- <item msgid="6222852518007967736">"منسلک ہو رہا ہے…"</item>
- <item msgid="1176401854208153464">"توثیق ہو رہی ہے…"</item>
- <item msgid="1377026397901197257">"‏IP پتہ حاصل کر رہا ہے…"</item>
- <item msgid="7627139816052121509">"منسلک ہے"</item>
- <item msgid="1598801023719359130">"معطل ہے"</item>
- <item msgid="9160765456671002324">"غیر منسلک ہو رہا ہے…"</item>
- <item msgid="8013176736494493734">"غیر منسلک ہے"</item>
- <item msgid="4077393480368783785">"ناکام"</item>
- <item msgid="605372180740008604">"مسدود"</item>
- <item msgid="5102306451432929048">"عارضی طور پر خراب کنکشن سے اجتناب کر رہا ہے"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"اسکین ہو رہا ہے…"</item>
+ <item msgid="9055468790485684083">"منسلک ہو رہا ہے…"</item>
+ <item msgid="6099499723199990208">"توثیق ہو رہی ہے…"</item>
+ <item msgid="6794055951297347103">"‏IP پتہ حاصل کر رہا ہے…"</item>
+ <item msgid="5450920562291300229">"منسلک"</item>
+ <item msgid="6332116533879646145">"معطل"</item>
+ <item msgid="294459081501073818">"غیر منسلک ہو رہا ہے…"</item>
+ <item msgid="1577368920272598676">"غیر منسلک"</item>
+ <item msgid="7655843177582495451">"ناکام"</item>
+ <item msgid="8953752690917593623">"مسدود"</item>
+ <item msgid="4400457817750243671">"عارضی طور پر خراب کنکشن سے اجتناب کر رہا ہے"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-ur/strings.xml b/libs/WifiTrackerLib/res/values-ur/strings.xml
index 3d7d2bad1..f0dc04455 100644
--- a/libs/WifiTrackerLib/res/values-ur/strings.xml
+++ b/libs/WifiTrackerLib/res/values-ur/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"خود کار طور پر منسلک کریں آف ہے"</string>
- <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> کی جانب سے محفوظ کردہ"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"خودکار طور پر منسلک نہیں ہو گا"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"انٹرنیٹ تک کوئی رسائی نہیں"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"توثیق کا مسئلہ"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"پاس ورڈ چیک کر کے دوبارہ کوشش کریں"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"‏IP کنفیگریشن کی ناکامی"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"غیر فعال"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"رسائی پوائنٹ عارضی طور پر فُل ہے"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"غیر منسلک"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"محفوظ کردیا گیا"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"میٹرڈ"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"غیر میٹر شدہ"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> کے ذریعے منسلک"</string>
- <string name="available_via_app" msgid="9110324040292242769">"دستیاب بذریعہ <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"خودکار طور پر <xliff:g id="NAME">%1$s</xliff:g> کے ذریعے منسلک"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"نیٹ ورک درجہ بندی کے فراہم کنندہ کے ذریعے از خود منسلک"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"محدود کنکشن"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"‏نجی DNS سرور تک رسائی حاصل نہیں کی جا سکی"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"انٹرنیٹ نہیں ہے"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"خود کار طور پر منسلک ہونا آف ہے"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"‫<xliff:g id="NAME">%1$s</xliff:g> کی جانب سے محفوظ کردہ"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"خودکار طور پر منسلک نہیں ہو گا"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"انٹرنیٹ تک کوئی رسائی نہیں"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"توثیق کا مسئلہ"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"پاس ورڈ چیک کرکے دوبارہ کوشش کریں"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"‏‫IP کنفیگریشن کی ناکامی"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"غیر فعال"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"رسائی پوائنٹ عارضی طور پر فُل ہے"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"عارضی خراب نیٹ ورک کے حالات"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"کمزور سگنل۔ روٹر کے قریب منتقل کرنے کی کوشش کریں۔"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"نیٹ ورک کی گنجائش حد سے زیادہ ہے۔ بعد میں دوبارہ کوشش کریں۔"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"منسلک نہیں ہو سکا۔ بعد میں دوبارہ کوشش کریں۔"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"نیٹ ورک اس آلے کے ساتھ موافقت نہیں رکھتا ہے"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"غیر منسلک"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"محفوظ کردہ"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"میٹرڈ"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"غیر میٹر شدہ"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"‫<xliff:g id="NAME">%1$s</xliff:g> کے ذریعے منسلک"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"دستیاب بذریعہ <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"خودکار طور پر <xliff:g id="NAME">%1$s</xliff:g> کے ذریعے منسلک"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"نیٹ ورک درجہ بندی کے فراہم کنندہ کے ذریعے از خود منسلک"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"محدود کنکشن"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"کوئی نہیں"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"میعاد ختم ہو گئی"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"سائن اپ کے لیے تھپتھپائیں"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"سبسکرپشن کی تجدید کرنے اور منسلک ہونے کے لیے تھپتھپائیں"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> کھل رہا ہے"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"منسلک نہیں کیا جا سکا"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"سائن اپ مکمل ہو رہا ہے…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"سائن اپ مکمل نہیں ہو سکا۔ دوبارہ کوشش کرنے کے لیے تھپتھپائیں۔"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"سائن اپ مکمل ہو گیا۔ منسلک ہو رہا ہے…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"‏اس نیٹ ورک کو ایک منفرد ID موصول ہوتی ہے جو آلہ کے مقام کو ٹریک کرنے کیلئے استعمال ہو سکتی ہے۔ "<annotation id="url">"مزید جانیں"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"بہت سست"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"سست"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"ٹھیک ہے"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"متوسط"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"تیز"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"بہت تیز"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"کوئی نہیں"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"میعاد ختم شدہ"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"سائن اپ کے لیے تھپتھپائیں"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"سبسکرپشن کی تجدید کرنے اور منسلک ہونے کے لیے تھپتھپائیں"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"‫<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> کھل رہا ہے"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"منسلک نہیں کیا جا سکا"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"سائن اپ مکمل ہو رہا ہے…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"سائن اپ مکمل نہیں ہو سکا۔ دوبارہ کوشش کرنے کے لیے تھپتھپائیں۔"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"سائن اپ مکمل ہو گیا۔ منسلک ہو رہا ہے…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"‏اس نیٹ ورک کو ایک SIM ID موصول ہوتی ہے جو آلہ کے مقام کو ٹریک کرنے کیلئے استعمال ہو سکتی ہے۔ "<annotation id="url">"مزید جانیں"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"بہت سست"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"سست"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"ٹھیک ہے"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"متوسط"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"تیز"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"بہت تیز"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-uz/arrays.xml b/libs/WifiTrackerLib/res/values-uz/arrays.xml
index 56c2e91cd..d6decee4c 100644
--- a/libs/WifiTrackerLib/res/values-uz/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-uz/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Qidirilmoqda…"</item>
- <item msgid="6222852518007967736">"Ulanmoqda…"</item>
- <item msgid="1176401854208153464">"Autentifikatsiya qilinmoqda…"</item>
- <item msgid="1377026397901197257">"IP manzil olinmoqda…"</item>
- <item msgid="7627139816052121509">"Ulangan"</item>
- <item msgid="1598801023719359130">"Vaqtincha uzilgan"</item>
- <item msgid="9160765456671002324">"Uzilmoqda…"</item>
- <item msgid="8013176736494493734">"Uzilgan"</item>
- <item msgid="4077393480368783785">"Ulanmadi"</item>
- <item msgid="605372180740008604">"Bloklandi"</item>
- <item msgid="5102306451432929048">"Signali kuchsiz tarmoqqa vaqtinchalik ulanilmasin"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Qidirilmoqda…"</item>
+ <item msgid="9055468790485684083">"Ulanmoqda…"</item>
+ <item msgid="6099499723199990208">"Autentifikatsiya qilinmoqda…"</item>
+ <item msgid="6794055951297347103">"IP manzil olinmoqda…"</item>
+ <item msgid="5450920562291300229">"Ulandi"</item>
+ <item msgid="6332116533879646145">"Bloklangan"</item>
+ <item msgid="294459081501073818">"Uzilmoqda…"</item>
+ <item msgid="1577368920272598676">"Uzildi"</item>
+ <item msgid="7655843177582495451">"Ulanmadi"</item>
+ <item msgid="8953752690917593623">"Bloklandi"</item>
+ <item msgid="4400457817750243671">"Signali kuchsiz tarmoqqa vaqtinchalik ulanilmasin"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-uz/strings.xml b/libs/WifiTrackerLib/res/values-uz/strings.xml
index 4a6e8051a..e421c7764 100644
--- a/libs/WifiTrackerLib/res/values-uz/strings.xml
+++ b/libs/WifiTrackerLib/res/values-uz/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Avtomatik ulanish yoqilmagan"</string>
- <string name="saved_network" msgid="6241977554502802914">"Saqlangan: <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Avtomatik ravishda ulanilmaydi"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Internetga ulanmagan"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Haqiqiylikni tekshirishda muammo"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Parolni tekshirib, qaytadan urining"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP manzil sozlanmadi"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Yoqilmagan"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Internet kirish nuqtasi vaqtinchalik to‘lgan"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Ulanmagan"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Saqlangan"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Trafik hisoblanadigan tarmoq"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Trafik hisobi yuritilmaydigan tarmoq"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> orqali ulandi"</string>
- <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> ilovasi orqali mavjud"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> orqali avtomatik ulandi"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Tarmoqlar reytingi muallifi orqali avtomatik ulandi"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Cheklangan aloqa"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Xususiy DNS server ishlamayapti"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Internetga ulanmagansiz"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Avtomatik ulash yoqilmagan"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Saqlangan: <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Avtomatik ravishda ulanilmaydi"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Internetga ulanmagan"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Haqiqiylikni tekshirishda muammo"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Parolni tekshirib, qaytadan urining"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP manzil sozlanmadi"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Yoqilmagan"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Ulanish nuqtasi vaqtinchalik toʻlgan"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Tarmoq signali vaqtincha kuchsiz"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Signal kuchsiz. Routerga yaqinlashtiring."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Tarmoqda joy qolmadi. Keyinroq urining."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Ulanish imkonsiz. Keyinroq urining."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Tarmoq bu qurilma bilan mos emas."</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Uzildi"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Saqlangan"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Trafik hisoblanadi"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Trafik hisoblanmaydi"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"<xliff:g id="NAME">%1$s</xliff:g> orqali ulandi"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"<xliff:g id="NAME">%1$s</xliff:g> ilovasi orqali mavjud"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"<xliff:g id="NAME">%1$s</xliff:g> orqali avtomatik ulandi"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Tarmoqlar reytingi muallifi orqali avtomatik ulandi"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Cheklangan aloqa"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Xususiy DNS server ishlamayapti"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Qurilmaga ulandi. Internetga ulanmagan."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Sifati past"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Hech qanday"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Muddati tugagan"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Registratsiya qilish uchun bosing"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Obunani davom ettirish va ulanish uchun bosing"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ochilmoqda"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Ulanmadi"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Registratsiya tamomlanmoqda…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Registratsiya tamomlanmadi. Qayta urinish uchun tegining."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Registratsiya qilindi. Ulanmoqda…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Bu tarmoqqa qurilma joylashuvini aniqlash imkonini beruvchi maxsus identifikator beriladi. "<annotation id="url">"Batafsil"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Juda sekin"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Sekin"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"O‘rtacha"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Tez"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Juda tez"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"–"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Muddati tugagan"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Yozilish uchun bosing"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Obunani davom ettirish va ulanish uchun bosing"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> ochilmoqda"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Ulanmadi"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Registratsiya tamomlanmoqda…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Registratsiya tamomlanmadi. Qayta urinish uchun tegining."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Registratsiya qilindi. Ulanmoqda…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Bu tarmoqqa qurilma joylashuvini aniqlash imkonini beruvchi SIM identifikator beriladi. "<annotation id="url">"Batafsil"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Juda sekin"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Sekin"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Oʻrtacha"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Tez"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Juda tez"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Wi-Fi hozir avtomatik ulanmaydi"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-vi/arrays.xml b/libs/WifiTrackerLib/res/values-vi/arrays.xml
index 4294b6e53..730a1082e 100644
--- a/libs/WifiTrackerLib/res/values-vi/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-vi/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Đang quét…"</item>
- <item msgid="6222852518007967736">"Đang kết nối…"</item>
- <item msgid="1176401854208153464">"Đang xác thực…"</item>
- <item msgid="1377026397901197257">"Đang lấy địa chỉ IP…"</item>
- <item msgid="7627139816052121509">"Đã kết nối"</item>
- <item msgid="1598801023719359130">"Bị tạm ngưng"</item>
- <item msgid="9160765456671002324">"Đang ngắt kết nối…"</item>
- <item msgid="8013176736494493734">"Đã ngắt kết nối"</item>
- <item msgid="4077393480368783785">"Không thành công"</item>
- <item msgid="605372180740008604">"Bị chặn"</item>
- <item msgid="5102306451432929048">"Tạm thời tránh kết nối kém"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Đang quét…"</item>
+ <item msgid="9055468790485684083">"Đang kết nối…"</item>
+ <item msgid="6099499723199990208">"Đang xác thực…"</item>
+ <item msgid="6794055951297347103">"Đang lấy địa chỉ IP…"</item>
+ <item msgid="5450920562291300229">"Đã kết nối"</item>
+ <item msgid="6332116533879646145">"Bị tạm ngưng"</item>
+ <item msgid="294459081501073818">"Đang ngắt kết nối…"</item>
+ <item msgid="1577368920272598676">"Đã ngắt kết nối"</item>
+ <item msgid="7655843177582495451">"Không thành công"</item>
+ <item msgid="8953752690917593623">"Bị chặn"</item>
+ <item msgid="4400457817750243671">"Tạm thời tránh kết nối kém"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-vi/strings.xml b/libs/WifiTrackerLib/res/values-vi/strings.xml
index 0dbce3ae2..ea69e9bb7 100644
--- a/libs/WifiTrackerLib/res/values-vi/strings.xml
+++ b/libs/WifiTrackerLib/res/values-vi/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Tính năng tự động kết nối đang tắt"</string>
- <string name="saved_network" msgid="6241977554502802914">"Do ứng dụng <xliff:g id="NAME">%1$s</xliff:g> lưu"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Sẽ không tự động kết nối"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Không có kết nối Internet"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Sự cố xác thực"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Kiểm tra mật khẩu và thử lại"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Lỗi cấu hình IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Đã tắt"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Điểm truy cập tạm thời đã đạt đến giới hạn số lượng thiết bị truy cập."</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Đã ngắt kết nối"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Đã lưu"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Đo lượng dữ liệu"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Không đo lượng dữ liệu"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Đã kết nối qua <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Được cung cấp qua <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Đã tự động kết nối qua <xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Tự động được kết nối qua nhà cung cấp dịch vụ xếp hạng mạng"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Kết nối giới hạn"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Không thể truy cập máy chủ DNS riêng tư"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Không có Internet"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Tính năng tự động kết nối đang tắt"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Do ứng dụng <xliff:g id="NAME">%1$s</xliff:g> lưu"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Sẽ không tự động kết nối"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Không có kết nối Internet"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Sự cố xác thực"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Kiểm tra mật khẩu và thử lại"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Lỗi cấu hình IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Đã tắt"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Điểm truy cập đã tạm thời đạt đến giới hạn số lượng thiết bị truy cập"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Tình trạng mạng kém tạm thời"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Tín hiệu yếu. Hãy thử di chuyển đến gần bộ định tuyến hơn."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Mạng bị quá tải. Hãy thử lại sau."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Không thể kết nối. Hãy thử lại sau."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Mạng không tương thích với thiết bị này"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Đã ngắt kết nối"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Đã lưu"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Đo lượng dữ liệu"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Không đo lượng dữ liệu"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Đã kết nối qua <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Được cung cấp qua <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Đã tự động kết nối qua <xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Đã tự động kết nối qua nhà cung cấp dịch vụ xếp hạng mạng"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Kết nối giới hạn"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Không thể truy cập máy chủ DNS riêng tư"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Đã kết nối với thiết bị. Không thể cung cấp Internet."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Chất lượng thấp"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Không"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Đã hết hạn"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Nhấn để đăng ký"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Nhấn để gia hạn gói đăng ký và kết nối"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Đang mở <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Không thể kết nối"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Đang hoàn tất việc đăng ký…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Không thể hoàn tất việc đăng ký. Hãy nhấn để thử lại."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Đã đăng ký xong. Đang kết nối…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Mạng này nhận được một mã nhận dạng duy nhất có thể dùng để theo dõi vị trí của thiết bị. "<annotation id="url">"Tìm hiểu thêm"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Rất chậm"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Chậm"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"Khá tốt"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Trung bình"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Nhanh"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Rất nhanh"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Không có"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Đã hết hạn"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Nhấn để đăng ký"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Nhấn để gia hạn gói đăng ký và kết nối"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Đang mở <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Không thể kết nối"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Đang hoàn tất đăng ký…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Không thể hoàn tất quá trình đăng ký. Hãy nhấn để thử lại."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Đã đăng ký xong. Đang kết nối…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Mạng này nhận được một mã nhận dạng SIM có thể dùng để theo dõi vị trí của thiết bị. "<annotation id="url">"Tìm hiểu thêm"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Rất chậm"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Chậm"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Khá tốt"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Trung bình"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Nhanh"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Rất nhanh"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-zh-rCN/arrays.xml b/libs/WifiTrackerLib/res/values-zh-rCN/arrays.xml
index 72c3cf422..530080ab8 100644
--- a/libs/WifiTrackerLib/res/values-zh-rCN/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-zh-rCN/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"正在扫描…"</item>
- <item msgid="6222852518007967736">"正在连接…"</item>
- <item msgid="1176401854208153464">"正在验证身份…"</item>
- <item msgid="1377026397901197257">"正在获取 IP 地址…"</item>
- <item msgid="7627139816052121509">"已连接"</item>
- <item msgid="1598801023719359130">"已暂停"</item>
- <item msgid="9160765456671002324">"正在断开连接…"</item>
- <item msgid="8013176736494493734">"已断开连接"</item>
- <item msgid="4077393480368783785">"失败"</item>
- <item msgid="605372180740008604">"已屏蔽"</item>
- <item msgid="5102306451432929048">"暂时关闭(网络状况不佳)"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"正在扫描…"</item>
+ <item msgid="9055468790485684083">"正在连接…"</item>
+ <item msgid="6099499723199990208">"正在验证身份…"</item>
+ <item msgid="6794055951297347103">"正在获取 IP 地址…"</item>
+ <item msgid="5450920562291300229">"已连接"</item>
+ <item msgid="6332116533879646145">"已暂停"</item>
+ <item msgid="294459081501073818">"正在断开连接…"</item>
+ <item msgid="1577368920272598676">"已断开连接"</item>
+ <item msgid="7655843177582495451">"失败"</item>
+ <item msgid="8953752690917593623">"已屏蔽"</item>
+ <item msgid="4400457817750243671">"连接状况不佳,暂时停用"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml b/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml
index 4b8e777e6..1ca747208 100644
--- a/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml
+++ b/libs/WifiTrackerLib/res/values-zh-rCN/strings.xml
@@ -16,42 +16,49 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"自动连接已关闭"</string>
- <string name="saved_network" msgid="6241977554502802914">"由“<xliff:g id="NAME">%1$s</xliff:g>”保存"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"无法自动连接"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"无法访问互联网"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"身份验证出现问题"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"请检查密码,然后重试"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP 配置失败"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"已停用"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"接入点暂时满载"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"已断开连接"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"已保存"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"按流量计费"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"不按流量计费"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"已通过<xliff:g id="NAME">%1$s</xliff:g>连接到网络"</string>
- <string name="available_via_app" msgid="9110324040292242769">"可通过“<xliff:g id="NAME">%1$s</xliff:g>”使用"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"已通过<xliff:g id="NAME">%1$s</xliff:g>自动连接"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"已自动连接(通过网络评分服务提供方)"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"网络连接受限"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"无法访问私人 DNS 服务器"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"无法访问互联网"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"自动连接已关闭"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"已由<xliff:g id="NAME">%1$s</xliff:g>保存"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"无法自动连接"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"无法访问互联网"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"身份验证出现问题"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"请检查密码是否正确,然后重试"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP 配置失败"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"已停用"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"接入点暂时满载"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"临时性网络连接状况不佳"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"信号微弱。请尝试移到离路由器更近的地方。"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"网络已过载。请稍后重试。"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"无法连接。请稍后重试。"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"网络与此设备不兼容"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"已断开连接"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"已保存"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"按流量计费"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"不按流量计费"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"已通过<xliff:g id="NAME">%1$s</xliff:g>连接"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"可通过<xliff:g id="NAME">%1$s</xliff:g>使用"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"已通过<xliff:g id="NAME">%1$s</xliff:g>自动连接"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"已通过网络评分服务提供方自动连接"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"网络连接受限"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"无"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"已失效"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"点按即可注册"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"点按即可续订并连接"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"正在打开<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"无法连接"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"正在完成注册…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"无法完成注册。点按即可重试。"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"注册完毕。正在连接…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"此网络会收到可用于跟踪设备位置的唯一 ID。"<annotation id="url">"了解详情"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"很慢"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"慢"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"良好"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"适中"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"快"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"很快"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"无"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"已过期"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"点按即可注册"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"点按即可续订并连接"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"正在打开<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"无法连接"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"正在完成注册…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"无法完成注册。点按即可重试。"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"注册完毕。正在连接…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"此网络会收到可用于跟踪设备位置的 SIM 卡 ID。"<annotation id="url">"了解详情"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"很慢"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"慢"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"尚可"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"中"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"快"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"很快"</string>
+ <!-- no translation found for wifitrackerlib_wifi_wont_autoconnect_for_now (4923161724964349851) -->
+ <skip />
</resources>
diff --git a/libs/WifiTrackerLib/res/values-zh-rHK/arrays.xml b/libs/WifiTrackerLib/res/values-zh-rHK/arrays.xml
index b7306d604..71e482162 100644
--- a/libs/WifiTrackerLib/res/values-zh-rHK/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-zh-rHK/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"正在掃瞄…"</item>
- <item msgid="6222852518007967736">"正在連線…"</item>
- <item msgid="1176401854208153464">"正在認證…"</item>
- <item msgid="1377026397901197257">"正在取得 IP 位址…"</item>
- <item msgid="7627139816052121509">"已連線"</item>
- <item msgid="1598801023719359130">"已暫停"</item>
- <item msgid="9160765456671002324">"正在解除連接…"</item>
- <item msgid="8013176736494493734">"連線中斷"</item>
- <item msgid="4077393480368783785">"失敗"</item>
- <item msgid="605372180740008604">"已封鎖"</item>
- <item msgid="5102306451432929048">"暫不使用訊號較弱的連線"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"正在掃瞄…"</item>
+ <item msgid="9055468790485684083">"正在連線…"</item>
+ <item msgid="6099499723199990208">"正在認證…"</item>
+ <item msgid="6794055951297347103">"正在取得 IP 位址…"</item>
+ <item msgid="5450920562291300229">"已連線"</item>
+ <item msgid="6332116533879646145">"已暫停"</item>
+ <item msgid="294459081501073818">"正在中斷連線…"</item>
+ <item msgid="1577368920272598676">"已中斷連線"</item>
+ <item msgid="7655843177582495451">"失敗"</item>
+ <item msgid="8953752690917593623">"已封鎖"</item>
+ <item msgid="4400457817750243671">"暫不使用訊號較弱的連線"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-zh-rHK/strings.xml b/libs/WifiTrackerLib/res/values-zh-rHK/strings.xml
index 81d821261..85d1c568f 100644
--- a/libs/WifiTrackerLib/res/values-zh-rHK/strings.xml
+++ b/libs/WifiTrackerLib/res/values-zh-rHK/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"自動連線功能已關閉"</string>
- <string name="saved_network" msgid="6241977554502802914">"由「<xliff:g id="NAME">%1$s</xliff:g>」儲存"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"不會自動連線"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"無法連接互聯網"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"驗證問題"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"請檢查密碼,然後再試一次"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"無法設定 IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"已停用"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"存取點暫時已滿"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"已解除連接"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"已儲存"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"按用量收費"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"不限數據用量收費"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"已透過「<xliff:g id="NAME">%1$s</xliff:g>」連線"</string>
- <string name="available_via_app" msgid="9110324040292242769">"可透過「<xliff:g id="NAME">%1$s</xliff:g>」連線"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"已透過「<xliff:g id="NAME">%1$s</xliff:g>」自動連線"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"已透過網絡評分供應商自動連線"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"連線受限"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"無法存取私人 DNS 伺服器"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"沒有互聯網連線"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"自動連線功能已關閉"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"由「<xliff:g id="NAME">%1$s</xliff:g>」儲存"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"不會自動連線"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"沒有互聯網連線"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"驗證問題"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"請檢查密碼,然後再試一次"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"無法設定 IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"已停用"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"存取點暫時已滿"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"暫時網絡連線欠佳"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"訊號偏弱,請嘗試移近路由器。"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"網絡流量超出上限,請稍後再試。"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"無法連線,請稍後再試。"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"網絡與此裝置不兼容"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"已中斷連線"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"已儲存"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"按用量收費"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"非按用量收費"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"已透過「<xliff:g id="NAME">%1$s</xliff:g>」連線"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"可透過「<xliff:g id="NAME">%1$s</xliff:g>」連線"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"已透過「<xliff:g id="NAME">%1$s</xliff:g>」自動連線"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"已透過網絡評分供應商自動連線"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"連線受限"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"無"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"已過期"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"輕按即可登入"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"輕按即可續購訂閱並連線"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"正在開啟 <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"無法連接"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"正在完成申請…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"無法完成申請。輕按即可重試。"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"已完成申請。連接中…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"此網絡會接收可用於追蹤裝置位置的獨特 ID。"<annotation id="url">"瞭解詳情"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"非常慢"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"慢"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"良好"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"適中"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"快"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"非常快"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"無"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"已過期"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"輕按即可登入"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"輕按即可續購訂閱並連線"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"正在開啟 <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"無法連線"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"正在完成申請…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"無法完成申請。輕按即可重試。"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"已完成申請。連接中…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"此網絡會接收可用於追蹤裝置位置的 SIM 卡 ID。"<annotation id="url">"瞭解詳情"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"非常慢"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"慢"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"好"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"中"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"快"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"非常快"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"目前不會自動連上 Wi-Fi"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-zh-rTW/arrays.xml b/libs/WifiTrackerLib/res/values-zh-rTW/arrays.xml
index b89603dd4..068574571 100644
--- a/libs/WifiTrackerLib/res/values-zh-rTW/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-zh-rTW/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"掃描中…"</item>
- <item msgid="6222852518007967736">"連線中…"</item>
- <item msgid="1176401854208153464">"驗證中…"</item>
- <item msgid="1377026397901197257">"正在取得 IP 位址…"</item>
- <item msgid="7627139816052121509">"已連線"</item>
- <item msgid="1598801023719359130">"已暫停使用"</item>
- <item msgid="9160765456671002324">"正在中斷連線…"</item>
- <item msgid="8013176736494493734">"已中斷連線"</item>
- <item msgid="4077393480368783785">"不成功"</item>
- <item msgid="605372180740008604">"已封鎖"</item>
- <item msgid="5102306451432929048">"暫時不使用訊號較弱的連線"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"掃描中…"</item>
+ <item msgid="9055468790485684083">"連線中…"</item>
+ <item msgid="6099499723199990208">"驗證中…"</item>
+ <item msgid="6794055951297347103">"正在取得 IP 位址…"</item>
+ <item msgid="5450920562291300229">"已連線"</item>
+ <item msgid="6332116533879646145">"已暫停使用"</item>
+ <item msgid="294459081501073818">"正在中斷連線…"</item>
+ <item msgid="1577368920272598676">"已中斷連線"</item>
+ <item msgid="7655843177582495451">"失敗"</item>
+ <item msgid="8953752690917593623">"已封鎖"</item>
+ <item msgid="4400457817750243671">"暫時不使用訊號較弱的連線"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-zh-rTW/strings.xml b/libs/WifiTrackerLib/res/values-zh-rTW/strings.xml
index 4195427dc..d6636d513 100644
--- a/libs/WifiTrackerLib/res/values-zh-rTW/strings.xml
+++ b/libs/WifiTrackerLib/res/values-zh-rTW/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"自動連線功能已關閉"</string>
- <string name="saved_network" msgid="6241977554502802914">"由「<xliff:g id="NAME">%1$s</xliff:g>」儲存"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"不會自動連線"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"沒有可用的網際網路連線"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"驗證問題"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"請檢查密碼,然後再試一次"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP 設定失敗"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"已停用"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"存取點暫時滿載"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"已中斷連線"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"已儲存"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"計量付費"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"非計量付費"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"透過「<xliff:g id="NAME">%1$s</xliff:g>」連線"</string>
- <string name="available_via_app" msgid="9110324040292242769">"可透過「<xliff:g id="NAME">%1$s</xliff:g>」使用"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"透過「<xliff:g id="NAME">%1$s</xliff:g>」自動連線"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"已透過網路評分供應商自動連線"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"連線能力受限"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"無法存取私人 DNS 伺服器"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"沒有網際網路連線"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"自動連線功能已關閉"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"由「<xliff:g id="NAME">%1$s</xliff:g>」儲存"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"不會自動連線"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"沒有網際網路連線"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"驗證問題"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"請檢查密碼,然後再試一次"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"無法設定 IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"已停用"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"存取點暫時滿載"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"暫時性網路連線品質不佳"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"網路訊號微弱,建議你移動到比較靠近路由器的位置。"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"網路流量超載,請稍後再試。"</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"無法連線,請稍後再試。"</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"找不到與這部裝置相容的網路"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"已中斷連線"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"已儲存"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"計量付費"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"非計量付費"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"已透過「<xliff:g id="NAME">%1$s</xliff:g>」連線"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"可透過「<xliff:g id="NAME">%1$s</xliff:g>」使用"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"已透過「<xliff:g id="NAME">%1$s</xliff:g>」自動連線"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"已透過連線品質評估供應商自動連線"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"連線能力受限"</string>
+ <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="wifi_security_none" msgid="6680263031386719053">"無"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"已失效"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"輕觸即可註冊"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"輕觸即可續訂並連線"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"正在開啟「<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>」"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"無法連線"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"正在完成註冊程序…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"無法完成註冊程序。輕觸即可重試。"</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"註冊完成。連線中…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"這個網路會收到可用於追蹤裝置位置的唯一 ID。"<annotation id="url">"瞭解詳情"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"非常慢"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"慢"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"確定"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"適中"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"快"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"非常快"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"無"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"已失效"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"輕觸即可註冊"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"輕觸即可續訂並連線"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"正在開啟「<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>」"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"無法連線"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"正在完成註冊程序…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"無法完成註冊程序。輕觸即可重試。"</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"註冊完成。連線中…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"這個網路會收到可用於追蹤裝置位置的 SIM 卡 ID。"<annotation id="url">"瞭解詳情"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"非常慢"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"慢"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"尚可"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"中"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"快"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"非常快"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"目前不會自動連上 Wi-Fi"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-zu/arrays.xml b/libs/WifiTrackerLib/res/values-zu/arrays.xml
index 867c56892..942921929 100644
--- a/libs/WifiTrackerLib/res/values-zu/arrays.xml
+++ b/libs/WifiTrackerLib/res/values-zu/arrays.xml
@@ -20,18 +20,18 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string-array name="wifi_status">
- <item msgid="8763475525292171481"></item>
- <item msgid="903308535197209786">"Iyaskena…"</item>
- <item msgid="6222852518007967736">"Iyaxhuma…"</item>
- <item msgid="1176401854208153464">"Iyaqinisekisa…"</item>
- <item msgid="1377026397901197257">"Ithola ikheli le-IP…"</item>
- <item msgid="7627139816052121509">"Ixhunyiwe"</item>
- <item msgid="1598801023719359130">"Kumiswe okwesikhashana"</item>
- <item msgid="9160765456671002324">"Iyanqamula…"</item>
- <item msgid="8013176736494493734">"Inqamukile"</item>
- <item msgid="4077393480368783785">"Akuphumelelanga"</item>
- <item msgid="605372180740008604">"Ivinjiwe"</item>
- <item msgid="5102306451432929048">"Ivimbela ukuxhumeka okungekho kuhle kahle okwesikhashana"</item>
+ <string-array name="wifitrackerlib_wifi_status">
+ <item msgid="4878873480828298657"></item>
+ <item msgid="5782995872855767551">"Iyaskena…"</item>
+ <item msgid="9055468790485684083">"Iyaxhuma…"</item>
+ <item msgid="6099499723199990208">"Iyaqinisekisa…"</item>
+ <item msgid="6794055951297347103">"Ithola ikheli lasesizindeni se-inthanethi…"</item>
+ <item msgid="5450920562291300229">"Ixhunyiwe"</item>
+ <item msgid="6332116533879646145">"Kumiswe okwesikhashana"</item>
+ <item msgid="294459081501073818">"Iyanqamula…"</item>
+ <item msgid="1577368920272598676">"Inqamukile"</item>
+ <item msgid="7655843177582495451">"Akuphumelelanga"</item>
+ <item msgid="8953752690917593623">"Ivinjiwe"</item>
+ <item msgid="4400457817750243671">"Okwesikhashana ivikela ukuxhumana okungaqinile"</item>
</string-array>
</resources>
diff --git a/libs/WifiTrackerLib/res/values-zu/strings.xml b/libs/WifiTrackerLib/res/values-zu/strings.xml
index 2f405d86f..77eb70690 100644
--- a/libs/WifiTrackerLib/res/values-zu/strings.xml
+++ b/libs/WifiTrackerLib/res/values-zu/strings.xml
@@ -16,42 +16,48 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="summary_separator" msgid="6533720408587140819">" / "</string>
- <string name="auto_connect_disable" msgid="1078319396240632542">"Ukuxhuma ngokuzenzakalelayo kuvaliwe"</string>
- <string name="saved_network" msgid="6241977554502802914">"Kulondolozwe ngu-<xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Ngeke ixhume ngokuzenzekelayo"</string>
- <string name="wifi_no_internet" msgid="4461212237521310895">"Akukho ukufinyelela kwe-inthanethi"</string>
- <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Inkinga yokufakazela ubuqiniso"</string>
- <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Hlola iphasiwedi uphinde uzame futhi"</string>
- <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Ukwehluleka kokulungiswa kwe-IP"</string>
- <string name="wifi_disabled_generic" msgid="8307050327779256414">"Akusebenzi"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Iphoyinti lokufinyelela ligcwele okwesikhashana"</string>
- <string name="wifi_disconnected" msgid="3720926757662831062">"Inqamukile"</string>
- <string name="wifi_remembered" msgid="5126903736498678708">"Kulondoloziwe"</string>
- <string name="wifi_metered_label" msgid="1362621600006544014">"Kulinganisiwe"</string>
- <string name="wifi_unmetered_label" msgid="499466875639448350">"Akulinganiselwa"</string>
- <string name="connected_via_app" msgid="1818040967936972127">"Ixhumeke nge-<xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="available_via_app" msgid="9110324040292242769">"Kutholakala nge-<xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer" msgid="209764314005159012">"Kuxhunywe ngokuzenzekelayo nge-<xliff:g id="NAME">%1$s</xliff:g>"</string>
- <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Kuxhunywe ngokuzenzakalelayo ngomhlinzeki wesilinganiso wenethiwekhi"</string>
- <string name="wifi_limited_connection" msgid="3646701342701276239">"Iqoqo elikhawulelwe"</string>
- <string name="private_dns_broken" msgid="2212227512243587416">"Iseva eyimfihlo ye-DNS ayikwazi ukufinyelelwa"</string>
- <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Ayikho i-inthanethi"</string>
+ <string name="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
+ <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Ukuxhuma ngokuzenzakalelayo kuvaliwe"</string>
+ <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Kulondolozwe ngu-<xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Ngeke ixhume ngokuzenzekelayo"</string>
+ <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Akukho ukufinyelela kwe-inthanethi"</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Inkinga yokufakazela ubuqiniso"</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Hlola iphasiwedi uphinde uzame futhi"</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Ukwehluleka kokulungiswa kwe-IP"</string>
+ <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Ikhutshaziwe"</string>
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Iphoyinti lokufinyelela ligcwele okwesikhashana"</string>
+ <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Izimo zesikhashana zenethiwekhi engasimeme"</string>
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Isignali ebuthakathaka. Zama ukusondela eduze nomzila."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Inethiwekhi ingaphezu komthamo. Zama futhi emuva kwesikhathi."</string>
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Ayikwazi ukuxhuma. Zama futhi emuva kwesikhathi."</string>
+ <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Inethiwekhi ayihambisani nale divayisi"</string>
+ <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Inqamukile"</string>
+ <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Kulondoloziwe"</string>
+ <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Kulinganisiwe"</string>
+ <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Akulinganiselwa"</string>
+ <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Ixhumeke nge-<xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Kutholakala nge-<xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Kuxhunywe ngokuzenzekelayo nge-<xliff:g id="NAME">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Kuxhunywe ngokuzenzakalelayo ngomhlinzeki wesilinganiso wenethiwekhi"</string>
+ <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Iqoqo elikhawulelwe"</string>
+ <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Iseva eyimfihlo ye-DNS ayikwazi ukufinyelelwa"</string>
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Ixhunywe kudivayisi. Ayikwazi ukunikeza i-inthanethi."</string>
<string name="wifi_connected_low_quality" msgid="4478331645458058445">"Ikhwalithi ephansi"</string>
- <string name="wifi_security_none" msgid="6680263031386719053">"Lutho"</string>
- <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Iphelelwe isikhathi"</string>
- <string name="tap_to_sign_up" msgid="2409214576606918295">"Thepha ukuze ubhalisele"</string>
- <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Thepha ukuze wenze kabusha okubhalisile futhi uxhume"</string>
- <string name="osu_opening_provider" msgid="5633521771769175139">"Ivula i-<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
- <string name="osu_connect_failed" msgid="8503501619299851793">"Ayikwazanga ukuxhumeka"</string>
- <string name="osu_completing_sign_up" msgid="7188493241442946231">"Iqedela ukubhalisa…"</string>
- <string name="osu_sign_up_failed" msgid="2725057866968590279">"Ayikwazanga ukuqedelela ukubhalisa. Thepha ukuze uzame futhi."</string>
- <string name="osu_sign_up_complete" msgid="7013805426618985953">"Ukubhalisa kuqediwe. Iyaxhuma…"</string>
- <string name="imsi_protection_warning" msgid="3207104049473134195">"Le nethiwekhi ithola i-ID ehlukile engasetshenziselwa ukulandelela indawo yedivayisi. "<annotation id="url">"Funda kabanzi"</annotation></string>
- <string name="speed_label_very_slow" msgid="2401582671941367179">"Phansi kakhulu"</string>
- <string name="speed_label_slow" msgid="8410385703344502127">"Phansi"</string>
- <string name="speed_label_okay" msgid="3741857805086997968">"KULUNGILE"</string>
- <string name="speed_label_medium" msgid="3175703848952862009">"Okumaphakathi"</string>
- <string name="speed_label_fast" msgid="8344116097613544322">"Sheshayo"</string>
- <string name="speed_label_very_fast" msgid="1595806641512447877">"Kushesha kakhulu"</string>
+ <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Lutho"</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Iphelelwe isikhathi"</string>
+ <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Thepha ukuze ubhalisele"</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Thepha ukuze wenze kabusha okubhalisile futhi uxhume"</string>
+ <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"Ivula i-<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
+ <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Ayikwazanga ukuxhumeka"</string>
+ <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Iqedela ukubhalisa…"</string>
+ <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Ayikwazanga ukuqedelela ukubhalisa. Thepha ukuze uzame futhi."</string>
+ <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Ukubhalisa kuqediwe. Iyaxhuma…"</string>
+ <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Le nethiwekhi ithola i-ISIM D engasetshenziselwa ukulandelela indawo yedivayisi. "<annotation id="url">"Funda kabanzi"</annotation></string>
+ <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Phansi kakhulu"</string>
+ <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Phansi"</string>
+ <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"KULUNGILE"</string>
+ <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Okulingene"</string>
+ <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Sheshayo"</string>
+ <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Kushesha kakhulu"</string>
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"I-Wi-Fi ngeke ixhume ngokuzenzakalelayo okwamanje"</string>
</resources>
diff --git a/libs/WifiTrackerLib/res/values/arrays.xml b/libs/WifiTrackerLib/res/values/arrays.xml
index 9292a5e48..93a827cfb 100644
--- a/libs/WifiTrackerLib/res/values/arrays.xml
+++ b/libs/WifiTrackerLib/res/values/arrays.xml
@@ -23,7 +23,7 @@
<!-- Match this with the order of NetworkInfo.DetailedState. --> <skip />
<!-- Wi-Fi settings. The status messages when the network is unknown. -->
- <string-array name="wifi_status">
+ <string-array name="wifitrackerlib_wifi_status">
<!-- Status message of Wi-Fi when it is idle. -->
<item></item>
<!-- Status message of Wi-Fi when it is scanning. -->
diff --git a/libs/WifiTrackerLib/res/values/strings.xml b/libs/WifiTrackerLib/res/values/strings.xml
index 04369824a..4b4741a6c 100644
--- a/libs/WifiTrackerLib/res/values/strings.xml
+++ b/libs/WifiTrackerLib/res/values/strings.xml
@@ -15,184 +15,211 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Summary text separator for short descriptions (eg. "Fast / Connected"). [CHAR LIMIT=NONE] -->
- <string name="summary_separator">" / "</string>
+ <string name="wifitrackerlib_summary_separator">" / "</string>
<!-- Strings for labeling Wi-Fi Auto-Connection is disabled. Wi-Fi Auto-Connection is a feature
for users to specify if a Wi-Fi network will be auto connected when it's reachable. [CHAR LIMIT=60] -->
- <string name="auto_connect_disable">Auto-connect is off</string>
+ <string name="wifitrackerlib_auto_connect_disable">Auto-connect is off</string>
<!-- Package name for Settings app-->
- <string name="settings_package" translatable="false">com.android.settings</string>
+ <string name="wifitrackerlib_settings_package" translatable="false">com.android.settings</string>
<!-- Package name for Certinstaller app-->
- <string name="certinstaller_package" translatable="false">com.android.certinstaller</string>
+ <string name="wifitrackerlib_certinstaller_package" translatable="false">com.android.certinstaller</string>
<!-- Summary for saved networks [CHAR LIMIT=NONE]-->
- <string name="saved_network">Saved by <xliff:g id="name" example="Wifi App">%1$s</xliff:g></string>
+ <string name="wifitrackerlib_saved_network">Saved by <xliff:g id="name" example="Wifi App">%1$s</xliff:g></string>
<!-- Summary for the network but no internet connection was detected. [CHAR LIMIT=NONE] -->
- <string name="wifi_no_internet_no_reconnect">Won\u2019t automatically connect</string>
+ <string name="wifitrackerlib_wifi_no_internet_no_reconnect">Won\u2019t automatically connect</string>
<!-- Summary for the remembered network but no internet connection was detected. [CHAR LIMIT=NONE] -->
- <string name="wifi_no_internet">No internet access</string>
+ <string name="wifitrackerlib_wifi_no_internet">No internet access</string>
<!-- Status for networks disabled from authentication failure (wrong password
or certificate). [CHAR LIMIT=NONE] -->
- <string name="wifi_disabled_password_failure">Authentication problem</string>
+ <string name="wifitrackerlib_wifi_disabled_password_failure">Authentication problem</string>
<!-- Message shown when the user likely entered an incorrect password for a wifi network [CHAR LIMIT=NONE] -->
- <string name="wifi_check_password_try_again">Check password and try again</string>
+ <string name="wifitrackerlib_wifi_check_password_try_again">Check password and try again</string>
<!-- Status for networked disabled from a DNS or DHCP failure [CHAR LIMIT=NONE] -->
- <string name="wifi_disabled_network_failure">IP configuration failure</string>
+ <string name="wifitrackerlib_wifi_disabled_network_failure">IP configuration failure</string>
<!-- Status for networks disabled for unknown reason [CHAR LIMIT=NONE] -->
- <string name="wifi_disabled_generic">Disabled</string>
+ <string name="wifitrackerlib_wifi_disabled_generic">Disabled</string>
- <!-- Summary for networks failing to connect due to association rejection status 17, AP full [CHAR LIMIT=NONE] -->
- <string name="wifi_ap_unable_to_handle_new_sta">Access point temporarily full</string>
+ <!-- Summary for networks failing to connect due to one of the following reasons:
+ association rejection status 17 - AP full,
+ association rejection status 30 - AP rejected the device temporarily
+ disconnection reason code 5 - AP can't handle all existing stations [CHAR LIMIT=NONE] -->
+ <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta">Access point temporarily full</string>
+
+ <!-- Summary for networks failing to connect due to association rejection status 34, poor channel conditions [CHAR LIMIT=NONE] -->
+ <string name="wifitrackerlib_wifi_poor_channel_conditions">Temporary poor network conditions</string>
+
+ <!-- Summary for networks failing to connect due to association rejection status 17 or 30, with
+ MBO association disallowed indication attribute reason code: Insufficient RSSI,
+ or association rejection status 34, with OCE RSSI based association rejection information [CHAR LIMIT=NONE] -->
+ <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi">Weak signal. Try moving closer to the router.</string>
+
+ <!-- Summary for networks failing to connect due to association rejection status 17 or 30, with
+ MBO association disallowed indication attribute reason code: maximum number of associated stations reached, [CHAR LIMIT=NONE] -->
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated">Network is over capacity. Try again later.</string>
+
+ <!-- Summary for networks failing to connect due to association rejection status 17 or 30, with
+ MBO association disallowed indication attribute with one of the following reason codes:
+ Air interface is overloaded,
+ Authentication server overloaded,
+ Reserved/Unspecified [CHAR LIMIT=NONE] -->
+ <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect">Can\'t connect. Try again later.</string>
+
+ <!-- Summary for networks failing to connect due to failed to find a network in supplicant scan result
+ which matches the network requested by framework for connection (including network capabilities) [CHAR LIMIT=NONE] -->
+ <string name="wifitrackerlib_wifi_network_not_found">Can\'t connect. Try again later.</string>
<!-- Summary for the disconnected network. [CHAR LIMIT=40] -->
- <string name="wifi_disconnected">Disconnected</string>
+ <string name="wifitrackerlib_wifi_disconnected">Disconnected</string>
<!-- Summary for the remembered network. [CHAR LIMIT=NONE] -->
- <string name="wifi_remembered">Saved</string>
+ <string name="wifitrackerlib_wifi_remembered">Saved</string>
<!-- Label indicating network has been manually marked as metered [CHAR LIMIT=NONE] -->
- <string name="wifi_metered_label">Metered</string>
+ <string name="wifitrackerlib_wifi_metered_label">Metered</string>
<!-- Label indicating network has been manually marked as unmetered [CHAR LIMIT=NONE] -->
- <string name="wifi_unmetered_label">Unmetered</string>
+ <string name="wifitrackerlib_wifi_unmetered_label">Unmetered</string>
<!-- Status message of Wi-Fi when it is connected by a app (via suggestion or network request). [CHAR LIMIT=NONE] -->
- <string name="connected_via_app">Connected via <xliff:g id="name" example="Wifi App">%1$s</xliff:g></string>
+ <string name="wifitrackerlib_connected_via_app">Connected via <xliff:g id="name" example="Wifi App">%1$s</xliff:g></string>
<!-- Summary for a network suggested by an app. [CHAR LIMIT=NONE] -->
- <string name="available_via_app">Available via <xliff:g id="name" example="Wifi App">%1$s</xliff:g></string>
+ <string name="wifitrackerlib_available_via_app">Available via <xliff:g id="name" example="Wifi App">%1$s</xliff:g></string>
<!-- Status message of Wi-Fi when it is automatically connected by a network recommendation provider. [CHAR LIMIT=NONE] -->
- <string name="connected_via_network_scorer">Automatically connected via <xliff:g id="name" example="Wifi App">%1$s</xliff:g></string>
+ <string name="wifitrackerlib_connected_via_network_scorer">Automatically connected via <xliff:g id="name" example="Wifi App">%1$s</xliff:g></string>
<!-- Status message of Wi-Fi when it is automatically connected by a default network recommendation provider. [CHAR LIMIT=NONE] -->
- <string name="connected_via_network_scorer_default">Automatically connected via network rating provider</string>
+ <string name="wifitrackerlib_connected_via_network_scorer_default">Automatically connected via network rating provider</string>
<!-- Summary for connected wifi network with partial internet connectivity [CHAR LIMIT=50] -->
- <string name="wifi_limited_connection">Limited connection</string>
+ <string name="wifitrackerlib_wifi_limited_connection">Limited connection</string>
<!-- Summary for connected network without internet due to private dns validation failed [CHAR LIMIT=NONE] -->
- <string name="private_dns_broken">Private DNS server cannot be accessed</string>
+ <string name="wifitrackerlib_private_dns_broken">Private DNS server cannot be accessed</string>
- <!-- Summary for Connected wifi network without internet [CHAR LIMIT=NONE] -->
- <string name="wifi_connected_no_internet">No internet</string>
+ <!-- Summary for connected wifi network without internet [CHAR LIMIT=NONE] -->
+ <string name="wifitrackerlib_wifi_connected_cannot_provide_internet">
+ Connected to device. Can\'t provide internet.</string>
<!-- Summary for Connected wifi network with a low quality connection [CHAR LIMIT=NONE] -->
<string name="wifi_connected_low_quality">Low quality</string>
- <!-- Do not translate. Concise terminology for wifi with 802.1x EAP security -->
- <string name="wifi_security_short_eap" translatable="false">802.1x</string>
+ <!-- Do not translate. Concise terminology for wifi with WPA/WPA2 802.1x EAP security -->
+ <string name="wifitrackerlib_wifi_security_short_eap_wpa_wpa2" translatable="false">WPA/WPA2-EAP</string>
- <!-- Do not translate. Concise terminology for wifi with 802.1x EAP security -->
- <string name="wifi_security_eap" translatable="false">WPA/WPA2/WPA3-Enterprise</string>
+ <!-- Do not translate. Concise terminology for wifi with WPA/WPA2 802.1x EAP security -->
+ <string name="wifitrackerlib_wifi_security_eap_wpa_wpa2" translatable="false">WPA/WPA2-Enterprise</string>
- <!-- Do not translate. Concise terminology for wifi with WPA 802.1x EAP security -->
- <string name="wifi_security_short_eap_wpa" translatable="false">WPA-EAP</string>
+ <!-- Do not translate. Concise terminology for wifi with WPA3 802.1x EAP security -->
+ <string name="wifitrackerlib_wifi_security_short_eap_wpa3" translatable="false">WPA3-EAP</string>
- <!-- Do not translate. Concise terminology for wifi with WPA 802.1x EAP security -->
- <string name="wifi_security_eap_wpa" translatable="false">WPA-Enterprise</string>
+ <!-- Do not translate. Concise terminology for wifi with WPA3 802.1x EAP security -->
+ <string name="wifitrackerlib_wifi_security_eap_wpa3" translatable="false">WPA3-Enterprise</string>
- <!-- Do not translate. Concise terminology for wifi with WPA2/WPA3 802.1x EAP security -->
- <string name="wifi_security_short_eap_wpa2_wpa3" translatable="false">RSN-EAP</string>
+ <!-- Do not translate. Concise terminology for wifi with WPA/WPA2/WPA3 802.1x EAP security -->
+ <string name="wifitrackerlib_wifi_security_short_eap_wpa_wpa2_wpa3" translatable="false">WPA/WPA2/WPA3-EAP</string>
- <!-- Do not translate. Concise terminology for wifi with WPA2/WPA3 802.1x EAP security -->
- <string name="wifi_security_eap_wpa2_wpa3" translatable="false">WPA2/WPA3-Enterprise</string>
+ <!-- Do not translate. Concise terminology for wifi with WPA/WPA2/WPA3 802.1x EAP security -->
+ <string name="wifitrackerlib_wifi_security_eap_wpa_wpa2_wpa3" translatable="false">WPA/WPA2/WPA3-Enterprise</string>
<!-- Do not translate. Concise terminology for wifi with 802.1x EAP Suite-B-192 security -->
- <string name="wifi_security_short_eap_suiteb" translatable="false">Suite-B-192</string>
+ <string name="wifitrackerlib_wifi_security_short_eap_suiteb" translatable="false">Suite-B-192</string>
<!-- Do not translate. Concise terminology for wifi with 802.1x EAP Suite-B-192 security -->
- <string name="wifi_security_eap_suiteb" translatable="false">WPA3-Enterprise 192-bit</string>
+ <string name="wifitrackerlib_wifi_security_eap_suiteb" translatable="false">WPA3-Enterprise 192-bit</string>
- <!-- Do not translate. Concise terminology for wifi with WPA security -->
- <string name="wifi_security_short_wpa" translatable="false">WPA</string>
+ <!-- Do not translate. Concise terminology for wifi with both WPA/WPA2 security -->
+ <string name="wifitrackerlib_wifi_security_short_wpa_wpa2" translatable="false">WPA/WPA2</string>
- <!-- Do not translate. Terminology for wifi with WPA security -->
- <string name="wifi_security_wpa" translatable="false">WPA-Personal</string>
-
- <!-- Do not translate. Concise terminology for wifi with WPA2/WPA3 security -->
- <string name="wifi_security_short_wpa2_wpa3" translatable="false">WPA2/WPA3</string>
-
- <!-- Do not translate. Terminology for wifi with WPA2/WPA3 security -->
- <string name="wifi_security_wpa2_wpa3" translatable="false">WPA2/WPA3-Personal</string>
+ <!-- Do not translate. Terminology for wifi with both WPA/WPA2 security -->
+ <string name="wifitrackerlib_wifi_security_wpa_wpa2" translatable="false">WPA/WPA2-Personal</string>
<!-- Do not translate. Concise terminology for wifi with both WPA/WPA2/WPA3 security -->
- <string name="wifi_security_short_wpa_wpa2_wpa3" translatable="false">WPA/WPA2/WPA3</string>
+ <string name="wifitrackerlib_wifi_security_short_wpa_wpa2_wpa3" translatable="false">WPA/WPA2/WPA3</string>
- <!-- Do not translate. Terminology for wifi with both WPA/WPA2/WPA3 security, or unknown -->
- <string name="wifi_security_wpa_wpa2_wpa3" translatable="false">WPA/WPA2/WPA3-Personal</string>
+ <!-- Do not translate. Terminology for wifi with both WPA/WPA2/WPA3 security -->
+ <string name="wifitrackerlib_wifi_security_wpa_wpa2_wpa3" translatable="false">WPA/WPA2/WPA3-Personal</string>
<!-- Do not translate. Terminology for wifi with WEP security -->
- <string name="wifi_security_wep" translatable="false">WEP</string>
+ <string name="wifitrackerlib_wifi_security_wep" translatable="false">WEP</string>
<!-- Do not translate. Concise terminology for wifi with WPA3 security -->
- <string name="wifi_security_short_sae" translatable="false">WPA3</string>
+ <string name="wifitrackerlib_wifi_security_short_sae" translatable="false">WPA3</string>
<!-- Do not translate. Terminology for wifi with WPA3 security -->
- <string name="wifi_security_sae" translatable="false">WPA3-Personal</string>
+ <string name="wifitrackerlib_wifi_security_sae" translatable="false">WPA3-Personal</string>
<!-- Do not translate. Concise terminology for wifi with OWE security -->
- <string name="wifi_security_short_owe" translatable="false">OWE</string>
+ <string name="wifitrackerlib_wifi_security_short_owe" translatable="false">OWE</string>
<!-- Do not translate. Terminology for wifi with OWE security -->
- <string name="wifi_security_owe" translatable="false">Enhanced Open</string>
+ <string name="wifitrackerlib_wifi_security_owe" translatable="false">Enhanced Open</string>
<!-- Used in Wi-Fi settings dialogs when Wi-Fi does not have any security. [CHAR LIMIT=40] -->
- <string name="wifi_security_none">None</string>
+ <string name="wifitrackerlib_wifi_security_none">None</string>
+
+ <!-- Do not translate. Terminology for wifi with Passpoint security -->
+ <string name="wifitrackerlib_wifi_security_passpoint">Passpoint</string>
<!-- Passpoint summary for an expired passpoint [CHAR LIMIT=40] -->
- <string name="wifi_passpoint_expired">Expired</string>
+ <string name="wifitrackerlib_wifi_passpoint_expired">Expired</string>
<!-- Status message of OSU Provider network when not connected. [CHAR LIMIT=NONE] -->
- <string name="tap_to_sign_up">Tap to sign up</string>
+ <string name="wifitrackerlib_tap_to_sign_up">Tap to sign up</string>
<!-- Status message of OSU Provider network when existing profile is expired. [CHAR LIMIT=NONE] -->
- <string name="tap_to_renew_subscription_and_connect">Tap to renew subscription and connect</string>
+ <string name="wifitrackerlib_tap_to_renew_subscription_and_connect">Tap to renew subscription and connect</string>
<!-- Status message of OSU Provider upon initiating provisioning flow [CHAR LIMIT=NONE] -->
- <string name="osu_opening_provider">Opening <xliff:g id="passpointProvider" example="Passpoint Provider">%1$s</xliff:g></string>
+ <string name="wifitrackerlib_osu_opening_provider">Opening <xliff:g id="passpointProvider" example="Passpoint Provider">%1$s</xliff:g></string>
<!-- Status message of OSU Provider when connection fails [CHAR LIMIT=NONE] -->
- <string name="osu_connect_failed">Couldn\u2019t connect</string>
+ <string name="wifitrackerlib_osu_connect_failed">Couldn\u2019t connect</string>
<!-- Status message of OSU Provider after user completes provisioning flow [CHAR LIMIT=NONE] -->
- <string name="osu_completing_sign_up">Completing sign-up\u2026</string>
+ <string name="wifitrackerlib_osu_completing_sign_up">Completing sign-up\u2026</string>
<!-- Status message of OSU Provider when sign up could not be completed [CHAR LIMIT=NONE] -->
- <string name="osu_sign_up_failed">Couldn\u2019t complete sign-up. Tap to try again.</string>
+ <string name="wifitrackerlib_osu_sign_up_failed">Couldn\u2019t complete sign-up. Tap to try again.</string>
<!-- Status message of OSU Provider on completing provisioning. [CHAR LIMIT=NONE] -->
- <string name="osu_sign_up_complete">Sign-up complete. Connecting\u2026</string>
+ <string name="wifitrackerlib_osu_sign_up_complete">Sign-up complete. Connecting\u2026</string>
<!-- IMSI protection warning for non-protection network [CHAR LIMIT=NONE] -->
- <string name="imsi_protection_warning">This network receives a unique ID that can be used to track device location. <annotation id="url">Learn more</annotation></string>
+ <string name="wifitrackerlib_imsi_protection_warning">This network receives a SIM ID that can be used to track device location. <annotation id="url">Learn more</annotation></string>
<!-- Help URL, IMSI protection [DO NOT TRANSLATE] -->
- <string name="help_url_imsi_protection" translatable="false"></string>
+ <string name="wifitrackerlib_help_url_imsi_protection" translatable="false"></string>
<!-- Speed label for very slow network speed -->
- <string name="speed_label_very_slow">Very Slow</string>
+ <string name="wifitrackerlib_speed_label_very_slow">Very Slow</string>
<!-- Speed label for slow network speed -->
- <string name="speed_label_slow">Slow</string>
+ <string name="wifitrackerlib_speed_label_slow">Slow</string>
<!-- Speed label for okay network speed -->
- <string name="speed_label_okay">OK</string>
+ <string name="wifitrackerlib_speed_label_okay">OK</string>
<!-- Speed label for medium network speed -->
- <string name="speed_label_medium">Medium</string>
+ <string name="wifitrackerlib_speed_label_medium">Medium</string>
<!-- Speed label for fast network speed -->
- <string name="speed_label_fast">Fast</string>
+ <string name="wifitrackerlib_speed_label_fast">Fast</string>
<!-- Speed label for very fast network speed -->
- <string name="speed_label_very_fast">Very Fast</string>
+ <string name="wifitrackerlib_speed_label_very_fast">Very Fast</string>
+
+ <!-- Toast message for when the user selects cellular as the internet provider and Wi-Fi auto-connect is temporarily disabled -->
+ <string name="wifitrackerlib_wifi_wont_autoconnect_for_now">Wi-Fi won\u2019t auto-connect for now</string>
</resources>
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
index 8eaef6e5a..b0415411b 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/BaseWifiTracker.java
@@ -34,10 +34,14 @@ import android.net.NetworkKey;
import android.net.NetworkRequest;
import android.net.NetworkScoreManager;
import android.net.ScoredNetwork;
+import android.net.TransportInfo;
+import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiNetworkScoreCache;
import android.os.Handler;
import android.os.Looper;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
import android.util.Log;
import androidx.annotation.AnyThread;
@@ -88,11 +92,18 @@ public class BaseWifiTracker implements LifecycleObserver {
return BaseWifiTracker.sVerboseLogging;
}
+ private boolean mIsStarted;
+
// Registered on the worker thread
private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
@WorkerThread
public void onReceive(Context context, Intent intent) {
+ if (!mIsStarted) {
+ mIsStarted = true;
+ handleOnStart();
+ }
+
String action = intent.getAction();
if (isVerboseLoggingEnabled()) {
@@ -119,6 +130,9 @@ public class BaseWifiTracker implements LifecycleObserver {
handleNetworkStateChangedAction(intent);
} else if (WifiManager.RSSI_CHANGED_ACTION.equals(action)) {
handleRssiChangedAction();
+ } else if (TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED.equals(action)) {
+ handleDefaultSubscriptionChanged(intent.getIntExtra(
+ "subscription", SubscriptionManager.INVALID_SUBSCRIPTION_ID));
}
}
};
@@ -143,19 +157,39 @@ public class BaseWifiTracker implements LifecycleObserver {
// Network request for listening on changes to Wifi link properties and network capabilities
// such as captive portal availability.
private final NetworkRequest mNetworkRequest = new NetworkRequest.Builder()
- .clearCapabilities().addTransportType(TRANSPORT_WIFI).build();
+ .clearCapabilities()
+ .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
+ .addTransportType(TRANSPORT_WIFI)
+ .build();
private final ConnectivityManager.NetworkCallback mNetworkCallback =
new ConnectivityManager.NetworkCallback() {
@Override
+ @WorkerThread
public void onLinkPropertiesChanged(@NonNull Network network,
@NonNull LinkProperties lp) {
+ if (!mIsStarted) {
+ mIsStarted = true;
+ handleOnStart();
+ }
+ if (!isPrimaryWifiNetwork(
+ mConnectivityManager.getNetworkCapabilities(network))) {
+ return;
+ }
handleLinkPropertiesChanged(lp);
}
@Override
+ @WorkerThread
public void onCapabilitiesChanged(@NonNull Network network,
@NonNull NetworkCapabilities networkCapabilities) {
+ if (!mIsStarted) {
+ mIsStarted = true;
+ handleOnStart();
+ }
+ if (!isPrimaryWifiNetwork(networkCapabilities)) {
+ return;
+ }
final boolean oldWifiValidated = mIsWifiValidated;
mIsWifiValidated = networkCapabilities.hasCapability(NET_CAPABILITY_VALIDATED);
if (isVerboseLoggingEnabled() && mIsWifiValidated != oldWifiValidated) {
@@ -165,7 +199,16 @@ public class BaseWifiTracker implements LifecycleObserver {
}
@Override
+ @WorkerThread
public void onLost(@NonNull Network network) {
+ if (!mIsStarted) {
+ mIsStarted = true;
+ handleOnStart();
+ }
+ if (!isPrimaryWifiNetwork(
+ mConnectivityManager.getNetworkCapabilities(network))) {
+ return;
+ }
mIsWifiValidated = false;
}
};
@@ -173,10 +216,16 @@ public class BaseWifiTracker implements LifecycleObserver {
private final ConnectivityManager.NetworkCallback mDefaultNetworkCallback =
new ConnectivityManager.NetworkCallback() {
@Override
+ @WorkerThread
public void onCapabilitiesChanged(@NonNull Network network,
@NonNull NetworkCapabilities networkCapabilities) {
+ if (!mIsStarted) {
+ mIsStarted = true;
+ handleOnStart();
+ }
final boolean oldWifiDefault = mIsWifiDefaultRoute;
final boolean oldCellDefault = mIsCellDefaultRoute;
+ // raw Wifi or VPN-over-Wifi is default => Wifi is default.
mIsWifiDefaultRoute = networkCapabilities.hasTransport(TRANSPORT_WIFI);
mIsCellDefaultRoute = networkCapabilities.hasTransport(TRANSPORT_CELLULAR);
if (mIsWifiDefaultRoute != oldWifiDefault
@@ -189,7 +238,12 @@ public class BaseWifiTracker implements LifecycleObserver {
}
}
+ @WorkerThread
public void onLost(@NonNull Network network) {
+ if (!mIsStarted) {
+ mIsStarted = true;
+ handleOnStart();
+ }
mIsWifiDefaultRoute = false;
mIsCellDefaultRoute = false;
if (isVerboseLoggingEnabled()) {
@@ -200,6 +254,17 @@ public class BaseWifiTracker implements LifecycleObserver {
}
};
+ private boolean isPrimaryWifiNetwork(@Nullable NetworkCapabilities networkCapabilities) {
+ if (networkCapabilities == null) {
+ return false;
+ }
+ final TransportInfo transportInfo = networkCapabilities.getTransportInfo();
+ if (!(transportInfo instanceof WifiInfo)) {
+ return false;
+ }
+ return ((WifiInfo) transportInfo).isPrimary();
+ }
+
/**
* Constructor for BaseWifiTracker.
*
@@ -262,6 +327,7 @@ public class BaseWifiTracker implements LifecycleObserver {
filter.addAction(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION);
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
filter.addAction(WifiManager.RSSI_CHANGED_ACTION);
+ filter.addAction(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
mContext.registerReceiver(mBroadcastReceiver, filter,
/* broadcastPermission */ null, mWorkerHandler);
mConnectivityManager.registerNetworkCallback(mNetworkRequest, mNetworkCallback,
@@ -286,12 +352,12 @@ public class BaseWifiTracker implements LifecycleObserver {
NetworkKey.TYPE_WIFI,
mWifiNetworkScoreCache,
NetworkScoreManager.SCORE_FILTER_SCAN_RESULTS);
- if (mWifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLED) {
- mWorkerHandler.post(mScanner::start);
- } else {
- mWorkerHandler.post(mScanner::stop);
- }
- mWorkerHandler.post(this::handleOnStart);
+ mWorkerHandler.post(() -> {
+ if (!mIsStarted) {
+ mIsStarted = true;
+ handleOnStart();
+ }
+ });
}
/**
@@ -307,6 +373,7 @@ public class BaseWifiTracker implements LifecycleObserver {
mNetworkScoreManager.unregisterNetworkScoreCache(NetworkKey.TYPE_WIFI,
mWifiNetworkScoreCache);
mWorkerHandler.post(mRequestedScoreKeys::clear);
+ mIsStarted = false;
}
/**
@@ -406,6 +473,14 @@ public class BaseWifiTracker implements LifecycleObserver {
}
/**
+ * Handle updates to the default data subscription id from SubscriptionManager.
+ */
+ @WorkerThread
+ protected void handleDefaultSubscriptionChanged(int defaultSubId) {
+ // Do nothing.
+ }
+
+ /**
* Scanner to handle starting scans every SCAN_INTERVAL_MILLIS
*/
@WorkerThread
@@ -413,19 +488,24 @@ public class BaseWifiTracker implements LifecycleObserver {
private static final int SCAN_RETRY_TIMES = 3;
private int mRetry = 0;
+ private boolean mIsActive;
private Scanner(Looper looper) {
super(looper);
}
private void start() {
- if (isVerboseLoggingEnabled()) {
- Log.v(mTag, "Scanner start");
+ if (!mIsActive) {
+ mIsActive = true;
+ if (isVerboseLoggingEnabled()) {
+ Log.v(mTag, "Scanner start");
+ }
+ postScan();
}
- postScan();
}
private void stop() {
+ mIsActive = false;
if (isVerboseLoggingEnabled()) {
Log.v(mTag, "Scanner stop");
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java
new file mode 100644
index 000000000..5dea44c9a
--- /dev/null
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/MergedCarrierEntry.java
@@ -0,0 +1,170 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.wifitrackerlib;
+
+import static android.net.wifi.WifiInfo.DEFAULT_MAC_ADDRESS;
+import static android.net.wifi.WifiInfo.sanitizeSsid;
+
+import static com.android.wifitrackerlib.Utils.getVerboseLoggingDescription;
+
+import android.content.Context;
+import android.net.NetworkInfo;
+import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
+import android.net.wifi.WifiNetworkScoreCache;
+import android.os.Handler;
+import android.text.TextUtils;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.WorkerThread;
+
+import java.util.StringJoiner;
+
+/**
+ * WifiEntry representation of merged carrier network, uniquely identified by subscription id.
+ */
+public class MergedCarrierEntry extends WifiEntry {
+ static final String KEY_PREFIX = "MergedCarrierEntry:";
+
+ private final int mSubscriptionId;
+ @NonNull private final String mKey;
+ @NonNull private final Context mContext;
+ boolean mIsCellDefaultRoute;
+
+ MergedCarrierEntry(@NonNull Handler callbackHandler,
+ @NonNull WifiManager wifiManager,
+ @NonNull WifiNetworkScoreCache scoreCache,
+ boolean forSavedNetworksPage,
+ @NonNull Context context,
+ int subscriptionId) throws IllegalArgumentException {
+ super(callbackHandler, wifiManager, scoreCache, forSavedNetworksPage);
+ mContext = context;
+ mSubscriptionId = subscriptionId;
+ mKey = KEY_PREFIX + subscriptionId;
+ }
+
+ @Override
+ public String getKey() {
+ return mKey;
+ }
+
+ @Override
+ public String getSummary(boolean concise) {
+ StringJoiner sj = new StringJoiner(mContext.getString(
+ R.string.wifitrackerlib_summary_separator));
+ if (!concise) {
+ final String verboseLoggingDescription = getVerboseLoggingDescription(this);
+ if (!TextUtils.isEmpty(verboseLoggingDescription)) {
+ sj.add(verboseLoggingDescription);
+ }
+ }
+ return sj.toString();
+ }
+
+ @Override
+ public synchronized String getSsid() {
+ if (mWifiInfo != null) {
+ return sanitizeSsid(mWifiInfo.getSSID());
+ }
+ return null;
+ }
+
+ @Override
+ public synchronized String getMacAddress() {
+ if (mWifiInfo != null) {
+ final String wifiInfoMac = mWifiInfo.getMacAddress();
+ if (!TextUtils.isEmpty(wifiInfoMac)
+ && !TextUtils.equals(wifiInfoMac, DEFAULT_MAC_ADDRESS)) {
+ return wifiInfoMac;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public synchronized boolean canConnect() {
+ return getConnectedState() == CONNECTED_STATE_DISCONNECTED && !mIsCellDefaultRoute;
+ }
+
+ @Override
+ public synchronized void connect(@Nullable ConnectCallback callback) {
+ mConnectCallback = callback;
+ mWifiManager.startRestrictingAutoJoinToSubscriptionId(mSubscriptionId);
+ Toast.makeText(mContext,
+ R.string.wifitrackerlib_wifi_wont_autoconnect_for_now, Toast.LENGTH_SHORT).show();
+ if (mConnectCallback != null) {
+ mCallbackHandler.post(() -> {
+ final ConnectCallback connectCallback = mConnectCallback;
+ if (connectCallback != null) {
+ connectCallback.onConnectResult(ConnectCallback.CONNECT_STATUS_SUCCESS);
+ }
+ });
+ }
+ }
+
+ @Override
+ public boolean canDisconnect() {
+ return getConnectedState() == CONNECTED_STATE_CONNECTED;
+ }
+
+ @Override
+ public synchronized void disconnect(@Nullable DisconnectCallback callback) {
+ mDisconnectCallback = callback;
+ mWifiManager.stopRestrictingAutoJoinToSubscriptionId();
+ mWifiManager.startScan();
+ if (mDisconnectCallback != null) {
+ mCallbackHandler.post(() -> {
+ final DisconnectCallback disconnectCallback = mDisconnectCallback;
+ if (disconnectCallback != null) {
+ disconnectCallback.onDisconnectResult(
+ DisconnectCallback.DISCONNECT_STATUS_SUCCESS);
+ }
+ });
+ }
+ }
+
+ @WorkerThread
+ protected boolean connectionInfoMatches(@NonNull WifiInfo wifiInfo,
+ @NonNull NetworkInfo networkInfo) {
+ return wifiInfo.isCarrierMerged() && mSubscriptionId == wifiInfo.getSubscriptionId();
+ }
+
+ /** Returns whether or not carrier network offload is enabled for this subscription **/
+ public boolean isEnabled() {
+ return mWifiManager.isCarrierNetworkOffloadEnabled(mSubscriptionId, true);
+ }
+
+ /** Enables/disables the carrier network */
+ public void setEnabled(boolean enabled) {
+ mWifiManager.setCarrierNetworkOffloadEnabled(mSubscriptionId, true, enabled);
+ if (!enabled) {
+ mWifiManager.stopRestrictingAutoJoinToSubscriptionId();
+ mWifiManager.startScan();
+ }
+ }
+
+ /* package */ int getSubscriptionId() {
+ return mSubscriptionId;
+ }
+
+ /* package */ synchronized void updateIsCellDefaultRoute(boolean isCellDefaultRoute) {
+ mIsCellDefaultRoute = isCellDefaultRoute;
+ notifyOnUpdated();
+ }
+}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NetworkDetailsTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NetworkDetailsTracker.java
index be50679e2..dd3819dee 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NetworkDetailsTracker.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NetworkDetailsTracker.java
@@ -71,8 +71,7 @@ public abstract class NetworkDetailsTracker extends BaseWifiTracker {
long maxScanAgeMillis,
long scanIntervalMillis,
String key) {
- if (key.startsWith(StandardWifiEntry.KEY_PREFIX)
- || key.startsWith(NetworkRequestEntry.KEY_PREFIX)) {
+ if (key.startsWith(StandardWifiEntry.KEY_PREFIX)) {
return new StandardNetworkDetailsTracker(lifecycle, context, wifiManager,
connectivityManager, networkScoreManager, mainHandler, workerHandler, clock,
maxScanAgeMillis, scanIntervalMillis, key);
@@ -111,7 +110,7 @@ public abstract class NetworkDetailsTracker extends BaseWifiTracker {
@Override
protected void handleNetworkStateChangedAction(@NonNull Intent intent) {
checkNotNull(intent, "Intent cannot be null!");
- mCurrentNetworkInfo = (NetworkInfo) intent.getExtra(WifiManager.EXTRA_NETWORK_INFO);
+ mCurrentNetworkInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
getWifiEntry().updateConnectionInfo(mWifiManager.getConnectionInfo(), mCurrentNetworkInfo);
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NetworkRequestEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NetworkRequestEntry.java
index ccda30d1e..422d34940 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NetworkRequestEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/NetworkRequestEntry.java
@@ -16,12 +16,6 @@
package com.android.wifitrackerlib;
-import static android.net.wifi.WifiInfo.sanitizeSsid;
-
-import static androidx.core.util.Preconditions.checkNotNull;
-
-import static com.android.wifitrackerlib.Utils.getSecurityTypeFromWifiConfiguration;
-
import android.content.Context;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
@@ -35,14 +29,16 @@ import com.android.internal.annotations.VisibleForTesting;
/**
* WifiEntry representation of network requested through the NetworkRequest API,
- * uniquely identified by SSID and security.
+ * uniquely identified by SSID, security, and profile key.
*/
@VisibleForTesting
public class NetworkRequestEntry extends StandardWifiEntry {
- static final String KEY_PREFIX = "NetworkRequestEntry:";
+ // TODO(b/187073621): This isn't used but is still referenced by clients of WifiTrackerLib.
+ // Remove once String keys are removed entirely.
+ public static final String KEY_PREFIX = "NetworkRequestEntry:";
NetworkRequestEntry(@NonNull Context context, @NonNull Handler callbackHandler,
- @NonNull String key, @NonNull WifiManager wifiManager,
+ @NonNull StandardWifiEntryKey key, @NonNull WifiManager wifiManager,
@NonNull WifiNetworkScoreCache scoreCache,
boolean forSavedNetworksPage) throws IllegalArgumentException {
super(context, callbackHandler, key, wifiManager, scoreCache, forSavedNetworksPage);
@@ -149,12 +145,4 @@ public class NetworkRequestEntry extends StandardWifiEntry {
public void setAutoJoinEnabled(boolean enabled) {
return;
}
-
- @NonNull
- static String wifiConfigToNetworkRequestEntryKey(@NonNull WifiConfiguration config) {
- checkNotNull(config, "Cannot create key with null config!");
- checkNotNull(config.SSID, "Cannot create key with null SSID in config!");
- return KEY_PREFIX + sanitizeSsid(config.SSID) + ","
- + getSecurityTypeFromWifiConfiguration(config);
- }
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/OsuWifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/OsuWifiEntry.java
index b1d7d4ae1..35e582579 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/OsuWifiEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/OsuWifiEntry.java
@@ -37,7 +37,6 @@ import android.os.Handler;
import android.text.TextUtils;
import android.util.Pair;
-import androidx.annotation.GuardedBy;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.WorkerThread;
@@ -53,14 +52,12 @@ import java.util.Map;
class OsuWifiEntry extends WifiEntry {
static final String KEY_PREFIX = "OsuWifiEntry:";
- private final Object mLock = new Object();
// Scan result list must be thread safe for generating the verbose scan summary
- @GuardedBy("mLock")
@NonNull private final List<ScanResult> mCurrentScanResults = new ArrayList<>();
@NonNull private final String mKey;
@NonNull private final Context mContext;
- @NonNull private OsuProvider mOsuProvider;
+ @NonNull private final OsuProvider mOsuProvider;
private String mSsid;
private String mOsuStatusString;
private boolean mIsAlreadyProvisioned = false;
@@ -88,7 +85,7 @@ class OsuWifiEntry extends WifiEntry {
}
@Override
- public String getTitle() {
+ public synchronized String getTitle() {
final String friendlyName = mOsuProvider.getFriendlyName();
if (!TextUtils.isEmpty(friendlyName)) {
return friendlyName;
@@ -104,179 +101,51 @@ class OsuWifiEntry extends WifiEntry {
}
@Override
- public String getSummary(boolean concise) {
+ public synchronized String getSummary(boolean concise) {
// TODO(b/70983952): Add verbose summary
if (mOsuStatusString != null) {
return mOsuStatusString;
} else if (isAlreadyProvisioned()) {
- return concise ? mContext.getString(R.string.wifi_passpoint_expired)
- : mContext.getString(R.string.tap_to_renew_subscription_and_connect);
+ return concise ? mContext.getString(R.string.wifitrackerlib_wifi_passpoint_expired)
+ : mContext.getString(
+ R.string.wifitrackerlib_tap_to_renew_subscription_and_connect);
} else {
- return mContext.getString(R.string.tap_to_sign_up);
+ return mContext.getString(R.string.wifitrackerlib_tap_to_sign_up);
}
}
@Override
- public String getSsid() {
+ public synchronized String getSsid() {
return mSsid;
}
@Override
- @Security
- public int getSecurity() {
- return SECURITY_NONE;
- }
-
- @Override
public String getMacAddress() {
// TODO(b/70983952): Fill this method in in case we need the mac address for verbose logging
return null;
}
@Override
- public boolean isMetered() {
- return false;
- }
-
- @Override
- public boolean isSaved() {
- return false;
- }
-
- @Override
- public boolean isSuggestion() {
- return false;
- }
-
- @Override
- public boolean isSubscription() {
- return false;
- }
-
- @Override
- public WifiConfiguration getWifiConfiguration() {
- return null;
- }
-
- @Override
- public boolean canConnect() {
+ public synchronized boolean canConnect() {
return mLevel != WIFI_LEVEL_UNREACHABLE
&& getConnectedState() == CONNECTED_STATE_DISCONNECTED;
}
@Override
- public void connect(@Nullable ConnectCallback callback) {
+ public synchronized void connect(@Nullable ConnectCallback callback) {
mConnectCallback = callback;
+ mWifiManager.stopRestrictingAutoJoinToSubscriptionId();
mWifiManager.startSubscriptionProvisioning(mOsuProvider, mContext.getMainExecutor(),
new OsuWifiEntryProvisioningCallback());
}
- // Exiting from the OSU flow should disconnect from the network.
- @Override
- public boolean canDisconnect() {
- return false;
- }
-
- @Override
- public void disconnect(@Nullable DisconnectCallback callback) {
- }
-
- @Override
- public boolean canForget() {
- return false;
- }
-
- @Override
- public void forget(@Nullable ForgetCallback callback) {
- }
-
- @Override
- public boolean canSignIn() {
- return false;
- }
-
- @Override
- public void signIn(@Nullable SignInCallback callback) {
- return;
- }
-
- @Override
- public boolean canShare() {
- return false;
- }
-
- @Override
- public boolean canEasyConnect() {
- return false;
- }
-
- @Override
- @MeteredChoice
- public int getMeteredChoice() {
- // Metered choice is meaningless for OSU entries
- return METERED_CHOICE_AUTO;
- }
-
- @Override
- public boolean canSetMeteredChoice() {
- return false;
- }
-
- @Override
- public void setMeteredChoice(int meteredChoice) {
- // Metered choice is meaningless for OSU entries
- }
-
- @Override
- @Privacy
- public int getPrivacy() {
- // MAC Randomization choice is meaningless for OSU entries.
- return PRIVACY_UNKNOWN;
- }
-
- @Override
- public boolean canSetPrivacy() {
- return false;
- }
-
- @Override
- public void setPrivacy(int privacy) {
- // MAC Randomization choice is meaningless for OSU entries.
- }
-
- @Override
- public boolean isAutoJoinEnabled() {
- return false;
- }
-
- @Override
- public boolean canSetAutoJoinEnabled() {
- return false;
- }
-
- @Override
- public void setAutoJoinEnabled(boolean enabled) {
- }
-
- @Override
- public String getSecurityString(boolean concise) {
- return "";
- }
-
- @Override
- public boolean isExpired() {
- return false;
- }
-
@WorkerThread
- void updateScanResultInfo(@Nullable List<ScanResult> scanResults)
+ synchronized void updateScanResultInfo(@Nullable List<ScanResult> scanResults)
throws IllegalArgumentException {
if (scanResults == null) scanResults = new ArrayList<>();
- synchronized (mLock) {
- mCurrentScanResults.clear();
- mCurrentScanResults.addAll(scanResults);
- }
+ mCurrentScanResults.clear();
+ mCurrentScanResults.addAll(scanResults);
final ScanResult bestScanResult = getBestScanResultByLevel(scanResults);
if (bestScanResult != null) {
@@ -306,7 +175,7 @@ class OsuWifiEntry extends WifiEntry {
}
@Override
- String getScanResultDescription() {
+ protected String getScanResultDescription() {
// TODO(b/70983952): Fill this method in.
return "";
}
@@ -315,25 +184,31 @@ class OsuWifiEntry extends WifiEntry {
return mOsuProvider;
}
- boolean isAlreadyProvisioned() {
+ synchronized boolean isAlreadyProvisioned() {
return mIsAlreadyProvisioned;
}
- void setAlreadyProvisioned(boolean isAlreadyProvisioned) {
+ synchronized void setAlreadyProvisioned(boolean isAlreadyProvisioned) {
mIsAlreadyProvisioned = isAlreadyProvisioned;
}
class OsuWifiEntryProvisioningCallback extends ProvisioningCallback {
@Override
@MainThread public void onProvisioningFailure(int status) {
- if (TextUtils.equals(
- mOsuStatusString, mContext.getString(R.string.osu_completing_sign_up))) {
- mOsuStatusString = mContext.getString(R.string.osu_sign_up_failed);
- } else {
- mOsuStatusString = mContext.getString(R.string.osu_connect_failed);
+ synchronized (OsuWifiEntry.this) {
+ if (TextUtils.equals(
+ mOsuStatusString, mContext.getString(
+ R.string.wifitrackerlib_osu_completing_sign_up))) {
+ mOsuStatusString =
+ mContext.getString(R.string.wifitrackerlib_osu_sign_up_failed);
+ } else {
+ mOsuStatusString =
+ mContext.getString(R.string.wifitrackerlib_osu_connect_failed);
+ }
}
- if (mConnectCallback != null) {
- mConnectCallback.onConnectResult(CONNECT_STATUS_FAILURE_UNKNOWN);
+ final ConnectCallback connectCallback = mConnectCallback;
+ if (connectCallback != null) {
+ connectCallback.onConnectResult(CONNECT_STATUS_FAILURE_UNKNOWN);
}
notifyOnUpdated();
}
@@ -350,35 +225,41 @@ class OsuWifiEntry extends WifiEntry {
case OSU_STATUS_INIT_SOAP_EXCHANGE:
case OSU_STATUS_WAITING_FOR_REDIRECT_RESPONSE:
newStatusString = String.format(mContext.getString(
- R.string.osu_opening_provider),
+ R.string.wifitrackerlib_osu_opening_provider),
getTitle());
break;
case OSU_STATUS_REDIRECT_RESPONSE_RECEIVED:
case OSU_STATUS_SECOND_SOAP_EXCHANGE:
case OSU_STATUS_THIRD_SOAP_EXCHANGE:
case OSU_STATUS_RETRIEVING_TRUST_ROOT_CERTS:
- newStatusString = mContext.getString(R.string.osu_completing_sign_up);
+ newStatusString = mContext.getString(
+ R.string.wifitrackerlib_osu_completing_sign_up);
break;
}
- boolean updated = !TextUtils.equals(mOsuStatusString, newStatusString);
- mOsuStatusString = newStatusString;
- if (updated) {
- notifyOnUpdated();
+ synchronized (OsuWifiEntry.this) {
+ boolean updated = !TextUtils.equals(mOsuStatusString, newStatusString);
+ mOsuStatusString = newStatusString;
+ if (updated) {
+ notifyOnUpdated();
+ }
}
}
@Override
@MainThread public void onProvisioningComplete() {
- mOsuStatusString = mContext.getString(R.string.osu_sign_up_complete);
+ synchronized (OsuWifiEntry.this) {
+ mOsuStatusString = mContext.getString(R.string.wifitrackerlib_osu_sign_up_complete);
+ }
notifyOnUpdated();
PasspointConfiguration passpointConfig = mWifiManager
.getMatchingPasspointConfigsForOsuProviders(Collections.singleton(mOsuProvider))
.get(mOsuProvider);
+ final ConnectCallback connectCallback = mConnectCallback;
if (passpointConfig == null) {
// Failed to find the config we just provisioned
- if (mConnectCallback != null) {
- mConnectCallback.onConnectResult(CONNECT_STATUS_FAILURE_UNKNOWN);
+ if (connectCallback != null) {
+ connectCallback.onConnectResult(CONNECT_STATUS_FAILURE_UNKNOWN);
}
return;
}
@@ -406,8 +287,8 @@ class OsuWifiEntry extends WifiEntry {
}
// Failed to find the network we provisioned for
- if (mConnectCallback != null) {
- mConnectCallback.onConnectResult(CONNECT_STATUS_FAILURE_UNKNOWN);
+ if (connectCallback != null) {
+ connectCallback.onConnectResult(CONNECT_STATUS_FAILURE_UNKNOWN);
}
}
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointNetworkDetailsTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointNetworkDetailsTracker.java
index e4efcb997..42f816ff6 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointNetworkDetailsTracker.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointNetworkDetailsTracker.java
@@ -50,7 +50,7 @@ import java.util.Optional;
/**
* Implementation of NetworkDetailsTracker that tracks a single PasspointWifiEntry.
*/
-class PasspointNetworkDetailsTracker extends NetworkDetailsTracker {
+public class PasspointNetworkDetailsTracker extends NetworkDetailsTracker {
private static final String TAG = "PasspointNetworkDetailsTracker";
private final PasspointWifiEntry mChosenEntry;
@@ -58,7 +58,7 @@ class PasspointNetworkDetailsTracker extends NetworkDetailsTracker {
private NetworkInfo mCurrentNetworkInfo;
private WifiConfiguration mCurrentWifiConfig;
- PasspointNetworkDetailsTracker(@NonNull Lifecycle lifecycle,
+ public PasspointNetworkDetailsTracker(@NonNull Lifecycle lifecycle,
@NonNull Context context,
@NonNull WifiManager wifiManager,
@NonNull ConnectivityManager connectivityManager,
@@ -99,6 +99,10 @@ class PasspointNetworkDetailsTracker extends NetworkDetailsTracker {
"Cannot find config for given PasspointWifiEntry key!");
}
}
+ // It is safe to call updateStartInfo() in the main thread here since onStart() won't have
+ // a chance to post handleOnStart() on the worker thread until the main thread finishes
+ // calling this constructor.
+ updateStartInfo();
}
@AnyThread
@@ -111,17 +115,7 @@ class PasspointNetworkDetailsTracker extends NetworkDetailsTracker {
@WorkerThread
@Override
protected void handleOnStart() {
- conditionallyUpdateScanResults(true /* lastScanSucceeded */);
- conditionallyUpdateConfig();
- final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
- final Network currentNetwork = mWifiManager.getCurrentNetwork();
- mCurrentNetworkInfo = mConnectivityManager.getNetworkInfo(currentNetwork);
- mChosenEntry.updateConnectionInfo(wifiInfo, mCurrentNetworkInfo);
- handleNetworkCapabilitiesChanged(
- mConnectivityManager.getNetworkCapabilities(currentNetwork));
- handleLinkPropertiesChanged(mConnectivityManager.getLinkProperties(currentNetwork));
- mChosenEntry.setIsDefaultNetwork(mIsWifiDefaultRoute);
- mChosenEntry.setIsLowQuality(mIsWifiValidated && mIsCellDefaultRoute);
+ updateStartInfo();
}
@WorkerThread
@@ -146,6 +140,21 @@ class PasspointNetworkDetailsTracker extends NetworkDetailsTracker {
}
@WorkerThread
+ private void updateStartInfo() {
+ conditionallyUpdateScanResults(true /* lastScanSucceeded */);
+ conditionallyUpdateConfig();
+ final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
+ final Network currentNetwork = mWifiManager.getCurrentNetwork();
+ mCurrentNetworkInfo = mConnectivityManager.getNetworkInfo(currentNetwork);
+ mChosenEntry.updateConnectionInfo(wifiInfo, mCurrentNetworkInfo);
+ handleNetworkCapabilitiesChanged(
+ mConnectivityManager.getNetworkCapabilities(currentNetwork));
+ handleLinkPropertiesChanged(mConnectivityManager.getLinkProperties(currentNetwork));
+ mChosenEntry.setIsDefaultNetwork(mIsWifiDefaultRoute);
+ mChosenEntry.setIsLowQuality(mIsWifiValidated && mIsCellDefaultRoute);
+ }
+
+ @WorkerThread
private void updatePasspointWifiEntryScans(@NonNull List<ScanResult> scanResults) {
checkNotNull(scanResults, "Scan Result list should not be null!");
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java
index 1f0a34be7..59994a9e2 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/PasspointWifiEntry.java
@@ -17,27 +17,28 @@
package com.android.wifitrackerlib;
import static android.net.wifi.WifiInfo.DEFAULT_MAC_ADDRESS;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_PASSPOINT_R1_R2;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_PASSPOINT_R3;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_UNKNOWN;
import static android.net.wifi.WifiInfo.sanitizeSsid;
import static androidx.core.util.Preconditions.checkNotNull;
-import static com.android.wifitrackerlib.Utils.getAppLabel;
import static com.android.wifitrackerlib.Utils.getAutoConnectDescription;
import static com.android.wifitrackerlib.Utils.getAverageSpeedFromScanResults;
import static com.android.wifitrackerlib.Utils.getBestScanResultByLevel;
-import static com.android.wifitrackerlib.Utils.getCarrierNameForSubId;
-import static com.android.wifitrackerlib.Utils.getCurrentNetworkCapabilitiesInformation;
-import static com.android.wifitrackerlib.Utils.getDisconnectedStateDescription;
+import static com.android.wifitrackerlib.Utils.getConnectedDescription;
+import static com.android.wifitrackerlib.Utils.getConnectingDescription;
+import static com.android.wifitrackerlib.Utils.getDisconnectedDescription;
import static com.android.wifitrackerlib.Utils.getImsiProtectionDescription;
import static com.android.wifitrackerlib.Utils.getMeteredDescription;
-import static com.android.wifitrackerlib.Utils.getNetworkDetailedState;
-import static com.android.wifitrackerlib.Utils.getSecurityTypeFromWifiConfiguration;
import static com.android.wifitrackerlib.Utils.getSpeedDescription;
import static com.android.wifitrackerlib.Utils.getSpeedFromWifiInfo;
-import static com.android.wifitrackerlib.Utils.getSubIdForConfig;
import static com.android.wifitrackerlib.Utils.getVerboseLoggingDescription;
import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.NetworkCapabilities;
import android.net.NetworkInfo;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
@@ -47,8 +48,8 @@ import android.net.wifi.WifiNetworkScoreCache;
import android.net.wifi.hotspot2.PasspointConfiguration;
import android.os.Handler;
import android.text.TextUtils;
+import android.util.Log;
-import androidx.annotation.GuardedBy;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.WorkerThread;
@@ -56,6 +57,7 @@ import androidx.annotation.WorkerThread;
import com.android.internal.annotations.VisibleForTesting;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.StringJoiner;
@@ -64,25 +66,25 @@ import java.util.StringJoiner;
*/
@VisibleForTesting
public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntryCallback {
- static final String KEY_PREFIX = "PasspointWifiEntry:";
+ static final String TAG = "PasspointWifiEntry";
+ public static final String KEY_PREFIX = "PasspointWifiEntry:";
- private final Object mLock = new Object();
- // Scan result list must be thread safe for generating the verbose scan summary
- @GuardedBy("mLock")
private final List<ScanResult> mCurrentHomeScanResults = new ArrayList<>();
- @GuardedBy("mLock")
private final List<ScanResult> mCurrentRoamingScanResults = new ArrayList<>();
@NonNull private final String mKey;
- @NonNull private String mFqdn;
- @NonNull private String mFriendlyName;
+ @NonNull private final String mFqdn;
+ @NonNull private final String mFriendlyName;
@NonNull private final Context mContext;
@Nullable
private PasspointConfiguration mPasspointConfig;
@Nullable private WifiConfiguration mWifiConfig;
- private @Security int mSecurity = SECURITY_EAP;
+ private List<Integer> mTargetSecurityTypes =
+ List.of(SECURITY_TYPE_PASSPOINT_R1_R2, SECURITY_TYPE_PASSPOINT_R3);
+
private boolean mIsRoaming = false;
private OsuWifiEntry mOsuWifiEntry;
+ private boolean mShouldAutoOpenCaptivePortal = false;
protected long mSubscriptionExpirationTimeInMillis;
@@ -109,6 +111,7 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
mPasspointConfig = passpointConfig;
mKey = uniqueIdToPasspointWifiEntryKey(passpointConfig.getUniqueId());
mFqdn = passpointConfig.getHomeSp().getFqdn();
+ checkNotNull(mFqdn, "Cannot construct with null PasspointConfiguration FQDN!");
mFriendlyName = passpointConfig.getHomeSp().getFriendlyName();
mSubscriptionExpirationTimeInMillis =
passpointConfig.getSubscriptionExpirationTimeMillis();
@@ -127,7 +130,7 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
boolean forSavedNetworksPage) throws IllegalArgumentException {
super(callbackHandler, wifiManager, scoreCache, forSavedNetworksPage);
- checkNotNull(wifiConfig, "Cannot construct with null PasspointConfiguration!");
+ checkNotNull(wifiConfig, "Cannot construct with null WifiConfiguration!");
if (!wifiConfig.isPasspoint()) {
throw new IllegalArgumentException("Given WifiConfiguration is not for Passpoint!");
}
@@ -136,6 +139,7 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
mWifiConfig = wifiConfig;
mKey = uniqueIdToPasspointWifiEntryKey(wifiConfig.getKey());
mFqdn = wifiConfig.FQDN;
+ checkNotNull(mFqdn, "Cannot construct with null WifiConfiguration FQDN!");
mFriendlyName = mWifiConfig.providerFriendlyName;
}
@@ -146,7 +150,7 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
@Override
@ConnectedState
- public int getConnectedState() {
+ public synchronized int getConnectedState() {
if (isExpired()) {
if (super.getConnectedState() == CONNECTED_STATE_DISCONNECTED
&& mOsuWifiEntry != null) {
@@ -162,43 +166,43 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@Override
- public String getSummary(boolean concise) {
- StringJoiner sj = new StringJoiner(mContext.getString(R.string.summary_separator));
+ public synchronized String getSummary(boolean concise) {
+ StringJoiner sj = new StringJoiner(mContext.getString(
+ R.string.wifitrackerlib_summary_separator));
if (isExpired()) {
if (mOsuWifiEntry != null) {
sj.add(mOsuWifiEntry.getSummary(concise));
} else {
- sj.add(mContext.getString(R.string.wifi_passpoint_expired));
- }
- } else if (getConnectedState() == CONNECTED_STATE_DISCONNECTED) {
- String disconnectDescription = getDisconnectedStateDescription(mContext, this);
- if (TextUtils.isEmpty(disconnectDescription)) {
- if (concise) {
- sj.add(mContext.getString(R.string.wifi_disconnected));
- } else if (!mForSavedNetworksPage) {
- if (mWifiConfig != null && mWifiConfig.fromWifiNetworkSuggestion) {
- String carrierName = getCarrierNameForSubId(mContext,
- getSubIdForConfig(mContext, mWifiConfig));
- String suggestorLabel = getAppLabel(mContext, mWifiConfig.creatorName);
- if (TextUtils.isEmpty(suggestorLabel)) {
- // Fall-back to the package name in case the app label is missing
- suggestorLabel = mWifiConfig.creatorName;
- }
- sj.add(mContext.getString(R.string.available_via_app, carrierName != null
- ? carrierName
- : suggestorLabel));
- } else {
- sj.add(mContext.getString(R.string.wifi_remembered));
- }
- }
- } else {
- sj.add(disconnectDescription);
+ sj.add(mContext.getString(R.string.wifitrackerlib_wifi_passpoint_expired));
}
} else {
- String connectDescription = getConnectStateDescription();
- if (!TextUtils.isEmpty(connectDescription)) {
- sj.add(connectDescription);
+ final String connectedStateDescription;
+ final @ConnectedState int connectedState = getConnectedState();
+ switch (connectedState) {
+ case CONNECTED_STATE_DISCONNECTED:
+ connectedStateDescription = getDisconnectedDescription(mContext,
+ mWifiConfig,
+ mForSavedNetworksPage,
+ concise);
+ break;
+ case CONNECTED_STATE_CONNECTING:
+ connectedStateDescription = getConnectingDescription(mContext, mNetworkInfo);
+ break;
+ case CONNECTED_STATE_CONNECTED:
+ connectedStateDescription = getConnectedDescription(mContext,
+ mWifiConfig,
+ mNetworkCapabilities,
+ null /* recommendationServiceLabel */,
+ mIsDefaultNetwork,
+ mIsLowQuality);
+ break;
+ default:
+ Log.e(TAG, "getConnectedState() returned unknown state: " + connectedState);
+ connectedStateDescription = null;
+ }
+ if (!TextUtils.isEmpty(connectedStateDescription)) {
+ sj.add(connectedStateDescription);
}
}
@@ -227,47 +231,14 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
return sj.toString();
}
- private String getConnectStateDescription() {
- if (getConnectedState() == CONNECTED_STATE_CONNECTED) {
- // For network suggestions
- final String suggestionOrSpecifierPackageName = mWifiInfo != null
- ? mWifiInfo.getRequestingPackageName() : null;
- if (!TextUtils.isEmpty(suggestionOrSpecifierPackageName)) {
- String carrierName = mWifiConfig != null
- ? getCarrierNameForSubId(mContext, getSubIdForConfig(mContext, mWifiConfig))
- : null;
- String suggestorLabel = getAppLabel(mContext, suggestionOrSpecifierPackageName);
- if (TextUtils.isEmpty(suggestorLabel)) {
- // Fall-back to the package name in case the app label is missing
- suggestorLabel = suggestionOrSpecifierPackageName;
- }
- return mContext.getString(R.string.connected_via_app, carrierName != null
- ? carrierName
- : suggestorLabel);
- }
-
- if (mIsLowQuality) {
- return mContext.getString(R.string.wifi_connected_low_quality);
- }
-
- String networkCapabilitiesinformation =
- getCurrentNetworkCapabilitiesInformation(mContext, mNetworkCapabilities);
- if (!TextUtils.isEmpty(networkCapabilitiesinformation)) {
- return networkCapabilitiesinformation;
- }
- }
-
- return getNetworkDetailedState(mContext, mNetworkInfo);
- }
-
@Override
- public CharSequence getSecondSummary() {
+ public synchronized CharSequence getSecondSummary() {
return getConnectedState() == CONNECTED_STATE_CONNECTED
? getImsiProtectionDescription(mContext, mWifiConfig) : "";
}
@Override
- public String getSsid() {
+ public synchronized String getSsid() {
if (mWifiInfo != null) {
return sanitizeSsid(mWifiInfo.getSSID());
}
@@ -276,13 +247,12 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@Override
- @Security
- public int getSecurity() {
- return mSecurity;
+ public synchronized List<Integer> getSecurityTypes() {
+ return new ArrayList<>(mTargetSecurityTypes);
}
@Override
- public String getMacAddress() {
+ public synchronized String getMacAddress() {
if (mWifiInfo != null) {
final String wifiInfoMac = mWifiInfo.getMacAddress();
if (!TextUtils.isEmpty(wifiInfoMac)
@@ -301,33 +271,23 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@Override
- public boolean isMetered() {
+ public synchronized boolean isMetered() {
return getMeteredChoice() == METERED_CHOICE_METERED
|| (mWifiConfig != null && mWifiConfig.meteredHint);
}
@Override
- public boolean isSaved() {
- return false;
- }
-
- @Override
- public boolean isSuggestion() {
+ public synchronized boolean isSuggestion() {
return mWifiConfig != null && mWifiConfig.fromWifiNetworkSuggestion;
}
@Override
- public boolean isSubscription() {
+ public synchronized boolean isSubscription() {
return mPasspointConfig != null;
}
@Override
- public WifiConfiguration getWifiConfiguration() {
- return null;
- }
-
- @Override
- public boolean canConnect() {
+ public synchronized boolean canConnect() {
if (isExpired()) {
return mOsuWifiEntry != null && mOsuWifiEntry.canConnect();
}
@@ -337,20 +297,23 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@Override
- public void connect(@Nullable ConnectCallback callback) {
+ public synchronized void connect(@Nullable ConnectCallback callback) {
if (isExpired()) {
if (mOsuWifiEntry != null) {
mOsuWifiEntry.connect(callback);
return;
}
}
-
+ // We should flag this network to auto-open captive portal since this method represents
+ // the user manually connecting to a network (i.e. not auto-join).
+ mShouldAutoOpenCaptivePortal = true;
mConnectCallback = callback;
if (mWifiConfig == null) {
// We should not be able to call connect() if mWifiConfig is null
new ConnectActionListener().onFailure(0);
}
+ mWifiManager.stopRestrictingAutoJoinToSubscriptionId();
mWifiManager.connect(mWifiConfig, new ConnectActionListener());
}
@@ -360,7 +323,7 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@Override
- public void disconnect(@Nullable DisconnectCallback callback) {
+ public synchronized void disconnect(@Nullable DisconnectCallback callback) {
if (canDisconnect()) {
mCalledDisconnect = true;
mDisconnectCallback = callback;
@@ -370,18 +333,18 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
DisconnectCallback.DISCONNECT_STATUS_FAILURE_UNKNOWN);
}
}, 10_000 /* delayMillis */);
- mWifiManager.disableEphemeralNetwork(mWifiConfig.FQDN);
+ mWifiManager.disableEphemeralNetwork(mFqdn);
mWifiManager.disconnect();
}
}
@Override
- public boolean canForget() {
+ public synchronized boolean canForget() {
return !isSuggestion() && mPasspointConfig != null;
}
@Override
- public void forget(@Nullable ForgetCallback callback) {
+ public synchronized void forget(@Nullable ForgetCallback callback) {
if (!canForget()) {
return;
}
@@ -392,28 +355,8 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@Override
- public boolean canSignIn() {
- return false;
- }
-
- @Override
- public void signIn(@Nullable SignInCallback callback) {
- return;
- }
-
- @Override
- public boolean canShare() {
- return false;
- }
-
- @Override
- public boolean canEasyConnect() {
- return false;
- }
-
- @Override
@MeteredChoice
- public int getMeteredChoice() {
+ public synchronized int getMeteredChoice() {
if (mMeteredOverride == WifiConfiguration.METERED_OVERRIDE_METERED) {
return METERED_CHOICE_METERED;
} else if (mMeteredOverride == WifiConfiguration.METERED_OVERRIDE_NOT_METERED) {
@@ -423,13 +366,13 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@Override
- public boolean canSetMeteredChoice() {
+ public synchronized boolean canSetMeteredChoice() {
return !isSuggestion() && mPasspointConfig != null;
}
@Override
- public void setMeteredChoice(int meteredChoice) {
- if (!canSetMeteredChoice()) {
+ public synchronized void setMeteredChoice(int meteredChoice) {
+ if (mPasspointConfig == null || !canSetMeteredChoice()) {
return;
}
@@ -452,13 +395,13 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@Override
- public boolean canSetPrivacy() {
+ public synchronized boolean canSetPrivacy() {
return !isSuggestion() && mPasspointConfig != null;
}
@Override
@Privacy
- public int getPrivacy() {
+ public synchronized int getPrivacy() {
if (mPasspointConfig == null) {
return PRIVACY_RANDOMIZED_MAC;
}
@@ -468,8 +411,8 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@Override
- public void setPrivacy(int privacy) {
- if (!canSetPrivacy()) {
+ public synchronized void setPrivacy(int privacy) {
+ if (mPasspointConfig == null || !canSetPrivacy()) {
return;
}
@@ -479,7 +422,7 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@Override
- public boolean isAutoJoinEnabled() {
+ public synchronized boolean isAutoJoinEnabled() {
// Suggestion network; use WifiConfig instead
if (mPasspointConfig != null) {
return mPasspointConfig.isAutojoinEnabled();
@@ -491,12 +434,12 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@Override
- public boolean canSetAutoJoinEnabled() {
+ public synchronized boolean canSetAutoJoinEnabled() {
return mPasspointConfig != null || mWifiConfig != null;
}
@Override
- public void setAutoJoinEnabled(boolean enabled) {
+ public synchronized void setAutoJoinEnabled(boolean enabled) {
if (mPasspointConfig != null) {
mWifiManager.allowAutojoinPasspoint(mPasspointConfig.getHomeSp().getFqdn(), enabled);
} else if (mWifiConfig != null) {
@@ -506,12 +449,11 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
@Override
public String getSecurityString(boolean concise) {
- return concise ? mContext.getString(R.string.wifi_security_short_eap) :
- mContext.getString(R.string.wifi_security_eap);
+ return mContext.getString(R.string.wifitrackerlib_wifi_security_passpoint);
}
@Override
- public boolean isExpired() {
+ public synchronized boolean isExpired() {
if (mSubscriptionExpirationTimeInMillis <= 0) {
// Expiration time not specified.
return false;
@@ -521,10 +463,9 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@WorkerThread
- void updatePasspointConfig(@Nullable PasspointConfiguration passpointConfig) {
+ synchronized void updatePasspointConfig(@Nullable PasspointConfiguration passpointConfig) {
mPasspointConfig = passpointConfig;
if (mPasspointConfig != null) {
- mFriendlyName = passpointConfig.getHomeSp().getFriendlyName();
mSubscriptionExpirationTimeInMillis =
passpointConfig.getSubscriptionExpirationTimeMillis();
mMeteredOverride = passpointConfig.getMeteredOverride();
@@ -533,24 +474,21 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@WorkerThread
- void updateScanResultInfo(@Nullable WifiConfiguration wifiConfig,
+ synchronized void updateScanResultInfo(@Nullable WifiConfiguration wifiConfig,
@Nullable List<ScanResult> homeScanResults,
@Nullable List<ScanResult> roamingScanResults)
throws IllegalArgumentException {
mIsRoaming = false;
mWifiConfig = wifiConfig;
- synchronized (mLock) {
- mCurrentHomeScanResults.clear();
- mCurrentRoamingScanResults.clear();
- if (homeScanResults != null) {
- mCurrentHomeScanResults.addAll(homeScanResults);
- }
- if (roamingScanResults != null) {
- mCurrentRoamingScanResults.addAll(roamingScanResults);
- }
+ mCurrentHomeScanResults.clear();
+ mCurrentRoamingScanResults.clear();
+ if (homeScanResults != null) {
+ mCurrentHomeScanResults.addAll(homeScanResults);
+ }
+ if (roamingScanResults != null) {
+ mCurrentRoamingScanResults.addAll(roamingScanResults);
}
if (mWifiConfig != null) {
- mSecurity = getSecurityTypeFromWifiConfiguration(wifiConfig);
List<ScanResult> currentScanResults = new ArrayList<>();
ScanResult bestScanResult = null;
if (homeScanResults != null && !homeScanResults.isEmpty()) {
@@ -576,19 +514,28 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
notifyOnUpdated();
}
+ @Override
+ protected synchronized void updateSecurityTypes() {
+ if (mWifiInfo != null) {
+ final int wifiInfoSecurity = mWifiInfo.getCurrentSecurityType();
+ if (wifiInfoSecurity != SECURITY_TYPE_UNKNOWN) {
+ mTargetSecurityTypes = Collections.singletonList(wifiInfoSecurity);
+ return;
+ }
+ }
+ }
+
@WorkerThread
- void onScoreCacheUpdated() {
+ synchronized void onScoreCacheUpdated() {
if (mWifiInfo != null) {
mSpeed = getSpeedFromWifiInfo(mScoreCache, mWifiInfo);
} else {
- synchronized (mLock) {
- // Average speed is used to prevent speed label flickering from multiple APs.
- if (!mCurrentHomeScanResults.isEmpty()) {
- mSpeed = getAverageSpeedFromScanResults(mScoreCache, mCurrentHomeScanResults);
- } else {
- mSpeed = getAverageSpeedFromScanResults(mScoreCache,
- mCurrentRoamingScanResults);
- }
+ // Average speed is used to prevent speed label flickering from multiple APs.
+ if (!mCurrentHomeScanResults.isEmpty()) {
+ mSpeed = getAverageSpeedFromScanResults(mScoreCache, mCurrentHomeScanResults);
+ } else {
+ mSpeed = getAverageSpeedFromScanResults(mScoreCache,
+ mCurrentRoamingScanResults);
}
}
notifyOnUpdated();
@@ -606,6 +553,18 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
return TextUtils.equals(wifiInfo.getPasspointFqdn(), mFqdn);
}
+ @WorkerThread
+ @Override
+ synchronized void updateNetworkCapabilities(@Nullable NetworkCapabilities capabilities) {
+ super.updateNetworkCapabilities(capabilities);
+
+ // Auto-open an available captive portal if the user manually connected to this network.
+ if (canSignIn() && mShouldAutoOpenCaptivePortal) {
+ mShouldAutoOpenCaptivePortal = false;
+ signIn(null /* callback */);
+ }
+ }
+
@NonNull
static String uniqueIdToPasspointWifiEntryKey(@NonNull String uniqueId) {
checkNotNull(uniqueId, "Cannot create key with null unique id!");
@@ -613,18 +572,18 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
}
@Override
- String getScanResultDescription() {
+ protected String getScanResultDescription() {
// TODO(b/70983952): Fill this method in.
return "";
}
@Override
- String getNetworkSelectionDescription() {
+ synchronized String getNetworkSelectionDescription() {
return Utils.getNetworkSelectionDescription(mWifiConfig);
}
/** Pass a reference to a matching OsuWifiEntry for expiration handling */
- void setOsuWifiEntry(OsuWifiEntry osuWifiEntry) {
+ synchronized void setOsuWifiEntry(OsuWifiEntry osuWifiEntry) {
mOsuWifiEntry = osuWifiEntry;
if (mOsuWifiEntry != null) {
mOsuWifiEntry.setListener(this);
@@ -636,4 +595,26 @@ public class PasspointWifiEntry extends WifiEntry implements WifiEntry.WifiEntry
public void onUpdated() {
notifyOnUpdated();
}
+
+ @Override
+ public synchronized boolean canSignIn() {
+ return mNetworkCapabilities != null
+ && mNetworkCapabilities.hasCapability(
+ NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
+ }
+
+ @Override
+ public void signIn(@Nullable SignInCallback callback) {
+ if (canSignIn()) {
+ // canSignIn() implies that this WifiEntry is the currently connected network, so use
+ // getCurrentNetwork() to start the captive portal app.
+ ((ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
+ .startCaptivePortalApp(mWifiManager.getCurrentNetwork());
+ }
+ }
+
+ /** Get the PasspointConfiguration instance of the entry. */
+ public PasspointConfiguration getPasspointConfig() {
+ return mPasspointConfig;
+ }
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java
index df931f878..8933ce739 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/SavedNetworkTracker.java
@@ -19,8 +19,8 @@ package com.android.wifitrackerlib;
import static androidx.core.util.Preconditions.checkNotNull;
import static com.android.wifitrackerlib.PasspointWifiEntry.uniqueIdToPasspointWifiEntryKey;
-import static com.android.wifitrackerlib.StandardWifiEntry.wifiConfigToStandardWifiEntryKey;
-import static com.android.wifitrackerlib.Utils.mapScanResultsToKey;
+import static com.android.wifitrackerlib.StandardWifiEntry.ScanResultKey;
+import static com.android.wifitrackerlib.StandardWifiEntry.StandardWifiEntryKey;
import static java.util.stream.Collectors.toMap;
@@ -76,7 +76,7 @@ public class SavedNetworkTracker extends BaseWifiTracker {
@GuardedBy("mLock") private final List<WifiEntry> mSubscriptionWifiEntries = new ArrayList<>();
// Cache containing saved StandardWifiEntries. Must be accessed only by the worker thread.
- private final Map<String, StandardWifiEntry> mStandardWifiEntryCache = new HashMap<>();
+ private final List<StandardWifiEntry> mStandardWifiEntryCache = new ArrayList<>();
// Cache containing saved PasspointWifiEntries. Must be accessed only by the worker thread.
private final Map<String, PasspointWifiEntry> mPasspointWifiEntryCache = new HashMap<>();
@@ -154,15 +154,7 @@ public class SavedNetworkTracker extends BaseWifiTracker {
@Override
protected void handleConfiguredNetworksChangedAction(@Nullable Intent intent) {
checkNotNull(intent, "Intent cannot be null!");
-
- final WifiConfiguration config =
- (WifiConfiguration) intent.getExtra(WifiManager.EXTRA_WIFI_CONFIGURATION);
- if (config != null && !config.isPasspoint()) {
- updateStandardWifiEntryConfig(
- config, (Integer) intent.getExtra(WifiManager.EXTRA_CHANGE_REASON));
- } else {
- updateStandardWifiEntryConfigs(mWifiManager.getConfiguredNetworks());
- }
+ updateStandardWifiEntryConfigs(mWifiManager.getConfiguredNetworks());
updatePasspointWifiEntryConfigs(mWifiManager.getPasspointConfigurations());
updateSavedWifiEntries();
updateSubscriptionWifiEntries();
@@ -171,7 +163,7 @@ public class SavedNetworkTracker extends BaseWifiTracker {
@WorkerThread
@Override
protected void handleNetworkScoreCacheUpdated() {
- for (StandardWifiEntry entry : mStandardWifiEntryCache.values()) {
+ for (StandardWifiEntry entry : mStandardWifiEntryCache) {
entry.onScoreCacheUpdated();
}
for (PasspointWifiEntry entry : mPasspointWifiEntryCache.values()) {
@@ -182,7 +174,7 @@ public class SavedNetworkTracker extends BaseWifiTracker {
private void updateSavedWifiEntries() {
synchronized (mLock) {
mSavedWifiEntries.clear();
- mSavedWifiEntries.addAll(mStandardWifiEntryCache.values());
+ mSavedWifiEntries.addAll(mStandardWifiEntryCache);
Collections.sort(mSavedWifiEntries);
if (isVerboseLoggingEnabled()) {
Log.v(TAG, "Updated SavedWifiEntries: "
@@ -209,20 +201,14 @@ public class SavedNetworkTracker extends BaseWifiTracker {
checkNotNull(scanResults, "Scan Result list should not be null!");
// Group scans by StandardWifiEntry key
- final Map<String, List<ScanResult>> scanResultsByKey = mapScanResultsToKey(
- scanResults,
- false /* chooseSingleSecurity */,
- null /* wifiConfigsByKey */,
- mWifiManager.isWpa3SaeSupported(),
- mWifiManager.isWpa3SuiteBSupported(),
- mWifiManager.isEnhancedOpenSupported());
+ final Map<ScanResultKey, List<ScanResult>> scanResultsByKey = scanResults.stream()
+ .collect(Collectors.groupingBy(StandardWifiEntry.ScanResultKey::new));
// Iterate through current entries and update each entry's scan results
- mStandardWifiEntryCache.entrySet().forEach(entry -> {
- final String key = entry.getKey();
- final StandardWifiEntry wifiEntry = entry.getValue();
+ mStandardWifiEntryCache.forEach(entry -> {
// Update scan results if available, or set to null.
- wifiEntry.updateScanResultInfo(scanResultsByKey.get(key));
+ entry.updateScanResultInfo(
+ scanResultsByKey.get(entry.getStandardWifiEntryKey().getScanResultKey()));
});
}
@@ -281,64 +267,27 @@ public class SavedNetworkTracker extends BaseWifiTracker {
updatePasspointWifiEntryScans(mScanResultUpdater.getScanResults(scanAgeWindow));
}
- /**
- * Updates or removes a WifiConfiguration for the corresponding StandardWifiEntry if it exists.
- *
- * If an entry does not exist and the changeReason is ADDED or UPDATED, then a new entry will
- * be created for the new config.
- *
- * @param config WifiConfiguration to update
- * @param changeReason WifiManager.CHANGE_REASON_ADDED, WifiManager.CHANGE_REASON_REMOVED, or
- * WifiManager.CHANGE_REASON_CONFIG_CHANGE
- */
- @WorkerThread
- private void updateStandardWifiEntryConfig(@NonNull WifiConfiguration config,
- int changeReason) {
- checkNotNull(config, "Config should not be null!");
-
- final String key = wifiConfigToStandardWifiEntryKey(config);
- final StandardWifiEntry entry = mStandardWifiEntryCache.get(key);
-
- if (entry != null) {
- if (changeReason == WifiManager.CHANGE_REASON_REMOVED) {
- entry.updateConfig(null);
- mStandardWifiEntryCache.remove(key);
- } else { // CHANGE_REASON_ADDED || CHANGE_REASON_CONFIG_CHANGE
- entry.updateConfig(config);
- }
- } else {
- if (changeReason != WifiManager.CHANGE_REASON_REMOVED) {
- mStandardWifiEntryCache.put(key,
- new StandardWifiEntry(mContext, mMainHandler, key, config, mWifiManager,
- mWifiNetworkScoreCache, true /* forSavedNetworksPage */));
- }
- }
- }
-
private void updateStandardWifiEntryConfigs(@NonNull List<WifiConfiguration> configs) {
checkNotNull(configs, "Config list should not be null!");
// Group configs by StandardWifiEntry key
- final Map<String, WifiConfiguration> wifiConfigsByKey =
- configs.stream().collect(Collectors.toMap(
- StandardWifiEntry::wifiConfigToStandardWifiEntryKey,
- Function.identity()));
+ final Map<StandardWifiEntryKey, List<WifiConfiguration>> wifiConfigsByKey = configs.stream()
+ .filter(config -> !config.carrierMerged)
+ .collect(Collectors.groupingBy(StandardWifiEntryKey::new));
// Iterate through current entries and update each entry's config
- mStandardWifiEntryCache.entrySet().removeIf((entry) -> {
- final StandardWifiEntry wifiEntry = entry.getValue();
- final String key = wifiEntry.getKey();
+ mStandardWifiEntryCache.removeIf(entry -> {
// Update config if available, or set to null (unsaved)
- wifiEntry.updateConfig(wifiConfigsByKey.remove(key));
+ entry.updateConfig(wifiConfigsByKey.remove(entry.getStandardWifiEntryKey()));
// Entry is now unsaved, remove it.
- return !wifiEntry.isSaved();
+ return !entry.isSaved();
});
// Create new entry for each unmatched config
- for (String key : wifiConfigsByKey.keySet()) {
- mStandardWifiEntryCache.put(key,
- new StandardWifiEntry(mContext, mMainHandler, key, wifiConfigsByKey.get(key),
- mWifiManager, mWifiNetworkScoreCache, true /* forSavedNetworksPage */));
+ for (StandardWifiEntryKey key : wifiConfigsByKey.keySet()) {
+ mStandardWifiEntryCache.add(new StandardWifiEntry(mContext, mMainHandler, key,
+ wifiConfigsByKey.get(key), null, mWifiManager, mWifiNetworkScoreCache,
+ true /* forSavedNetworksPage */));
}
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/ScanResultUpdater.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/ScanResultUpdater.java
index 6f5f53878..533849a7b 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/ScanResultUpdater.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/ScanResultUpdater.java
@@ -17,6 +17,7 @@
package com.android.wifitrackerlib;
import android.net.wifi.ScanResult;
+import android.util.Pair;
import androidx.annotation.NonNull;
@@ -24,14 +25,15 @@ import java.time.Clock;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
- * Utility class to keep a running list of scan results merged by BSSID.
+ * Utility class to keep a running list of scan results merged by SSID+BSSID pair.
*
* Thread-safe.
*/
public class ScanResultUpdater {
- private HashMap<String, ScanResult> mScanResultsByBssid = new HashMap<>();
+ private Map<Pair<String, String>, ScanResult> mScanResultsBySsidAndBssid = new HashMap<>();
private final long mMaxScanAgeMillis;
private final Object mLock = new Object();
private final Clock mClock;
@@ -55,23 +57,24 @@ public class ScanResultUpdater {
}
/**
- * Updates scan result list and replaces older scans of the same BSSID.
+ * Updates scan result list and replaces older scans of the same SSID+BSSID pair.
*/
public void update(@NonNull List<ScanResult> newResults) {
synchronized (mLock) {
evictOldScans();
for (ScanResult result : newResults) {
- ScanResult prevResult = mScanResultsByBssid.get(result.BSSID);
+ final Pair<String, String> key = new Pair(result.SSID, result.BSSID);
+ ScanResult prevResult = mScanResultsBySsidAndBssid.get(key);
if (prevResult == null || (prevResult.timestamp < result.timestamp)) {
- mScanResultsByBssid.put(result.BSSID, result);
+ mScanResultsBySsidAndBssid.put(key, result);
}
}
}
}
/**
- * Returns all seen scan results merged by BSSID.
+ * Returns all seen scan results merged by SSID+BSSID pair.
*/
@NonNull
public List<ScanResult> getScanResults() {
@@ -79,7 +82,7 @@ public class ScanResultUpdater {
}
/**
- * Returns all seen scan results merged by BSSID and newer than maxScanAgeMillis.
+ * Returns all seen scan results merged by SSID+BSSID pair and newer than maxScanAgeMillis.
* maxScanAgeMillis must be less than or equal to the mMaxScanAgeMillis field if it was set.
*/
@NonNull
@@ -90,7 +93,7 @@ public class ScanResultUpdater {
}
synchronized (mLock) {
List<ScanResult> ageFilteredResults = new ArrayList<>();
- for (ScanResult result : mScanResultsByBssid.values()) {
+ for (ScanResult result : mScanResultsBySsidAndBssid.values()) {
if (mClock.millis() - result.timestamp / 1000 <= maxScanAgeMillis) {
ageFilteredResults.add(result);
}
@@ -101,7 +104,7 @@ public class ScanResultUpdater {
private void evictOldScans() {
synchronized (mLock) {
- mScanResultsByBssid.entrySet().removeIf((entry) ->
+ mScanResultsBySsidAndBssid.entrySet().removeIf((entry) ->
mClock.millis() - entry.getValue().timestamp / 1000 > mMaxScanAgeMillis);
}
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardNetworkDetailsTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardNetworkDetailsTracker.java
index 356af410c..39470c65b 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardNetworkDetailsTracker.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardNetworkDetailsTracker.java
@@ -18,9 +18,8 @@ package com.android.wifitrackerlib;
import static androidx.core.util.Preconditions.checkNotNull;
-import static com.android.wifitrackerlib.NetworkRequestEntry.wifiConfigToNetworkRequestEntryKey;
-import static com.android.wifitrackerlib.StandardWifiEntry.wifiConfigToStandardWifiEntryKey;
-import static com.android.wifitrackerlib.Utils.getSecurityTypesFromScanResult;
+import static com.android.wifitrackerlib.StandardWifiEntry.ScanResultKey;
+import static com.android.wifitrackerlib.StandardWifiEntry.StandardWifiEntryKey;
import static java.util.stream.Collectors.toList;
@@ -34,7 +33,6 @@ import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Handler;
-import android.text.TextUtils;
import androidx.annotation.AnyThread;
import androidx.annotation.NonNull;
@@ -47,14 +45,15 @@ import java.util.Collections;
/**
* Implementation of NetworkDetailsTracker that tracks a single StandardWifiEntry.
*/
-class StandardNetworkDetailsTracker extends NetworkDetailsTracker {
+public class StandardNetworkDetailsTracker extends NetworkDetailsTracker {
private static final String TAG = "StandardNetworkDetailsTracker";
+ private final StandardWifiEntryKey mKey;
private final StandardWifiEntry mChosenEntry;
private final boolean mIsNetworkRequest;
private NetworkInfo mCurrentNetworkInfo;
- StandardNetworkDetailsTracker(@NonNull Lifecycle lifecycle,
+ public StandardNetworkDetailsTracker(@NonNull Lifecycle lifecycle,
@NonNull Context context,
@NonNull WifiManager wifiManager,
@NonNull ConnectivityManager connectivityManager,
@@ -67,16 +66,20 @@ class StandardNetworkDetailsTracker extends NetworkDetailsTracker {
String key) {
super(lifecycle, context, wifiManager, connectivityManager, networkScoreManager,
mainHandler, workerHandler, clock, maxScanAgeMillis, scanIntervalMillis, TAG);
-
- if (key.startsWith(NetworkRequestEntry.KEY_PREFIX)) {
+ mKey = new StandardWifiEntryKey(key);
+ if (mKey.isNetworkRequest()) {
mIsNetworkRequest = true;
- mChosenEntry = new NetworkRequestEntry(mContext, mMainHandler, key, mWifiManager,
+ mChosenEntry = new NetworkRequestEntry(mContext, mMainHandler, mKey, mWifiManager,
mWifiNetworkScoreCache, false /* forSavedNetworksPage */);
} else {
mIsNetworkRequest = false;
- mChosenEntry = new StandardWifiEntry(mContext, mMainHandler, key, mWifiManager,
+ mChosenEntry = new StandardWifiEntry(mContext, mMainHandler, mKey, mWifiManager,
mWifiNetworkScoreCache, false /* forSavedNetworksPage */);
}
+ // It is safe to call updateStartInfo() in the main thread here since onStart() won't have
+ // a chance to post handleOnStart() on the worker thread until the main thread finishes
+ // calling this constructor.
+ updateStartInfo();
}
@AnyThread
@@ -89,17 +92,7 @@ class StandardNetworkDetailsTracker extends NetworkDetailsTracker {
@WorkerThread
@Override
protected void handleOnStart() {
- conditionallyUpdateScanResults(true /* lastScanSucceeded */);
- conditionallyUpdateConfig();
- final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
- final Network currentNetwork = mWifiManager.getCurrentNetwork();
- mCurrentNetworkInfo = mConnectivityManager.getNetworkInfo(currentNetwork);
- mChosenEntry.updateConnectionInfo(wifiInfo, mCurrentNetworkInfo);
- handleNetworkCapabilitiesChanged(
- mConnectivityManager.getNetworkCapabilities(currentNetwork));
- handleLinkPropertiesChanged(mConnectivityManager.getLinkProperties(currentNetwork));
- mChosenEntry.setIsDefaultNetwork(mIsWifiDefaultRoute);
- mChosenEntry.setIsLowQuality(mIsWifiValidated && mIsCellDefaultRoute);
+ updateStartInfo();
}
@WorkerThread
@@ -120,20 +113,7 @@ class StandardNetworkDetailsTracker extends NetworkDetailsTracker {
@Override
protected void handleConfiguredNetworksChangedAction(@NonNull Intent intent) {
checkNotNull(intent, "Intent cannot be null!");
- final WifiConfiguration updatedConfig =
- (WifiConfiguration) intent.getExtra(WifiManager.EXTRA_WIFI_CONFIGURATION);
- if (updatedConfig != null && configMatches(updatedConfig)) {
- final int changeReason = intent.getIntExtra(WifiManager.EXTRA_CHANGE_REASON,
- -1 /* defaultValue*/);
- if (changeReason == WifiManager.CHANGE_REASON_ADDED
- || changeReason == WifiManager.CHANGE_REASON_CONFIG_CHANGE) {
- mChosenEntry.updateConfig(updatedConfig);
- } else if (changeReason == WifiManager.CHANGE_REASON_REMOVED) {
- mChosenEntry.updateConfig(null);
- }
- } else {
- conditionallyUpdateConfig();
- }
+ conditionallyUpdateConfig();
}
@WorkerThread
@@ -142,6 +122,21 @@ class StandardNetworkDetailsTracker extends NetworkDetailsTracker {
mChosenEntry.onScoreCacheUpdated();
}
+ @WorkerThread
+ private void updateStartInfo() {
+ conditionallyUpdateScanResults(true /* lastScanSucceeded */);
+ conditionallyUpdateConfig();
+ final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
+ final Network currentNetwork = mWifiManager.getCurrentNetwork();
+ mCurrentNetworkInfo = mConnectivityManager.getNetworkInfo(currentNetwork);
+ mChosenEntry.updateConnectionInfo(wifiInfo, mCurrentNetworkInfo);
+ handleNetworkCapabilitiesChanged(
+ mConnectivityManager.getNetworkCapabilities(currentNetwork));
+ handleLinkPropertiesChanged(mConnectivityManager.getLinkProperties(currentNetwork));
+ mChosenEntry.setIsDefaultNetwork(mIsWifiDefaultRoute);
+ mChosenEntry.setIsLowQuality(mIsWifiValidated && mIsCellDefaultRoute);
+ }
+
/**
* Updates the tracked entry's scan results up to the max scan age (or more, if the last scan
* was unsuccessful). If Wifi is disabled, the tracked entry's level will be cleared.
@@ -168,10 +163,10 @@ class StandardNetworkDetailsTracker extends NetworkDetailsTracker {
* it to null if it does not exist.
*/
private void conditionallyUpdateConfig() {
- WifiConfiguration updatedConfig = mWifiManager.getPrivilegedConfiguredNetworks().stream()
- .filter(this::configMatches)
- .findAny().orElse(null);
- mChosenEntry.updateConfig(updatedConfig);
+ mChosenEntry.updateConfig(
+ mWifiManager.getPrivilegedConfiguredNetworks().stream()
+ .filter(this::configMatches)
+ .collect(toList()));
}
/**
@@ -179,9 +174,7 @@ class StandardNetworkDetailsTracker extends NetworkDetailsTracker {
*/
private void cacheNewScanResults() {
mScanResultUpdater.update(mWifiManager.getScanResults().stream()
- .filter(scan -> TextUtils.equals(scan.SSID, mChosenEntry.getSsid())
- && getSecurityTypesFromScanResult(scan).contains(
- mChosenEntry.getSecurity()))
+ .filter(scan -> new ScanResultKey(scan).equals(mKey.getScanResultKey()))
.collect(toList()));
}
@@ -189,9 +182,6 @@ class StandardNetworkDetailsTracker extends NetworkDetailsTracker {
if (config.isPasspoint()) {
return false;
}
- String configKey = config.fromWifiNetworkSpecifier
- ? wifiConfigToNetworkRequestEntryKey(config)
- : wifiConfigToStandardWifiEntryKey(config);
- return TextUtils.equals(configKey, mChosenEntry.getKey());
+ return mKey.equals(new StandardWifiEntryKey(config, mKey.isTargetingNewNetworks()));
}
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java
index 51270545b..994331a69 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/StandardWifiEntry.java
@@ -21,24 +21,30 @@ import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.DISABLED
import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.DISABLED_BY_WRONG_PASSWORD;
import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_ENABLED;
import static android.net.wifi.WifiInfo.DEFAULT_MAC_ADDRESS;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_EAP;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_OPEN;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_OWE;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_PSK;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_SAE;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_UNKNOWN;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_WEP;
import static android.net.wifi.WifiInfo.sanitizeSsid;
-import static androidx.core.util.Preconditions.checkNotNull;
-
-import static com.android.wifitrackerlib.Utils.getAppLabel;
import static com.android.wifitrackerlib.Utils.getAutoConnectDescription;
import static com.android.wifitrackerlib.Utils.getAverageSpeedFromScanResults;
import static com.android.wifitrackerlib.Utils.getBestScanResultByLevel;
-import static com.android.wifitrackerlib.Utils.getCarrierNameForSubId;
-import static com.android.wifitrackerlib.Utils.getCurrentNetworkCapabilitiesInformation;
-import static com.android.wifitrackerlib.Utils.getDisconnectedStateDescription;
+import static com.android.wifitrackerlib.Utils.getConnectedDescription;
+import static com.android.wifitrackerlib.Utils.getConnectingDescription;
+import static com.android.wifitrackerlib.Utils.getDisconnectedDescription;
import static com.android.wifitrackerlib.Utils.getImsiProtectionDescription;
import static com.android.wifitrackerlib.Utils.getMeteredDescription;
-import static com.android.wifitrackerlib.Utils.getNetworkDetailedState;
-import static com.android.wifitrackerlib.Utils.getSecurityTypeFromWifiConfiguration;
+import static com.android.wifitrackerlib.Utils.getSecurityTypesFromScanResult;
+import static com.android.wifitrackerlib.Utils.getSecurityTypesFromWifiConfiguration;
+import static com.android.wifitrackerlib.Utils.getSingleSecurityTypeFromMultipleSecurityTypes;
import static com.android.wifitrackerlib.Utils.getSpeedDescription;
import static com.android.wifitrackerlib.Utils.getSpeedFromWifiInfo;
-import static com.android.wifitrackerlib.Utils.getSubIdForConfig;
import static com.android.wifitrackerlib.Utils.getVerboseLoggingDescription;
import android.content.Context;
@@ -59,20 +65,27 @@ import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
+import android.util.ArraySet;
+import android.util.Log;
-import androidx.annotation.GuardedBy;
-import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.WorkerThread;
import com.android.internal.annotations.VisibleForTesting;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Comparator;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
import java.util.StringJoiner;
import java.util.stream.Collectors;
@@ -83,153 +96,112 @@ import java.util.stream.Collectors;
*/
@VisibleForTesting
public class StandardWifiEntry extends WifiEntry {
- static final String KEY_PREFIX = "StandardWifiEntry:";
-
- @Retention(RetentionPolicy.SOURCE)
- @IntDef(value = {
- EAP_WPA,
- EAP_WPA2_WPA3,
- EAP_UNKNOWN
- })
-
- public @interface EapType {}
-
- private static final int EAP_WPA = 0; // WPA-EAP
- private static final int EAP_WPA2_WPA3 = 1; // RSN-EAP
- private static final int EAP_UNKNOWN = 2;
-
- @Retention(RetentionPolicy.SOURCE)
- @IntDef(value = {
- PSK_WPA,
- PSK_WPA2,
- PSK_WPA_WPA2,
- PSK_UNKNOWN
- })
-
- public @interface PskType {}
-
- private static final int PSK_WPA = 0;
- private static final int PSK_WPA2 = 1;
- private static final int PSK_WPA_WPA2 = 2;
- private static final int PSK_UNKNOWN = 3;
-
- private final Object mLock = new Object();
- // Scan result list must be thread safe for generating the verbose scan summary
- @GuardedBy("mLock")
- @NonNull private final List<ScanResult> mCurrentScanResults = new ArrayList<>();
-
- @NonNull private final String mKey;
- @NonNull private final String mSsid;
+ static final String TAG = "StandardWifiEntry";
+ public static final String KEY_PREFIX = "StandardWifiEntry:";
+
+ @NonNull private final StandardWifiEntryKey mKey;
+
@NonNull private final Context mContext;
- private final @Security int mSecurity;
- private @EapType int mEapType = EAP_UNKNOWN;
- private @PskType int mPskType = PSK_UNKNOWN;
- @Nullable private WifiConfiguration mWifiConfig;
+
+ // Map of security type to matching scan results
+ @NonNull private final Map<Integer, List<ScanResult>> mMatchingScanResults = new HashMap<>();
+ // Map of security type to matching WifiConfiguration
+ // TODO: Change this to single WifiConfiguration once we can get multiple security type configs.
+ @NonNull private final Map<Integer, WifiConfiguration> mMatchingWifiConfigs = new HashMap<>();
+
+ // List of the target scan results to be displayed. This should match the highest available
+ // security from all of the matched WifiConfigurations.
+ // If no WifiConfigurations are available, then these should match the most appropriate security
+ // type (e.g. PSK for an PSK/SAE entry, OWE for an Open/OWE entry).
+ @NonNull private final List<ScanResult> mTargetScanResults = new ArrayList<>();
+ // Target WifiConfiguration for connection and displaying WifiConfiguration info
+ private WifiConfiguration mTargetWifiConfig;
+ private List<Integer> mTargetSecurityTypes = new ArrayList<>();
+
private boolean mIsUserShareable = false;
@Nullable private String mRecommendationServiceLabel;
private boolean mShouldAutoOpenCaptivePortal = false;
+ private final boolean mIsWpa3SaeSupported;
+ private final boolean mIsWpa3SuiteBSupported;
+ private final boolean mIsEnhancedOpenSupported;
+
StandardWifiEntry(@NonNull Context context, @NonNull Handler callbackHandler,
- @NonNull String key,
- @NonNull List<ScanResult> scanResults,
- @NonNull WifiManager wifiManager,
+ @NonNull StandardWifiEntryKey key, @NonNull WifiManager wifiManager,
@NonNull WifiNetworkScoreCache scoreCache,
- boolean forSavedNetworksPage) throws IllegalArgumentException {
- this(context, callbackHandler, key, wifiManager, scoreCache,
- forSavedNetworksPage);
-
- checkNotNull(scanResults, "Cannot construct with null ScanResult list!");
- if (scanResults.isEmpty()) {
- throw new IllegalArgumentException("Cannot construct with empty ScanResult list!");
- }
- updateScanResultInfo(scanResults);
+ boolean forSavedNetworksPage) {
+ super(callbackHandler, wifiManager, scoreCache, forSavedNetworksPage);
+ mContext = context;
+ mKey = key;
+ mIsWpa3SaeSupported = wifiManager.isWpa3SaeSupported();
+ mIsWpa3SuiteBSupported = wifiManager.isWpa3SuiteBSupported();
+ mIsEnhancedOpenSupported = wifiManager.isEnhancedOpenSupported();
updateRecommendationServiceLabel();
}
StandardWifiEntry(@NonNull Context context, @NonNull Handler callbackHandler,
- @NonNull String key, @NonNull WifiConfiguration config,
+ @NonNull StandardWifiEntryKey key,
+ @Nullable List<WifiConfiguration> configs,
+ @Nullable List<ScanResult> scanResults,
@NonNull WifiManager wifiManager,
@NonNull WifiNetworkScoreCache scoreCache,
boolean forSavedNetworksPage) throws IllegalArgumentException {
this(context, callbackHandler, key, wifiManager, scoreCache,
forSavedNetworksPage);
-
- checkNotNull(config, "Cannot construct with null config!");
- checkNotNull(config.SSID, "Supplied config must have an SSID!");
- mWifiConfig = config;
- updateRecommendationServiceLabel();
- }
-
- StandardWifiEntry(@NonNull Context context, @NonNull Handler callbackHandler,
- @NonNull String key, @NonNull WifiManager wifiManager,
- @NonNull WifiNetworkScoreCache scoreCache,
- boolean forSavedNetworksPage) {
- super(callbackHandler, wifiManager, scoreCache, forSavedNetworksPage);
-
- mContext = context;
- mKey = key;
- try {
- final int prefixDelimiter = key.indexOf(":");
- final int securityDelimiter = key.lastIndexOf(",");
- mSsid = key.substring(prefixDelimiter + 1, securityDelimiter);
- mSecurity = Integer.valueOf(key.substring(securityDelimiter + 1));
- } catch (StringIndexOutOfBoundsException | NumberFormatException e) {
- throw new IllegalArgumentException("Malformed key: " + key);
+ if (configs != null && !configs.isEmpty()) {
+ updateConfig(configs);
+ }
+ if (scanResults != null && !scanResults.isEmpty()) {
+ updateScanResultInfo(scanResults);
}
- updateRecommendationServiceLabel();
}
@Override
public String getKey() {
+ return mKey.toString();
+ }
+
+ StandardWifiEntryKey getStandardWifiEntryKey() {
return mKey;
}
@Override
public String getTitle() {
- return mSsid;
+ return mKey.getScanResultKey().getSsid();
}
@Override
- public String getSummary(boolean concise) {
- StringJoiner sj = new StringJoiner(mContext.getString(R.string.summary_separator));
-
- if (!concise && mForSavedNetworksPage && isSaved()) {
- final CharSequence appLabel = getAppLabel(mContext, mWifiConfig.creatorName);
- if (!TextUtils.isEmpty(appLabel)) {
- sj.add(mContext.getString(R.string.saved_network, appLabel));
- }
+ public synchronized String getSummary(boolean concise) {
+ StringJoiner sj = new StringJoiner(mContext.getString(
+ R.string.wifitrackerlib_summary_separator));
+
+ final String connectedStateDescription;
+ final @ConnectedState int connectedState = getConnectedState();
+ switch (connectedState) {
+ case CONNECTED_STATE_DISCONNECTED:
+ connectedStateDescription = getDisconnectedDescription(mContext,
+ mTargetWifiConfig,
+ mForSavedNetworksPage,
+ concise);
+ break;
+ case CONNECTED_STATE_CONNECTING:
+ connectedStateDescription = getConnectingDescription(mContext, mNetworkInfo);
+ break;
+ case CONNECTED_STATE_CONNECTED:
+ connectedStateDescription = getConnectedDescription(mContext,
+ mTargetWifiConfig,
+ mNetworkCapabilities,
+ mRecommendationServiceLabel,
+ mIsDefaultNetwork,
+ mIsLowQuality);
+ break;
+ default:
+ Log.e(TAG, "getConnectedState() returned unknown state: " + connectedState);
+ connectedStateDescription = null;
}
-
- if (getConnectedState() == CONNECTED_STATE_DISCONNECTED) {
- String disconnectDescription = getDisconnectedStateDescription(mContext, this);
- if (TextUtils.isEmpty(disconnectDescription)) {
- if (concise) {
- sj.add(mContext.getString(R.string.wifi_disconnected));
- } else if (!mForSavedNetworksPage) {
- // Summary for unconnected suggested network
- if (isSuggestion()) {
- String carrierName = getCarrierNameForSubId(mContext,
- getSubIdForConfig(mContext, mWifiConfig));
- String suggestorName = getAppLabel(mContext, mWifiConfig.creatorName);
- if (TextUtils.isEmpty(suggestorName)) {
- // Fall-back to the package name in case the app label is missing
- suggestorName = mWifiConfig.creatorName;
- }
- sj.add(mContext.getString(R.string.available_via_app, carrierName != null
- ? carrierName : suggestorName));
- } else if (isSaved()) {
- sj.add(mContext.getString(R.string.wifi_remembered));
- }
- }
- } else {
- sj.add(disconnectDescription);
- }
- } else {
- final String connectDescription = getConnectStateDescription();
- if (!TextUtils.isEmpty(connectDescription)) {
- sj.add(connectDescription);
- }
+ if (!TextUtils.isEmpty(connectedStateDescription)) {
+ sj.add(connectedStateDescription);
}
final String speedDescription = getSpeedDescription(mContext, this);
@@ -257,47 +229,6 @@ public class StandardWifiEntry extends WifiEntry {
return sj.toString();
}
- private String getConnectStateDescription() {
- if (getConnectedState() == CONNECTED_STATE_CONNECTED) {
- // For suggestion or specifier networks
- final String suggestionOrSpecifierPackageName = mWifiInfo != null
- ? mWifiInfo.getRequestingPackageName() : null;
- if (!TextUtils.isEmpty(suggestionOrSpecifierPackageName)) {
- String carrierName = mWifiConfig != null
- ? getCarrierNameForSubId(mContext, getSubIdForConfig(mContext, mWifiConfig))
- : null;
- String suggestorName = getAppLabel(mContext, suggestionOrSpecifierPackageName);
- if (TextUtils.isEmpty(suggestorName)) {
- // Fall-back to the package name in case the app label is missing
- suggestorName = suggestionOrSpecifierPackageName;
- }
- return mContext.getString(R.string.connected_via_app, carrierName != null
- ? carrierName : suggestorName);
- }
-
- if (!isSaved() && !isSuggestion()) {
- // Special case for connected + ephemeral networks.
- if (!TextUtils.isEmpty(mRecommendationServiceLabel)) {
- return String.format(mContext.getString(R.string.connected_via_network_scorer),
- mRecommendationServiceLabel);
- }
- return mContext.getString(R.string.connected_via_network_scorer_default);
- }
-
- if (mIsLowQuality) {
- return mContext.getString(R.string.wifi_connected_low_quality);
- }
-
- String networkCapabilitiesinformation =
- getCurrentNetworkCapabilitiesInformation(mContext, mNetworkCapabilities);
- if (!TextUtils.isEmpty(networkCapabilitiesinformation)) {
- return networkCapabilitiesinformation;
- }
- }
-
- return getNetworkDetailedState(mContext, mNetworkInfo);
- }
-
@Override
public CharSequence getSecondSummary() {
return getConnectedState() == CONNECTED_STATE_CONNECTED
@@ -306,17 +237,16 @@ public class StandardWifiEntry extends WifiEntry {
@Override
public String getSsid() {
- return mSsid;
+ return mKey.getScanResultKey().getSsid();
}
@Override
- @Security
- public int getSecurity() {
- return mSecurity;
+ public synchronized List<Integer> getSecurityTypes() {
+ return new ArrayList<>(mTargetSecurityTypes);
}
@Override
- public String getMacAddress() {
+ public synchronized String getMacAddress() {
if (mWifiInfo != null) {
final String wifiInfoMac = mWifiInfo.getMacAddress();
if (!TextUtils.isEmpty(wifiInfoMac)
@@ -324,61 +254,52 @@ public class StandardWifiEntry extends WifiEntry {
return wifiInfoMac;
}
}
- if (mWifiConfig == null || getPrivacy() != PRIVACY_RANDOMIZED_MAC) {
+ if (mTargetWifiConfig == null || getPrivacy() != PRIVACY_RANDOMIZED_MAC) {
final String[] factoryMacs = mWifiManager.getFactoryMacAddresses();
if (factoryMacs.length > 0) {
return factoryMacs[0];
}
return null;
}
- return mWifiConfig.getRandomizedMacAddress().toString();
+ return mTargetWifiConfig.getRandomizedMacAddress().toString();
}
@Override
- public boolean isMetered() {
+ public synchronized boolean isMetered() {
return getMeteredChoice() == METERED_CHOICE_METERED
- || (mWifiConfig != null && mWifiConfig.meteredHint);
+ || (mTargetWifiConfig != null && mTargetWifiConfig.meteredHint);
}
@Override
- public boolean isSaved() {
- return mWifiConfig != null && !mWifiConfig.isEphemeral();
+ public synchronized boolean isSaved() {
+ return mTargetWifiConfig != null && !mTargetWifiConfig.fromWifiNetworkSuggestion
+ && !mTargetWifiConfig.isEphemeral();
}
@Override
- public boolean isSuggestion() {
- return mWifiConfig != null && mWifiConfig.fromWifiNetworkSuggestion;
+ public synchronized boolean isSuggestion() {
+ return mTargetWifiConfig != null && mTargetWifiConfig.fromWifiNetworkSuggestion;
}
@Override
- public boolean isSubscription() {
- return false;
- }
-
- @Override
- public WifiConfiguration getWifiConfiguration() {
+ public synchronized WifiConfiguration getWifiConfiguration() {
if (!isSaved()) {
return null;
}
- return mWifiConfig;
- }
-
- @Override
- public ConnectedInfo getConnectedInfo() {
- return mConnectedInfo;
+ return mTargetWifiConfig;
}
@Override
- public boolean canConnect() {
+ public synchronized boolean canConnect() {
if (mLevel == WIFI_LEVEL_UNREACHABLE
|| getConnectedState() != CONNECTED_STATE_DISCONNECTED) {
return false;
}
// Allow connection for EAP SIM dependent methods if the SIM of specified carrier ID is
// active in the device.
- if (getSecurity() == SECURITY_EAP && mWifiConfig != null
- && mWifiConfig.enterpriseConfig != null) {
- if (!mWifiConfig.enterpriseConfig.isAuthenticationSimBased()) {
+ if (mTargetSecurityTypes.contains(SECURITY_TYPE_EAP) && mTargetWifiConfig != null
+ && mTargetWifiConfig.enterpriseConfig != null) {
+ if (!mTargetWifiConfig.enterpriseConfig.isAuthenticationSimBased()) {
return true;
}
List<SubscriptionInfo> activeSubscriptionInfos = ((SubscriptionManager) mContext
@@ -387,12 +308,12 @@ public class StandardWifiEntry extends WifiEntry {
if (activeSubscriptionInfos == null || activeSubscriptionInfos.size() == 0) {
return false;
}
- if (mWifiConfig.carrierId == TelephonyManager.UNKNOWN_CARRIER_ID) {
+ if (mTargetWifiConfig.carrierId == TelephonyManager.UNKNOWN_CARRIER_ID) {
// To connect via default subscription.
return true;
}
for (SubscriptionInfo subscriptionInfo : activeSubscriptionInfos) {
- if (subscriptionInfo.getCarrierId() == mWifiConfig.carrierId) {
+ if (subscriptionInfo.getCarrierId() == mTargetWifiConfig.carrierId) {
return true;
}
}
@@ -402,31 +323,44 @@ public class StandardWifiEntry extends WifiEntry {
}
@Override
- public void connect(@Nullable ConnectCallback callback) {
+ public synchronized void connect(@Nullable ConnectCallback callback) {
mConnectCallback = callback;
// We should flag this network to auto-open captive portal since this method represents
// the user manually connecting to a network (i.e. not auto-join).
mShouldAutoOpenCaptivePortal = true;
-
+ mWifiManager.stopRestrictingAutoJoinToSubscriptionId();
if (isSaved() || isSuggestion()) {
+ if (Utils.isSimCredential(mTargetWifiConfig)
+ && !Utils.isSimPresent(mContext, mTargetWifiConfig.carrierId)) {
+ if (callback != null) {
+ mCallbackHandler.post(() ->
+ callback.onConnectResult(
+ ConnectCallback.CONNECT_STATUS_FAILURE_SIM_ABSENT));
+ }
+ return;
+ }
// Saved/suggested network
- mWifiManager.connect(mWifiConfig.networkId, new ConnectActionListener());
+ mWifiManager.connect(mTargetWifiConfig.networkId, new ConnectActionListener());
} else {
- // Unsaved network
- if (mSecurity == SECURITY_NONE
- || mSecurity == SECURITY_OWE) {
- // Open network
- final WifiConfiguration connectConfig = new WifiConfiguration();
- connectConfig.SSID = "\"" + mSsid + "\"";
-
- if (mSecurity == SECURITY_OWE) {
- // Use OWE if possible
- connectConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.OWE);
- connectConfig.requirePmf = true;
- } else {
- connectConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
+ if (mTargetSecurityTypes.contains(SECURITY_TYPE_OWE)) {
+ // OWE network
+ final WifiConfiguration oweConfig = new WifiConfiguration();
+ oweConfig.SSID = "\"" + mKey.getScanResultKey().getSsid() + "\"";
+ oweConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
+ mWifiManager.connect(oweConfig, new ConnectActionListener());
+ if (mTargetSecurityTypes.contains(SECURITY_TYPE_OPEN)) {
+ // Add an extra Open config for OWE transition networks
+ final WifiConfiguration openConfig = new WifiConfiguration();
+ openConfig.SSID = "\"" + mKey.getScanResultKey().getSsid() + "\"";
+ openConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
+ mWifiManager.save(openConfig, null);
}
- mWifiManager.connect(connectConfig, new ConnectActionListener());
+ } else if (mTargetSecurityTypes.contains(SECURITY_TYPE_OPEN)) {
+ // Open network
+ final WifiConfiguration openConfig = new WifiConfiguration();
+ openConfig.SSID = "\"" + mKey.getScanResultKey().getSsid() + "\"";
+ openConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
+ mWifiManager.connect(openConfig, new ConnectActionListener());
} else {
// Secure network
if (callback != null) {
@@ -444,7 +378,7 @@ public class StandardWifiEntry extends WifiEntry {
}
@Override
- public void disconnect(@Nullable DisconnectCallback callback) {
+ public synchronized void disconnect(@Nullable DisconnectCallback callback) {
if (canDisconnect()) {
mCalledDisconnect = true;
mDisconnectCallback = callback;
@@ -454,7 +388,7 @@ public class StandardWifiEntry extends WifiEntry {
DisconnectCallback.DISCONNECT_STATUS_FAILURE_UNKNOWN);
}
}, 10_000 /* delayMillis */);
- mWifiManager.disableEphemeralNetwork(mWifiConfig.SSID);
+ mWifiManager.disableEphemeralNetwork("\"" + mKey.getScanResultKey().getSsid() + "\"");
mWifiManager.disconnect();
}
}
@@ -465,15 +399,15 @@ public class StandardWifiEntry extends WifiEntry {
}
@Override
- public void forget(@Nullable ForgetCallback callback) {
+ public synchronized void forget(@Nullable ForgetCallback callback) {
if (canForget()) {
mForgetCallback = callback;
- mWifiManager.forget(mWifiConfig.networkId, new ForgetActionListener());
+ mWifiManager.forget(mTargetWifiConfig.networkId, new ForgetActionListener());
}
}
@Override
- public boolean canSignIn() {
+ public synchronized boolean canSignIn() {
return mNetworkCapabilities != null
&& mNetworkCapabilities.hasCapability(
NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
@@ -494,21 +428,22 @@ public class StandardWifiEntry extends WifiEntry {
* See https://github.com/zxing/zxing/wiki/Barcode-Contents#wi-fi-network-config-android-ios-11
*/
@Override
- public boolean canShare() {
+ public synchronized boolean canShare() {
if (getWifiConfiguration() == null) {
return false;
}
- switch (mSecurity) {
- case SECURITY_NONE:
- case SECURITY_OWE:
- case SECURITY_WEP:
- case SECURITY_PSK:
- case SECURITY_SAE:
- return true;
- default:
- return false;
+ for (int securityType : mTargetSecurityTypes) {
+ switch (securityType) {
+ case SECURITY_TYPE_OPEN:
+ case SECURITY_TYPE_OWE:
+ case SECURITY_TYPE_WEP:
+ case SECURITY_TYPE_PSK:
+ case SECURITY_TYPE_SAE:
+ return true;
+ }
}
+ return false;
}
/**
@@ -516,7 +451,7 @@ public class StandardWifiEntry extends WifiEntry {
* See https://www.wi-fi.org/discover-wi-fi/wi-fi-easy-connect
*/
@Override
- public boolean canEasyConnect() {
+ public synchronized boolean canEasyConnect() {
if (getWifiConfiguration() == null) {
return false;
}
@@ -526,20 +461,15 @@ public class StandardWifiEntry extends WifiEntry {
}
// DPP 1.0 only supports WPA2 and WPA3.
- switch (mSecurity) {
- case SECURITY_PSK:
- case SECURITY_SAE:
- return true;
- default:
- return false;
- }
+ return mTargetSecurityTypes.contains(SECURITY_TYPE_PSK)
+ || mTargetSecurityTypes.contains(SECURITY_TYPE_SAE);
}
@Override
@MeteredChoice
- public int getMeteredChoice() {
- if (getWifiConfiguration() != null) {
- final int meteredOverride = getWifiConfiguration().meteredOverride;
+ public synchronized int getMeteredChoice() {
+ if (!isSuggestion() && mTargetWifiConfig != null) {
+ final int meteredOverride = mTargetWifiConfig.meteredOverride;
if (meteredOverride == WifiConfiguration.METERED_OVERRIDE_METERED) {
return METERED_CHOICE_METERED;
} else if (meteredOverride == WifiConfiguration.METERED_OVERRIDE_NOT_METERED) {
@@ -555,19 +485,19 @@ public class StandardWifiEntry extends WifiEntry {
}
@Override
- public void setMeteredChoice(int meteredChoice) {
+ public synchronized void setMeteredChoice(int meteredChoice) {
if (!canSetMeteredChoice()) {
return;
}
if (meteredChoice == METERED_CHOICE_AUTO) {
- mWifiConfig.meteredOverride = WifiConfiguration.METERED_OVERRIDE_NONE;
+ mTargetWifiConfig.meteredOverride = WifiConfiguration.METERED_OVERRIDE_NONE;
} else if (meteredChoice == METERED_CHOICE_METERED) {
- mWifiConfig.meteredOverride = WifiConfiguration.METERED_OVERRIDE_METERED;
+ mTargetWifiConfig.meteredOverride = WifiConfiguration.METERED_OVERRIDE_METERED;
} else if (meteredChoice == METERED_CHOICE_UNMETERED) {
- mWifiConfig.meteredOverride = WifiConfiguration.METERED_OVERRIDE_NOT_METERED;
+ mTargetWifiConfig.meteredOverride = WifiConfiguration.METERED_OVERRIDE_NOT_METERED;
}
- mWifiManager.save(mWifiConfig, null /* listener */);
+ mWifiManager.save(mTargetWifiConfig, null /* listener */);
}
@Override
@@ -577,9 +507,10 @@ public class StandardWifiEntry extends WifiEntry {
@Override
@Privacy
- public int getPrivacy() {
- if (mWifiConfig != null
- && mWifiConfig.macRandomizationSetting == WifiConfiguration.RANDOMIZATION_NONE) {
+ public synchronized int getPrivacy() {
+ if (mTargetWifiConfig != null
+ && mTargetWifiConfig.macRandomizationSetting
+ == WifiConfiguration.RANDOMIZATION_NONE) {
return PRIVACY_DEVICE_MAC;
} else {
return PRIVACY_RANDOMIZED_MAC;
@@ -587,23 +518,23 @@ public class StandardWifiEntry extends WifiEntry {
}
@Override
- public void setPrivacy(int privacy) {
+ public synchronized void setPrivacy(int privacy) {
if (!canSetPrivacy()) {
return;
}
- mWifiConfig.macRandomizationSetting = privacy == PRIVACY_RANDOMIZED_MAC
- ? WifiConfiguration.RANDOMIZATION_PERSISTENT : WifiConfiguration.RANDOMIZATION_NONE;
- mWifiManager.save(mWifiConfig, null /* listener */);
+ mTargetWifiConfig.macRandomizationSetting = privacy == PRIVACY_RANDOMIZED_MAC
+ ? WifiConfiguration.RANDOMIZATION_AUTO : WifiConfiguration.RANDOMIZATION_NONE;
+ mWifiManager.save(mTargetWifiConfig, null /* listener */);
}
@Override
- public boolean isAutoJoinEnabled() {
- if (mWifiConfig == null) {
+ public synchronized boolean isAutoJoinEnabled() {
+ if (mTargetWifiConfig == null) {
return false;
}
- return mWifiConfig.allowAutojoin;
+ return mTargetWifiConfig.allowAutojoin;
}
@Override
@@ -612,71 +543,88 @@ public class StandardWifiEntry extends WifiEntry {
}
@Override
- public void setAutoJoinEnabled(boolean enabled) {
- if (!canSetAutoJoinEnabled()) {
+ public synchronized void setAutoJoinEnabled(boolean enabled) {
+ if (mTargetWifiConfig == null || !canSetAutoJoinEnabled()) {
return;
}
- mWifiManager.allowAutojoin(mWifiConfig.networkId, enabled);
+ mWifiManager.allowAutojoin(mTargetWifiConfig.networkId, enabled);
}
@Override
- public String getSecurityString(boolean concise) {
- switch(mSecurity) {
- case SECURITY_EAP:
- switch (mEapType) {
- case EAP_WPA:
- return concise ? mContext.getString(R.string.wifi_security_short_eap_wpa) :
- mContext.getString(R.string.wifi_security_eap_wpa);
- case EAP_WPA2_WPA3:
- return concise
- ? mContext.getString(R.string.wifi_security_short_eap_wpa2_wpa3) :
- mContext.getString(R.string.wifi_security_eap_wpa2_wpa3);
- case EAP_UNKNOWN:
- default:
- return concise ? mContext.getString(R.string.wifi_security_short_eap) :
- mContext.getString(R.string.wifi_security_eap);
- }
- case SECURITY_EAP_SUITE_B:
- return concise ? mContext.getString(R.string.wifi_security_short_eap_suiteb) :
- mContext.getString(R.string.wifi_security_eap_suiteb);
- case SECURITY_PSK:
- switch (mPskType) {
- case PSK_WPA:
- return concise ? mContext.getString(R.string.wifi_security_short_wpa) :
- mContext.getString(R.string.wifi_security_wpa);
- case PSK_WPA2:
- return concise
- ? mContext.getString(R.string.wifi_security_short_wpa2_wpa3) :
- mContext.getString(R.string.wifi_security_wpa2_wpa3);
- case PSK_WPA_WPA2:
- case PSK_UNKNOWN:
- default:
- return concise
- ? mContext.getString(R.string.wifi_security_short_wpa_wpa2_wpa3) :
- mContext.getString(R.string.wifi_security_wpa_wpa2_wpa3);
- }
- case SECURITY_WEP:
- return mContext.getString(R.string.wifi_security_wep);
- case SECURITY_SAE:
- return concise ? mContext.getString(R.string.wifi_security_short_sae) :
- mContext.getString(R.string.wifi_security_sae);
- case SECURITY_OWE:
- return concise ? mContext.getString(R.string.wifi_security_short_owe) :
- mContext.getString(R.string.wifi_security_owe);
- case SECURITY_NONE:
- default:
- return concise ? "" : mContext.getString(R.string.wifi_security_none);
+ public synchronized String getSecurityString(boolean concise) {
+ if (mTargetSecurityTypes.size() == 0) {
+ return concise ? "" : mContext.getString(R.string.wifitrackerlib_wifi_security_none);
}
+ if (mTargetSecurityTypes.size() == 1) {
+ final int security = mTargetSecurityTypes.get(0);
+ switch(security) {
+ case SECURITY_TYPE_EAP:
+ return concise ? mContext.getString(
+ R.string.wifitrackerlib_wifi_security_short_eap_wpa_wpa2) :
+ mContext.getString(
+ R.string.wifitrackerlib_wifi_security_eap_wpa_wpa2);
+ case SECURITY_TYPE_EAP_WPA3_ENTERPRISE:
+ return concise ? mContext.getString(
+ R.string.wifitrackerlib_wifi_security_short_eap_wpa3) :
+ mContext.getString(
+ R.string.wifitrackerlib_wifi_security_eap_wpa3);
+ case SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT:
+ return concise ? mContext.getString(
+ R.string.wifitrackerlib_wifi_security_short_eap_suiteb) :
+ mContext.getString(R.string.wifitrackerlib_wifi_security_eap_suiteb);
+ case SECURITY_TYPE_PSK:
+ return concise ? mContext.getString(
+ R.string.wifitrackerlib_wifi_security_short_wpa_wpa2) :
+ mContext.getString(
+ R.string.wifitrackerlib_wifi_security_wpa_wpa2);
+ case SECURITY_TYPE_WEP:
+ return mContext.getString(R.string.wifitrackerlib_wifi_security_wep);
+ case SECURITY_TYPE_SAE:
+ return concise ? mContext.getString(
+ R.string.wifitrackerlib_wifi_security_short_sae) :
+ mContext.getString(R.string.wifitrackerlib_wifi_security_sae);
+ case SECURITY_TYPE_OWE:
+ return concise ? mContext.getString(
+ R.string.wifitrackerlib_wifi_security_short_owe) :
+ mContext.getString(R.string.wifitrackerlib_wifi_security_owe);
+ case SECURITY_TYPE_OPEN:
+ return concise ? "" : mContext.getString(
+ R.string.wifitrackerlib_wifi_security_none);
+ }
+ }
+ if (mTargetSecurityTypes.size() == 2) {
+ if (mTargetSecurityTypes.contains(SECURITY_TYPE_OPEN)
+ && mTargetSecurityTypes.contains(SECURITY_TYPE_OWE)) {
+ StringJoiner sj = new StringJoiner("/");
+ sj.add(mContext.getString(R.string.wifitrackerlib_wifi_security_none));
+ sj.add(concise ? mContext.getString(
+ R.string.wifitrackerlib_wifi_security_short_owe) :
+ mContext.getString(R.string.wifitrackerlib_wifi_security_owe));
+ return sj.toString();
+ }
+ if (mTargetSecurityTypes.contains(SECURITY_TYPE_PSK)
+ && mTargetSecurityTypes.contains(SECURITY_TYPE_SAE)) {
+ return concise ? mContext.getString(
+ R.string.wifitrackerlib_wifi_security_short_wpa_wpa2_wpa3) :
+ mContext.getString(
+ R.string.wifitrackerlib_wifi_security_wpa_wpa2_wpa3);
+ }
+ if (mTargetSecurityTypes.contains(SECURITY_TYPE_EAP)
+ && mTargetSecurityTypes.contains(SECURITY_TYPE_EAP_WPA3_ENTERPRISE)) {
+ return concise ? mContext.getString(
+ R.string.wifitrackerlib_wifi_security_short_eap_wpa_wpa2_wpa3) :
+ mContext.getString(
+ R.string.wifitrackerlib_wifi_security_eap_wpa_wpa2_wpa3);
+ }
+ }
+ // Unknown security types
+ Log.e(TAG, "Couldn't get string for security types: " + mTargetSecurityTypes);
+ return concise ? "" : mContext.getString(R.string.wifitrackerlib_wifi_security_none);
}
@Override
- public boolean isExpired() {
- return false;
- }
-
- @Override
- public boolean shouldEditBeforeConnect() {
+ public synchronized boolean shouldEditBeforeConnect() {
WifiConfiguration wifiConfig = getWifiConfiguration();
if (wifiConfig == null) {
return false;
@@ -698,44 +646,54 @@ public class StandardWifiEntry extends WifiEntry {
}
@WorkerThread
- void updateScanResultInfo(@Nullable List<ScanResult> scanResults)
+ synchronized void updateScanResultInfo(@Nullable List<ScanResult> scanResults)
throws IllegalArgumentException {
if (scanResults == null) scanResults = new ArrayList<>();
- for (ScanResult result : scanResults) {
- if (!TextUtils.equals(result.SSID, mSsid)) {
+ final String ssid = mKey.getScanResultKey().getSsid();
+ for (ScanResult scan : scanResults) {
+ if (!TextUtils.equals(scan.SSID, ssid)) {
throw new IllegalArgumentException(
"Attempted to update with wrong SSID! Expected: "
- + mSsid + ", Actual: " + result.SSID + ", ScanResult: " + result);
+ + ssid + ", Actual: " + scan.SSID + ", ScanResult: " + scan);
}
}
-
- synchronized (mLock) {
- mCurrentScanResults.clear();
- mCurrentScanResults.addAll(scanResults);
+ // Populate the cached scan result map
+ mMatchingScanResults.clear();
+ final Set<Integer> keySecurityTypes = mKey.getScanResultKey().getSecurityTypes();
+ for (ScanResult scan : scanResults) {
+ for (int security : getSecurityTypesFromScanResult(scan)) {
+ if (!keySecurityTypes.contains(security) || !isSecurityTypeSupported(security)) {
+ continue;
+ }
+ if (!mMatchingScanResults.containsKey(security)) {
+ mMatchingScanResults.put(security, new ArrayList<>());
+ }
+ mMatchingScanResults.get(security).add(scan);
+ }
}
- final ScanResult bestScanResult = getBestScanResultByLevel(scanResults);
- if (bestScanResult != null) {
- updateEapType(bestScanResult);
- updatePskType(bestScanResult);
- }
+ updateSecurityTypes();
+ updateTargetScanResultInfo();
+ notifyOnUpdated();
+ }
+
+ private synchronized void updateTargetScanResultInfo() {
+ // Update the level using the scans matching the target security type
+ final ScanResult bestScanResult = getBestScanResultByLevel(mTargetScanResults);
if (getConnectedState() == CONNECTED_STATE_DISCONNECTED) {
mLevel = bestScanResult != null
? mWifiManager.calculateSignalLevel(bestScanResult.level)
: WIFI_LEVEL_UNREACHABLE;
- synchronized (mLock) {
- // Average speed is used to prevent speed label flickering from multiple APs.
- mSpeed = getAverageSpeedFromScanResults(mScoreCache, mCurrentScanResults);
- }
+ // Average speed is used to prevent speed label flickering from multiple APs.
+ mSpeed = getAverageSpeedFromScanResults(mScoreCache, mTargetScanResults);
}
- notifyOnUpdated();
}
@WorkerThread
@Override
- void updateNetworkCapabilities(@Nullable NetworkCapabilities capabilities) {
+ synchronized void updateNetworkCapabilities(@Nullable NetworkCapabilities capabilities) {
super.updateNetworkCapabilities(capabilities);
// Auto-open an available captive portal if the user manually connected to this network.
@@ -746,77 +704,126 @@ public class StandardWifiEntry extends WifiEntry {
}
@WorkerThread
- void onScoreCacheUpdated() {
+ synchronized void onScoreCacheUpdated() {
if (mWifiInfo != null) {
mSpeed = getSpeedFromWifiInfo(mScoreCache, mWifiInfo);
} else {
- synchronized (mLock) {
- // Average speed is used to prevent speed label flickering from multiple APs.
- mSpeed = getAverageSpeedFromScanResults(mScoreCache, mCurrentScanResults);
- }
+ // Average speed is used to prevent speed label flickering from multiple APs.
+ mSpeed = getAverageSpeedFromScanResults(mScoreCache, mTargetScanResults);
}
notifyOnUpdated();
}
- private void updateEapType(ScanResult result) {
- if (result.capabilities.contains("RSN-EAP")) {
- // WPA2-Enterprise and WPA3-Enterprise (non 192-bit) advertise RSN-EAP-CCMP
- mEapType = EAP_WPA2_WPA3;
- } else if (result.capabilities.contains("WPA-EAP")) {
- // WPA-Enterprise advertises WPA-EAP-TKIP
- mEapType = EAP_WPA;
- } else {
- mEapType = EAP_UNKNOWN;
+ @WorkerThread
+ synchronized void updateConfig(@Nullable List<WifiConfiguration> wifiConfigs)
+ throws IllegalArgumentException {
+ if (wifiConfigs == null) {
+ wifiConfigs = Collections.emptyList();
}
- }
- private void updatePskType(ScanResult result) {
- if (mSecurity != SECURITY_PSK) {
- mPskType = PSK_UNKNOWN;
- return;
+ final ScanResultKey scanResultKey = mKey.getScanResultKey();
+ final String ssid = scanResultKey.getSsid();
+ final Set<Integer> securityTypes = scanResultKey.getSecurityTypes();
+ mMatchingWifiConfigs.clear();
+ for (WifiConfiguration config : wifiConfigs) {
+ if (!TextUtils.equals(ssid, sanitizeSsid(config.SSID))) {
+ throw new IllegalArgumentException(
+ "Attempted to update with wrong SSID!"
+ + " Expected: " + ssid
+ + ", Actual: " + sanitizeSsid(config.SSID)
+ + ", Config: " + config);
+ }
+ for (int securityType : getSecurityTypesFromWifiConfiguration(config)) {
+ if (!securityTypes.contains(securityType)) {
+ throw new IllegalArgumentException(
+ "Attempted to update with wrong security!"
+ + " Expected one of: " + securityTypes
+ + ", Actual: " + securityType
+ + ", Config: " + config);
+ }
+ if (isSecurityTypeSupported(securityType)) {
+ mMatchingWifiConfigs.put(securityType, config);
+ }
+ }
}
+ updateSecurityTypes();
+ updateTargetScanResultInfo();
+ notifyOnUpdated();
+ }
- final boolean wpa = result.capabilities.contains("WPA-PSK");
- final boolean wpa2 = result.capabilities.contains("RSN-PSK");
- if (wpa2 && wpa) {
- mPskType = PSK_WPA_WPA2;
- } else if (wpa2) {
- mPskType = PSK_WPA2;
- } else if (wpa) {
- mPskType = PSK_WPA;
- } else {
- mPskType = PSK_UNKNOWN;
+ private boolean isSecurityTypeSupported(int security) {
+ switch (security) {
+ case SECURITY_TYPE_SAE:
+ return mIsWpa3SaeSupported;
+ case SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT:
+ return mIsWpa3SuiteBSupported;
+ case SECURITY_TYPE_OWE:
+ return mIsEnhancedOpenSupported;
+ default:
+ return true;
}
}
- @WorkerThread
- void updateConfig(@Nullable WifiConfiguration wifiConfig) throws IllegalArgumentException {
- if (wifiConfig != null) {
- if (!TextUtils.equals(mSsid, sanitizeSsid(wifiConfig.SSID))) {
- throw new IllegalArgumentException(
- "Attempted to update with wrong SSID!"
- + " Expected: " + mSsid
- + ", Actual: " + sanitizeSsid(wifiConfig.SSID)
- + ", Config: " + wifiConfig);
+ @Override
+ protected synchronized void updateSecurityTypes() {
+ mTargetSecurityTypes.clear();
+ if (mWifiInfo != null) {
+ final int wifiInfoSecurity = mWifiInfo.getCurrentSecurityType();
+ if (wifiInfoSecurity != SECURITY_TYPE_UNKNOWN) {
+ mTargetSecurityTypes.add(mWifiInfo.getCurrentSecurityType());
}
- if (mSecurity != getSecurityTypeFromWifiConfiguration(wifiConfig)) {
- throw new IllegalArgumentException(
- "Attempted to update with wrong security!"
- + " Expected: " + mSecurity
- + ", Actual: " + getSecurityTypeFromWifiConfiguration(wifiConfig)
- + ", Config: " + wifiConfig);
+ }
+
+ Set<Integer> configSecurityTypes = mMatchingWifiConfigs.keySet();
+ if (mTargetSecurityTypes.isEmpty() && mKey.isTargetingNewNetworks()) {
+ // If we are targeting new networks for configuration, then we should select the
+ // security type of all visible scan results if we don't have any configs that
+ // can connect to them. This will let us configure this entry as a new network.
+ boolean configMatchesScans = false;
+ Set<Integer> scanSecurityTypes = mMatchingScanResults.keySet();
+ for (int configSecurity : configSecurityTypes) {
+ if (scanSecurityTypes.contains(configSecurity)) {
+ configMatchesScans = true;
+ break;
+ }
+ }
+ if (!configMatchesScans) {
+ mTargetSecurityTypes.addAll(scanSecurityTypes);
}
}
- mWifiConfig = wifiConfig;
- notifyOnUpdated();
+ // Use security types of any configs we have
+ if (mTargetSecurityTypes.isEmpty()) {
+ mTargetSecurityTypes.addAll(configSecurityTypes);
+ }
+
+ // Default to the key security types. This shouldn't happen since we should always have
+ // scans or configs.
+ if (mTargetSecurityTypes.isEmpty()) {
+ mTargetSecurityTypes.addAll(mKey.getScanResultKey().getSecurityTypes());
+ }
+
+ // The target wifi config should match the security type we return in getSecurity(), since
+ // clients (QR code/DPP, modify network page) may expect them to match.
+ mTargetWifiConfig = mMatchingWifiConfigs.get(
+ getSingleSecurityTypeFromMultipleSecurityTypes(mTargetSecurityTypes));
+ // Collect target scan results in a set to remove duplicates when one scan matches multiple
+ // security types.
+ Set<ScanResult> targetScanResultSet = new ArraySet<>();
+ for (int security : mTargetSecurityTypes) {
+ if (mMatchingScanResults.containsKey(security)) {
+ targetScanResultSet.addAll(mMatchingScanResults.get(security));
+ }
+ }
+ mTargetScanResults.clear();
+ mTargetScanResults.addAll(targetScanResultSet);
}
/**
* Sets whether the suggested config for this entry is shareable to the user or not.
*/
@WorkerThread
- void setUserShareable(boolean isUserShareable) {
+ synchronized void setUserShareable(boolean isUserShareable) {
mIsUserShareable = isUserShareable;
}
@@ -824,26 +831,25 @@ public class StandardWifiEntry extends WifiEntry {
* Returns whether the suggested config for this entry is shareable to the user or not.
*/
@WorkerThread
- boolean isUserShareable() {
+ synchronized boolean isUserShareable() {
return mIsUserShareable;
}
@WorkerThread
- protected boolean connectionInfoMatches(@NonNull WifiInfo wifiInfo,
+ protected synchronized boolean connectionInfoMatches(@NonNull WifiInfo wifiInfo,
@NonNull NetworkInfo networkInfo) {
if (wifiInfo.isPasspointAp() || wifiInfo.isOsuAp()) {
return false;
}
-
- if (mWifiConfig != null) {
- if (mWifiConfig.networkId == wifiInfo.getNetworkId()) {
+ for (WifiConfiguration config : mMatchingWifiConfigs.values()) {
+ if (config.networkId == wifiInfo.getNetworkId()) {
return true;
}
}
return false;
}
- private void updateRecommendationServiceLabel() {
+ private synchronized void updateRecommendationServiceLabel() {
final NetworkScorerAppData scorer = ((NetworkScoreManager) mContext
.getSystemService(Context.NETWORK_SCORE_SERVICE)).getActiveScorer();
if (scorer != null) {
@@ -852,45 +858,42 @@ public class StandardWifiEntry extends WifiEntry {
}
@NonNull
- static String ssidAndSecurityToStandardWifiEntryKey(@NonNull String ssid,
- @Security int security) {
- return KEY_PREFIX + ssid + "," + security;
+ static StandardWifiEntryKey ssidAndSecurityTypeToStandardWifiEntryKey(
+ @NonNull String ssid, int security) {
+ return ssidAndSecurityTypeToStandardWifiEntryKey(
+ ssid, security, false /* isTargetingNewNetworks */);
}
@NonNull
- static String wifiConfigToStandardWifiEntryKey(@NonNull WifiConfiguration config) {
- checkNotNull(config, "Cannot create key with null config!");
- checkNotNull(config.SSID, "Cannot create key with null SSID in config!");
- return KEY_PREFIX + sanitizeSsid(config.SSID) + ","
- + getSecurityTypeFromWifiConfiguration(config);
+ static StandardWifiEntryKey ssidAndSecurityTypeToStandardWifiEntryKey(
+ @NonNull String ssid, int security, boolean isTargetingNewNetworks) {
+ return new StandardWifiEntryKey(
+ new ScanResultKey(ssid, Collections.singletonList(security)),
+ isTargetingNewNetworks);
}
@Override
- String getScanResultDescription() {
- synchronized (mLock) {
- if (mCurrentScanResults.size() == 0) {
- return "";
- }
+ protected synchronized String getScanResultDescription() {
+ if (mTargetScanResults.size() == 0) {
+ return "";
}
final StringBuilder description = new StringBuilder();
description.append("[");
description.append(getScanResultDescription(MIN_FREQ_24GHZ, MAX_FREQ_24GHZ)).append(";");
description.append(getScanResultDescription(MIN_FREQ_5GHZ, MAX_FREQ_5GHZ)).append(";");
- description.append(getScanResultDescription(MIN_FREQ_6GHZ, MAX_FREQ_6GHZ));
+ description.append(getScanResultDescription(MIN_FREQ_6GHZ, MAX_FREQ_6GHZ)).append(";");
+ description.append(getScanResultDescription(MIN_FREQ_60GHZ, MAX_FREQ_60GHZ));
description.append("]");
return description.toString();
}
- private String getScanResultDescription(int minFrequency, int maxFrequency) {
- final List<ScanResult> scanResults;
- synchronized (mLock) {
- scanResults = mCurrentScanResults.stream()
- .filter(scanResult -> scanResult.frequency >= minFrequency
- && scanResult.frequency <= maxFrequency)
- .sorted(Comparator.comparingInt(scanResult -> -1 * scanResult.level))
- .collect(Collectors.toList());
- }
+ private synchronized String getScanResultDescription(int minFrequency, int maxFrequency) {
+ final List<ScanResult> scanResults = mTargetScanResults.stream()
+ .filter(scanResult -> scanResult.frequency >= minFrequency
+ && scanResult.frequency <= maxFrequency)
+ .sorted(Comparator.comparingInt(scanResult -> -1 * scanResult.level))
+ .collect(Collectors.toList());
final int scanResultCount = scanResults.size();
if (scanResultCount == 0) {
@@ -910,7 +913,7 @@ public class StandardWifiEntry extends WifiEntry {
return description.toString();
}
- private String getScanResultDescription(ScanResult scanResult, long nowMs) {
+ private synchronized String getScanResultDescription(ScanResult scanResult, long nowMs) {
final StringBuilder description = new StringBuilder();
description.append(" \n{");
description.append(scanResult.BSSID);
@@ -929,4 +932,276 @@ public class StandardWifiEntry extends WifiEntry {
String getNetworkSelectionDescription() {
return Utils.getNetworkSelectionDescription(getWifiConfiguration());
}
+
+ /**
+ * Class that identifies a unique StandardWifiEntry by the following identifiers
+ * 1) ScanResult key (SSID + grouped security types)
+ * 2) Suggestion profile key
+ * 3) Is network request or not
+ * 4) Should prioritize configuring a new network (i.e. target the security type of an
+ * in-range unsaved network, rather than a config that has no scans)
+ */
+ static class StandardWifiEntryKey {
+ private static final String KEY_SCAN_RESULT_KEY = "SCAN_RESULT_KEY";
+ private static final String KEY_SUGGESTION_PROFILE_KEY = "SUGGESTION_PROFILE_KEY";
+ private static final String KEY_IS_NETWORK_REQUEST = "IS_NETWORK_REQUEST";
+ private static final String KEY_IS_TARGETING_NEW_NETWORKS = "IS_TARGETING_NEW_NETWORKS";
+
+ @NonNull private ScanResultKey mScanResultKey;
+ @Nullable private String mSuggestionProfileKey;
+ private boolean mIsNetworkRequest;
+ private boolean mIsTargetingNewNetworks = false;
+
+ /**
+ * Creates a StandardWifiEntryKey matching a ScanResultKey
+ */
+ StandardWifiEntryKey(@NonNull ScanResultKey scanResultKey) {
+ this(scanResultKey, false /* isTargetingNewNetworks */);
+ }
+
+ /**
+ * Creates a StandardWifiEntryKey matching a ScanResultKey and sets whether the entry
+ * should target new networks or not.
+ */
+ StandardWifiEntryKey(@NonNull ScanResultKey scanResultKey, boolean isTargetingNewNetworks) {
+ mScanResultKey = scanResultKey;
+ mIsTargetingNewNetworks = isTargetingNewNetworks;
+ }
+
+ /**
+ * Creates a StandardWifiEntryKey matching a WifiConfiguration
+ */
+ StandardWifiEntryKey(@NonNull WifiConfiguration config) {
+ this(config, false /* isTargetingNewNetworks */);
+ }
+
+ /**
+ * Creates a StandardWifiEntryKey matching a WifiConfiguration and sets whether the entry
+ * should target new networks or not.
+ */
+ StandardWifiEntryKey(@NonNull WifiConfiguration config, boolean isTargetingNewNetworks) {
+ mScanResultKey = new ScanResultKey(config);
+ if (config.fromWifiNetworkSuggestion) {
+ mSuggestionProfileKey = new StringJoiner(",")
+ .add(config.creatorName)
+ .add(String.valueOf(config.carrierId))
+ .add(String.valueOf(config.subscriptionId))
+ .toString();
+ } else if (config.fromWifiNetworkSpecifier) {
+ mIsNetworkRequest = true;
+ }
+ mIsTargetingNewNetworks = isTargetingNewNetworks;
+ }
+
+ /**
+ * Creates a StandardWifiEntryKey from its String representation.
+ */
+ StandardWifiEntryKey(@NonNull String string) {
+ mScanResultKey = new ScanResultKey();
+ if (!string.startsWith(KEY_PREFIX)) {
+ Log.e(TAG, "String key does not start with key prefix!");
+ return;
+ }
+ try {
+ final JSONObject keyJson = new JSONObject(string.substring(KEY_PREFIX.length()));
+ if (keyJson.has(KEY_SCAN_RESULT_KEY)) {
+ mScanResultKey = new ScanResultKey(keyJson.getString(KEY_SCAN_RESULT_KEY));
+ }
+ if (keyJson.has(KEY_SUGGESTION_PROFILE_KEY)) {
+ mSuggestionProfileKey = keyJson.getString(KEY_SUGGESTION_PROFILE_KEY);
+ }
+ if (keyJson.has(KEY_IS_NETWORK_REQUEST)) {
+ mIsNetworkRequest = keyJson.getBoolean(KEY_IS_NETWORK_REQUEST);
+ }
+ if (keyJson.has(KEY_IS_TARGETING_NEW_NETWORKS)) {
+ mIsTargetingNewNetworks = keyJson.getBoolean(
+ KEY_IS_TARGETING_NEW_NETWORKS);
+ }
+ } catch (JSONException e) {
+ Log.e(TAG, "JSONException while converting StandardWifiEntryKey to string: " + e);
+ }
+ }
+
+ /**
+ * Returns the JSON String representation of this StandardWifiEntryKey.
+ */
+ @Override
+ public String toString() {
+ final JSONObject keyJson = new JSONObject();
+ try {
+ if (mScanResultKey != null) {
+ keyJson.put(KEY_SCAN_RESULT_KEY, mScanResultKey.toString());
+ }
+ if (mSuggestionProfileKey != null) {
+ keyJson.put(KEY_SUGGESTION_PROFILE_KEY, mSuggestionProfileKey);
+ }
+ if (mIsNetworkRequest) {
+ keyJson.put(KEY_IS_NETWORK_REQUEST, mIsNetworkRequest);
+ }
+ if (mIsTargetingNewNetworks) {
+ keyJson.put(KEY_IS_TARGETING_NEW_NETWORKS, mIsTargetingNewNetworks);
+ }
+ } catch (JSONException e) {
+ Log.wtf(TAG, "JSONException while converting StandardWifiEntryKey to string: " + e);
+ }
+ return KEY_PREFIX + keyJson.toString();
+ }
+
+ /**
+ * Returns the ScanResultKey of this StandardWifiEntryKey to match against ScanResults
+ */
+ @NonNull ScanResultKey getScanResultKey() {
+ return mScanResultKey;
+ }
+
+ @Nullable String getSuggestionProfileKey() {
+ return mSuggestionProfileKey;
+ }
+
+ boolean isNetworkRequest() {
+ return mIsNetworkRequest;
+ }
+
+ boolean isTargetingNewNetworks() {
+ return mIsTargetingNewNetworks;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ StandardWifiEntryKey that = (StandardWifiEntryKey) o;
+ return Objects.equals(mScanResultKey, that.mScanResultKey)
+ && TextUtils.equals(mSuggestionProfileKey, that.mSuggestionProfileKey)
+ && mIsNetworkRequest == that.mIsNetworkRequest;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(mScanResultKey, mSuggestionProfileKey, mIsNetworkRequest);
+ }
+ }
+
+ /**
+ * Class for matching ScanResults to StandardWifiEntry by SSID and security type grouping.
+ */
+ static class ScanResultKey {
+ private static final String KEY_SSID = "SSID";
+ private static final String KEY_SECURITY_TYPES = "SECURITY_TYPES";
+
+ @Nullable private String mSsid;
+ @NonNull private Set<Integer> mSecurityTypes = new ArraySet<>();
+
+ ScanResultKey() {
+ }
+
+ ScanResultKey(@Nullable String ssid, List<Integer> securityTypes) {
+ mSsid = ssid;
+ for (int security : securityTypes) {
+ mSecurityTypes.add(security);
+ // Add any security types that merge to the same WifiEntry
+ switch (security) {
+ // Group OPEN and OWE networks together
+ case SECURITY_TYPE_OPEN:
+ mSecurityTypes.add(SECURITY_TYPE_OWE);
+ break;
+ case SECURITY_TYPE_OWE:
+ mSecurityTypes.add(SECURITY_TYPE_OPEN);
+ break;
+ // Group PSK and SAE networks together
+ case SECURITY_TYPE_PSK:
+ mSecurityTypes.add(SECURITY_TYPE_SAE);
+ break;
+ case SECURITY_TYPE_SAE:
+ mSecurityTypes.add(SECURITY_TYPE_PSK);
+ break;
+ // Group EAP and EAP_WPA3_ENTERPRISE networks together
+ case SECURITY_TYPE_EAP:
+ mSecurityTypes.add(SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
+ break;
+ case SECURITY_TYPE_EAP_WPA3_ENTERPRISE:
+ mSecurityTypes.add(SECURITY_TYPE_EAP);
+ break;
+ }
+ }
+ }
+
+ /**
+ * Creates a ScanResultKey from a ScanResult's SSID and security type grouping.
+ * @param scanResult
+ */
+ ScanResultKey(@NonNull ScanResult scanResult) {
+ this(scanResult.SSID, getSecurityTypesFromScanResult(scanResult));
+ }
+
+ /**
+ * Creates a ScanResultKey from a WifiConfiguration's SSID and security type grouping.
+ */
+ ScanResultKey(@NonNull WifiConfiguration wifiConfiguration) {
+ this(sanitizeSsid(wifiConfiguration.SSID),
+ getSecurityTypesFromWifiConfiguration(wifiConfiguration));
+ }
+
+ /**
+ * Creates a ScanResultKey from its String representation.
+ */
+ ScanResultKey(@NonNull String string) {
+ try {
+ final JSONObject keyJson = new JSONObject(string);
+ mSsid = keyJson.getString(KEY_SSID);
+ final JSONArray securityTypesJson =
+ keyJson.getJSONArray(KEY_SECURITY_TYPES);
+ for (int i = 0; i < securityTypesJson.length(); i++) {
+ mSecurityTypes.add(securityTypesJson.getInt(i));
+ }
+ } catch (JSONException e) {
+ Log.wtf(TAG, "JSONException while constructing ScanResultKey from string: " + e);
+ }
+ }
+
+ /**
+ * Returns the JSON String representation of this ScanResultEntry.
+ */
+ @Override
+ public String toString() {
+ final JSONObject keyJson = new JSONObject();
+ try {
+ if (mSsid != null) {
+ keyJson.put(KEY_SSID, mSsid);
+ }
+ if (!mSecurityTypes.isEmpty()) {
+ final JSONArray securityTypesJson = new JSONArray();
+ for (int security : mSecurityTypes) {
+ securityTypesJson.put(security);
+ }
+ keyJson.put(KEY_SECURITY_TYPES, securityTypesJson);
+ }
+ } catch (JSONException e) {
+ Log.e(TAG, "JSONException while converting ScanResultKey to string: " + e);
+ }
+ return keyJson.toString();
+ }
+
+ @Nullable String getSsid() {
+ return mSsid;
+ }
+
+ @NonNull Set<Integer> getSecurityTypes() {
+ return mSecurityTypes;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ScanResultKey that = (ScanResultKey) o;
+ return TextUtils.equals(mSsid, that.mSsid)
+ && mSecurityTypes.equals(that.mSecurityTypes);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(mSsid, mSecurityTypes);
+ }
+ }
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
index 90d62f280..9c4f376ac 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java
@@ -19,14 +19,6 @@ package com.android.wifitrackerlib;
import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_ENABLED;
import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_PERMANENTLY_DISABLED;
-import static com.android.wifitrackerlib.StandardWifiEntry.ssidAndSecurityToStandardWifiEntryKey;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_EAP;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_EAP_SUITE_B;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_NONE;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_OWE;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_PSK;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_SAE;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_WEP;
import static com.android.wifitrackerlib.WifiEntry.SPEED_FAST;
import static com.android.wifitrackerlib.WifiEntry.SPEED_MODERATE;
import static com.android.wifitrackerlib.WifiEntry.SPEED_NONE;
@@ -35,7 +27,6 @@ import static com.android.wifitrackerlib.WifiEntry.SPEED_VERY_FAST;
import static com.android.wifitrackerlib.WifiEntry.Speed;
import static java.util.Comparator.comparingInt;
-import static java.util.stream.Collectors.groupingBy;
import android.content.Context;
import android.content.pm.ApplicationInfo;
@@ -46,13 +37,13 @@ import android.net.NetworkInfo.DetailedState;
import android.net.NetworkKey;
import android.net.NetworkScoreManager;
import android.net.ScoredNetwork;
+import android.net.WifiKey;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiConfiguration.NetworkSelectionStatus;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiNetworkScoreCache;
import android.os.PersistableBundle;
-import android.os.UserHandle;
import android.provider.Settings;
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionInfo;
@@ -64,24 +55,37 @@ import android.text.SpannableStringBuilder;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.text.style.ClickableSpan;
+import android.util.FeatureFlagUtils;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import com.android.internal.annotations.VisibleForTesting;
import com.android.settingslib.HelpUtils;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.StringJoiner;
/**
* Utility methods for WifiTrackerLib.
*/
-class Utils {
+public class Utils {
+ /** Copy of the @hide Settings.Global.USE_OPEN_WIFI_PACKAGE constant. */
+ static final String SETTINGS_GLOBAL_USE_OPEN_WIFI_PACKAGE = "use_open_wifi_package";
+
+ @VisibleForTesting
+ static FeatureFlagUtilsWrapper sFeatureFlagUtilsWrapper = new FeatureFlagUtilsWrapper();
+
+ static class FeatureFlagUtilsWrapper {
+ boolean isProviderModelEnabled(Context context) {
+ return FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL);
+ }
+ }
+
private static NetworkScoreManager sNetworkScoreManager;
private static String getActiveScorerPackage(@NonNull Context context) {
@@ -93,234 +97,148 @@ class Utils {
// Returns the ScanResult with the best RSSI from a list of ScanResults.
@Nullable
- static ScanResult getBestScanResultByLevel(@NonNull List<ScanResult> scanResults) {
+ public static ScanResult getBestScanResultByLevel(@NonNull List<ScanResult> scanResults) {
if (scanResults.isEmpty()) return null;
return Collections.max(scanResults, comparingInt(scanResult -> scanResult.level));
}
- // Returns a list of SECURITY types supported by a ScanResult.
- static List<Integer> getSecurityTypesFromScanResult(@NonNull ScanResult scan) {
- final List<Integer> securityTypes = new ArrayList<>();
- if (scan.capabilities == null) {
- securityTypes.add(SECURITY_NONE);
- } else if (scan.capabilities.contains("PSK") && scan.capabilities.contains("SAE")) {
- securityTypes.add(SECURITY_PSK);
- securityTypes.add(SECURITY_SAE);
- } else if (scan.capabilities.contains("OWE_TRANSITION")) {
- securityTypes.add(SECURITY_NONE);
- securityTypes.add(SECURITY_OWE);
- } else if (scan.capabilities.contains("OWE")) {
- securityTypes.add(SECURITY_OWE);
- } else if (scan.capabilities.contains("WEP")) {
- securityTypes.add(SECURITY_WEP);
- } else if (scan.capabilities.contains("SAE")) {
- securityTypes.add(SECURITY_SAE);
- } else if (scan.capabilities.contains("PSK")) {
- securityTypes.add(SECURITY_PSK);
- } else if (scan.capabilities.contains("EAP_SUITE_B_192")) {
- securityTypes.add(SECURITY_EAP_SUITE_B);
- } else if (scan.capabilities.contains("EAP")) {
- securityTypes.add(SECURITY_EAP);
- } else {
- securityTypes.add(SECURITY_NONE);
+ // Returns a list of WifiInfo SECURITY_TYPE_* supported by a ScanResult.
+ // TODO(b/187755981): Move to shared static utils class
+ @NonNull
+ static List<Integer> getSecurityTypesFromScanResult(@NonNull ScanResult scanResult) {
+ List<Integer> securityTypes = new ArrayList<>();
+
+ // Open network & its upgradable types
+ if (isScanResultForOweTransitionNetwork(scanResult)) {
+ securityTypes.add(WifiInfo.SECURITY_TYPE_OPEN);
+ securityTypes.add(WifiInfo.SECURITY_TYPE_OWE);
+ return securityTypes;
+ } else if (isScanResultForOweNetwork(scanResult)) {
+ securityTypes.add(WifiInfo.SECURITY_TYPE_OWE);
+ return securityTypes;
+ } else if (isScanResultForOpenNetwork(scanResult)) {
+ securityTypes.add(WifiInfo.SECURITY_TYPE_OPEN);
+ return securityTypes;
+ }
+
+ // WEP network which has no upgradable type
+ if (isScanResultForWepNetwork(scanResult)) {
+ securityTypes.add(WifiInfo.SECURITY_TYPE_WEP);
+ return securityTypes;
+ }
+
+ // WAPI PSK network which has no upgradable type
+ if (isScanResultForWapiPskNetwork(scanResult)) {
+ securityTypes.add(WifiInfo.SECURITY_TYPE_WAPI_PSK);
+ return securityTypes;
+ }
+
+ // WAPI CERT network which has no upgradable type
+ if (isScanResultForWapiCertNetwork(scanResult)) {
+ securityTypes.add(
+ WifiInfo.SECURITY_TYPE_WAPI_CERT);
+ return securityTypes;
+ }
+
+ // WPA2 personal network & its upgradable types
+ if (isScanResultForPskNetwork(scanResult)
+ && isScanResultForSaeNetwork(scanResult)) {
+ securityTypes.add(WifiInfo.SECURITY_TYPE_PSK);
+ securityTypes.add(WifiInfo.SECURITY_TYPE_SAE);
+ return securityTypes;
+ } else if (isScanResultForPskNetwork(scanResult)) {
+ securityTypes.add(WifiInfo.SECURITY_TYPE_PSK);
+ return securityTypes;
+ } else if (isScanResultForSaeNetwork(scanResult)) {
+ securityTypes.add(WifiInfo.SECURITY_TYPE_SAE);
+ return securityTypes;
+ }
+
+ // WPA3 Enterprise 192-bit mode, WPA2/WPA3 enterprise network & its upgradable types
+ if (isScanResultForEapSuiteBNetwork(scanResult)) {
+ securityTypes.add(WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT);
+ } else if (isScanResultForWpa3EnterpriseTransitionNetwork(scanResult)) {
+ securityTypes.add(WifiInfo.SECURITY_TYPE_EAP);
+ securityTypes.add(WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
+ } else if (isScanResultForWpa3EnterpriseOnlyNetwork(scanResult)) {
+ securityTypes.add(WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
+ } else if (isScanResultForEapNetwork(scanResult)) {
+ securityTypes.add(WifiInfo.SECURITY_TYPE_EAP);
}
return securityTypes;
}
- // Returns the SECURITY type supported by a WifiConfiguration
- @WifiEntry.Security
- static int getSecurityTypeFromWifiConfiguration(@NonNull WifiConfiguration config) {
- if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.SAE)) {
- return SECURITY_SAE;
- }
- if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.WPA_PSK)) {
- return SECURITY_PSK;
- }
- if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.SUITE_B_192)) {
- return SECURITY_EAP_SUITE_B;
- }
- if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.WPA_EAP)
- || config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.IEEE8021X)) {
- return SECURITY_EAP;
- }
- if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.OWE)) {
- return SECURITY_OWE;
+ // Returns a list of WifiInfo SECURITY_TYPE_* supported by a WifiConfiguration
+ // TODO(b/187755473): Use new public APIs to get the security type instead of relying on the
+ // legacy allowedKeyManagement bitset.
+ static List<Integer> getSecurityTypesFromWifiConfiguration(@NonNull WifiConfiguration config) {
+ if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.WAPI_CERT)) {
+ return Arrays.asList(WifiInfo.SECURITY_TYPE_WAPI_CERT);
+ } else if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.WAPI_PSK)) {
+ return Arrays.asList(WifiInfo.SECURITY_TYPE_WAPI_PSK);
+ } else if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.SUITE_B_192)) {
+ return Arrays.asList(WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT);
+ } else if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.OWE)) {
+ return Arrays.asList(WifiInfo.SECURITY_TYPE_OWE);
+ } else if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.SAE)) {
+ return Arrays.asList(WifiInfo.SECURITY_TYPE_SAE);
+ } else if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.WPA2_PSK)) {
+ return Arrays.asList(WifiInfo.SECURITY_TYPE_PSK);
+ } else if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.WPA_EAP)) {
+ if (config.requirePmf
+ && !config.allowedPairwiseCiphers.get(WifiConfiguration.PairwiseCipher.TKIP)
+ && config.allowedProtocols.get(WifiConfiguration.Protocol.RSN)) {
+ return Arrays.asList(WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
+ } else {
+ // WPA2 configs should also be valid for WPA3-Enterprise APs
+ return Arrays.asList(
+ WifiInfo.SECURITY_TYPE_EAP, WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
+ }
+ } else if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.WPA_PSK)) {
+ return Arrays.asList(WifiInfo.SECURITY_TYPE_PSK);
+ } else if (config.allowedKeyManagement.get(WifiConfiguration.KeyMgmt.NONE)) {
+ if (config.wepKeys != null) {
+ for (int i = 0; i < config.wepKeys.length; i++) {
+ if (config.wepKeys[i] != null) {
+ return Arrays.asList(WifiInfo.SECURITY_TYPE_WEP);
+ }
+ }
+ }
}
- return (config.wepKeys[0] != null) ? SECURITY_WEP : SECURITY_NONE;
+ return Arrays.asList(WifiInfo.SECURITY_TYPE_OPEN);
}
/**
- * Maps ScanResults into any number of WifiEntry keys each ScanResult matches. If
- * chooseSingleSecurity is true, then ScanResults with multiple security capabilities will be
- * matched to a single security type for the purpose of user selection.
+ * Returns a single WifiInfo security type from the list of multiple WifiInfo security
+ * types supported by an entry.
*
- * @param scanResults ScanResults to be mapped.
- * @param chooseSingleSecurity If this is true, map scan results with multiple security
- * capabilities to a single security for coalescing into a single
- * WifiEntry.
- * @param wifiConfigsByKey Mapping of WifiConfiguration to WifiEntry key. Only used if
- * chooseSingleSecurity is true.
- * @param isWpa3SaeSupported If this is false, do not map to SECURITY_SAE
- * @param isWpa3SuiteBSupported If this is false, do not map to SECURITY_EAP_SUITE_B
- * @param isEnhancedOpenSupported If this is false, do not map to SECURITY_OWE
- * @return Map of WifiEntry key to list of corresponding ScanResults.
+ * Single security types will have a 1-to-1 mapping.
+ * Multiple security type networks will collapse to the lowest security type in the group:
+ * - Open/OWE -> Open
+ * - PSK/SAE -> PSK
+ * - EAP/EAP-WPA3 -> EAP
*/
- static Map<String, List<ScanResult>> mapScanResultsToKey(
- @NonNull List<ScanResult> scanResults,
- boolean chooseSingleSecurity,
- @Nullable Map<String, WifiConfiguration> wifiConfigsByKey,
- boolean isWpa3SaeSupported,
- boolean isWpa3SuiteBSupported,
- boolean isEnhancedOpenSupported) {
- if (wifiConfigsByKey == null) {
- wifiConfigsByKey = new HashMap<>();
- }
- final Map<String, List<ScanResult>> scanResultsBySsid = scanResults.stream()
- .filter(scanResult -> !TextUtils.isEmpty(scanResult.SSID))
- .collect(groupingBy(scanResult -> scanResult.SSID));
- final Map<String, List<ScanResult>> scanResultsByKey = new HashMap<>();
-
- for (String ssid : scanResultsBySsid.keySet()) {
- final boolean pskConfigExists = wifiConfigsByKey.containsKey(
- ssidAndSecurityToStandardWifiEntryKey(ssid, SECURITY_PSK));
- final boolean saeConfigExists = wifiConfigsByKey.containsKey(
- ssidAndSecurityToStandardWifiEntryKey(ssid, SECURITY_SAE));
- final boolean openConfigExists = wifiConfigsByKey.containsKey(
- ssidAndSecurityToStandardWifiEntryKey(ssid, SECURITY_NONE));
- final boolean oweConfigExists = wifiConfigsByKey.containsKey(
- ssidAndSecurityToStandardWifiEntryKey(ssid, SECURITY_OWE));
-
- boolean pskInRange = false;
- boolean saeInRange = false;
- boolean oweInRange = false;
- boolean openInRange = false;
- for (ScanResult scan : scanResultsBySsid.get(ssid)) {
- final List<Integer> securityTypes = getSecurityTypesFromScanResult(scan);
- if (securityTypes.contains(SECURITY_PSK)) {
- pskInRange = true;
- }
- if (securityTypes.contains(SECURITY_SAE)) {
- saeInRange = true;
- }
- if (securityTypes.contains(SECURITY_OWE)) {
- oweInRange = true;
- }
- if (securityTypes.contains(SECURITY_NONE)) {
- openInRange = true;
- }
+ static int getSingleSecurityTypeFromMultipleSecurityTypes(
+ @NonNull List<Integer> securityTypes) {
+ if (securityTypes.size() == 1) {
+ return securityTypes.get(0);
+ } else if (securityTypes.size() == 2) {
+ if (securityTypes.contains(WifiInfo.SECURITY_TYPE_OPEN)) {
+ return WifiInfo.SECURITY_TYPE_OPEN;
}
-
- for (ScanResult scan : scanResultsBySsid.get(ssid)) {
- List<Integer> securityTypes = getSecurityTypesFromScanResult(scan);
- List<Integer> chosenSecurityTypes = new ArrayList<>();
- // Ignore security types that are unsupported
- if (!isWpa3SaeSupported) {
- securityTypes.remove((Integer) SECURITY_SAE);
- }
- if (!isWpa3SuiteBSupported) {
- securityTypes.remove((Integer) SECURITY_EAP_SUITE_B);
- }
- if (!isEnhancedOpenSupported) {
- securityTypes.remove((Integer) SECURITY_OWE);
- }
-
- final boolean isSae = securityTypes.contains(SECURITY_SAE)
- && !securityTypes.contains(SECURITY_PSK);
- final boolean isPsk = securityTypes.contains(SECURITY_PSK)
- && !securityTypes.contains(SECURITY_SAE);
- final boolean isPskSaeTransition = securityTypes.contains(SECURITY_PSK)
- && securityTypes.contains(SECURITY_SAE);
- final boolean isOwe = securityTypes.contains(SECURITY_OWE)
- && !securityTypes.contains(SECURITY_NONE);
- final boolean isOweTransition = securityTypes.contains(SECURITY_NONE)
- && securityTypes.contains(SECURITY_OWE);
- final boolean isOpen = securityTypes.contains(SECURITY_NONE)
- && !securityTypes.contains(SECURITY_OWE);
-
- if (chooseSingleSecurity) {
- if (isPsk) {
- if (!pskConfigExists && saeConfigExists && saeInRange) {
- // If we don't have a PSK config, but there is an SAE AP in-range and
- // an SAE config we can use for connection, then ignore the PSK AP so
- // that the user only has the SAE AP to select.
- continue;
- } else {
- chosenSecurityTypes.add(SECURITY_PSK);
- }
- } else if (isPskSaeTransition) {
- // Map to SAE if we have an SAE config and no PSK config (use SAE config to
- // connect). Else, map to PSK for wider compatibility.
- if (!pskConfigExists && saeConfigExists) {
- chosenSecurityTypes.add(SECURITY_SAE);
- } else {
- chosenSecurityTypes.add(SECURITY_PSK);
- }
- } else if (isSae) {
- // Map to SAE if we either
- // 1) have an SAE config and no PSK config (use SAE config to connect).
- // 2) have no configs at all, and no PSK APs are in range. (save new
- // network with SAE security).
- // Else, map to PSK for wider compatibility.
- if (!pskConfigExists && (saeConfigExists || !pskInRange)) {
- chosenSecurityTypes.add(SECURITY_SAE);
- } else {
- chosenSecurityTypes.add(SECURITY_PSK);
- }
- } else if (isOwe) {
- // If an open AP is in range, use it instead if we have a config for it and
- // no OWE config.
- if (openInRange && openConfigExists && !oweConfigExists) {
- continue;
- } else {
- chosenSecurityTypes.add(SECURITY_OWE);
- }
- } else if (isOweTransition) {
- // Map to OWE if we either
- // 1) have an OWE config (use OWE config to connect).
- // 2) have no configs at all (save new network with OWE security).
- // Otherwise, if we have an open config only, map to open security so that
- // config is used for connection.
- if (oweConfigExists || !openConfigExists) {
- chosenSecurityTypes.add(SECURITY_OWE);
- } else {
- chosenSecurityTypes.add(SECURITY_NONE);
- }
- } else if (isOpen) {
- // If an OWE AP is in-range, then use it instead if we have a config for it
- // or no configs at all.
- if (oweInRange && (oweConfigExists || !openConfigExists)) {
- continue;
- } else {
- chosenSecurityTypes.add(SECURITY_NONE);
- }
- } else {
- chosenSecurityTypes.addAll(securityTypes);
- }
- } else {
- chosenSecurityTypes.addAll(securityTypes);
- if (isSae) {
- // If we don't need to choose a single security type for the user to select,
- // then SAE scans can also match to PSK configs, which will be dynamically
- // upgraded to SAE by the framework at connection time.
- chosenSecurityTypes.add(SECURITY_PSK);
- }
- }
-
- for (int security : chosenSecurityTypes) {
- final String key = ssidAndSecurityToStandardWifiEntryKey(ssid, security);
- if (!scanResultsByKey.containsKey(key)) {
- scanResultsByKey.put(key, new ArrayList<>());
- }
- scanResultsByKey.get(key).add(scan);
- }
+ if (securityTypes.contains(WifiInfo.SECURITY_TYPE_PSK)) {
+ return WifiInfo.SECURITY_TYPE_PSK;
+ }
+ if (securityTypes.contains(WifiInfo.SECURITY_TYPE_EAP)) {
+ return WifiInfo.SECURITY_TYPE_EAP;
}
}
- return scanResultsByKey;
+ return WifiInfo.SECURITY_TYPE_UNKNOWN;
}
@Speed
- static int getAverageSpeedFromScanResults(@NonNull WifiNetworkScoreCache scoreCache,
+ public static int getAverageSpeedFromScanResults(@NonNull WifiNetworkScoreCache scoreCache,
@NonNull List<ScanResult> scanResults) {
int count = 0;
int totalSpeed = 0;
@@ -343,10 +261,16 @@ class Utils {
}
@Speed
- static int getSpeedFromWifiInfo(@NonNull WifiNetworkScoreCache scoreCache,
+ public static int getSpeedFromWifiInfo(@NonNull WifiNetworkScoreCache scoreCache,
@NonNull WifiInfo wifiInfo) {
+ final WifiKey wifiKey;
+ try {
+ wifiKey = new WifiKey(wifiInfo.getSSID(), wifiInfo.getBSSID());
+ } catch (IllegalArgumentException e) {
+ return SPEED_NONE;
+ }
ScoredNetwork scoredNetwork = scoreCache.getScoredNetwork(
- NetworkKey.createFromWifiInfo(wifiInfo));
+ new NetworkKey(wifiKey));
if (scoredNetwork == null) {
return SPEED_NONE;
}
@@ -374,36 +298,172 @@ class Utils {
static String getAppLabel(Context context, String packageName) {
try {
String openWifiPackageName = Settings.Global.getString(context.getContentResolver(),
- Settings.Global.USE_OPEN_WIFI_PACKAGE);
+ SETTINGS_GLOBAL_USE_OPEN_WIFI_PACKAGE);
if (!TextUtils.isEmpty(openWifiPackageName) && TextUtils.equals(packageName,
getActiveScorerPackage(context))) {
packageName = openWifiPackageName;
}
- ApplicationInfo appInfo = context.getPackageManager().getApplicationInfoAsUser(
+ ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(
packageName,
- 0 /* flags */,
- UserHandle.getUserId(UserHandle.USER_CURRENT));
+ 0 /* flags */);
return appInfo.loadLabel(context.getPackageManager()).toString();
} catch (PackageManager.NameNotFoundException e) {
return "";
}
}
- static String getDisconnectedStateDescription(Context context, WifiEntry wifiEntry) {
- if (context == null || wifiEntry == null) {
+ static String getConnectedDescription(Context context,
+ WifiConfiguration wifiConfiguration,
+ NetworkCapabilities networkCapabilities,
+ String recommendationServiceLabel,
+ boolean isDefaultNetwork,
+ boolean isLowQuality) {
+ final StringJoiner sj = new StringJoiner(context.getString(
+ R.string.wifitrackerlib_summary_separator));
+ final boolean hideConnected =
+ !isDefaultNetwork && sFeatureFlagUtilsWrapper.isProviderModelEnabled(context);
+
+ if (wifiConfiguration != null) {
+ if (wifiConfiguration.fromWifiNetworkSuggestion
+ || wifiConfiguration.fromWifiNetworkSpecifier) {
+ // For suggestion or specifier networks to show "Connected via ..."
+ final String suggestionOrSpecifierLabel =
+ getSuggestionOrSpecifierLabel(context, wifiConfiguration);
+ if (!TextUtils.isEmpty(suggestionOrSpecifierLabel)) {
+ if (hideConnected) {
+ sj.add(context.getString(R.string.wifitrackerlib_available_via_app,
+ suggestionOrSpecifierLabel));
+ } else {
+ sj.add(context.getString(R.string.wifitrackerlib_connected_via_app,
+ suggestionOrSpecifierLabel));
+ }
+ }
+ } else if (wifiConfiguration.isEphemeral() && !hideConnected) {
+ // For ephemeral networks to show "Automatically connected via ..."
+ if (!TextUtils.isEmpty(recommendationServiceLabel)) {
+ sj.add(String.format(context.getString(
+ R.string.wifitrackerlib_connected_via_network_scorer),
+ recommendationServiceLabel));
+ } else {
+ sj.add(context.getString(
+ R.string.wifitrackerlib_connected_via_network_scorer_default));
+ }
+ }
+ }
+
+ if (isLowQuality) {
+ sj.add(context.getString(R.string.wifi_connected_low_quality));
+ }
+
+ // For displaying network capability info, such as captive portal or no internet
+ String networkCapabilitiesInformation =
+ getCurrentNetworkCapabilitiesInformation(context, networkCapabilities);
+ if (!TextUtils.isEmpty(networkCapabilitiesInformation)) {
+ sj.add(networkCapabilitiesInformation);
+ }
+
+ // Default to "Connected" if nothing else to display
+ if (sj.length() == 0 && !hideConnected) {
+ return context.getResources().getStringArray(R.array.wifitrackerlib_wifi_status)
+ [DetailedState.CONNECTED.ordinal()];
+ }
+
+ return sj.toString();
+ }
+
+ static String getConnectingDescription(Context context, NetworkInfo networkInfo) {
+ if (context == null || networkInfo == null) {
return "";
}
- WifiConfiguration wifiConfiguration = wifiEntry.getWifiConfiguration();
- if (wifiConfiguration == null) {
- return null;
+ DetailedState detailedState = networkInfo.getDetailedState();
+ if (detailedState == null) {
+ return "";
+ }
+
+ final String[] wifiStatusArray = context.getResources()
+ .getStringArray(R.array.wifitrackerlib_wifi_status);
+ final int index = detailedState.ordinal();
+ return index >= wifiStatusArray.length ? "" : wifiStatusArray[index];
+ }
+
+
+ static String getDisconnectedDescription(Context context,
+ WifiConfiguration wifiConfiguration,
+ boolean forSavedNetworksPage,
+ boolean concise) {
+ if (context == null) {
+ return "";
+ }
+ final StringJoiner sj = new StringJoiner(context.getString(
+ R.string.wifitrackerlib_summary_separator));
+
+ // For "Saved", "Saved by ...", and "Available via..."
+ if (concise) {
+ sj.add(context.getString(R.string.wifitrackerlib_wifi_disconnected));
+ } else if (wifiConfiguration != null) {
+ if (forSavedNetworksPage && !wifiConfiguration.isPasspoint()) {
+ final CharSequence appLabel = getAppLabel(context, wifiConfiguration.creatorName);
+ if (!TextUtils.isEmpty(appLabel)) {
+ sj.add(context.getString(R.string.wifitrackerlib_saved_network, appLabel));
+ }
+ } else {
+ if (wifiConfiguration.fromWifiNetworkSuggestion) {
+ final String suggestionOrSpecifierLabel =
+ getSuggestionOrSpecifierLabel(context, wifiConfiguration);
+ if (!TextUtils.isEmpty(suggestionOrSpecifierLabel)) {
+ sj.add(context.getString(
+ R.string.wifitrackerlib_available_via_app,
+ suggestionOrSpecifierLabel));
+ }
+ } else {
+ sj.add(context.getString(R.string.wifitrackerlib_wifi_remembered));
+ }
+ }
}
+ // For failure messages and disabled reasons
+ final String wifiConfigFailureMessage =
+ getWifiConfigurationFailureMessage(context, wifiConfiguration);
+ if (!TextUtils.isEmpty(wifiConfigFailureMessage)) {
+ sj.add(wifiConfigFailureMessage);
+ }
+
+ return sj.toString();
+ }
+
+ private static String getSuggestionOrSpecifierLabel(
+ Context context, WifiConfiguration wifiConfiguration) {
+ if (context == null || wifiConfiguration == null) {
+ return "";
+ }
+
+ final String carrierName = getCarrierNameForSubId(context,
+ getSubIdForConfig(context, wifiConfiguration));
+ if (!TextUtils.isEmpty(carrierName)) {
+ return carrierName;
+ }
+ final String suggestorLabel = getAppLabel(context, wifiConfiguration.creatorName);
+ if (!TextUtils.isEmpty(suggestorLabel)) {
+ return suggestorLabel;
+ }
+ // Fall-back to the package name in case the app label is missing
+ return wifiConfiguration.creatorName;
+ }
+
+ private static String getWifiConfigurationFailureMessage(
+ Context context, WifiConfiguration wifiConfiguration) {
+ if (context == null || wifiConfiguration == null) {
+ return "";
+ }
+
+ // Check for any failure messages to display
if (wifiConfiguration.hasNoInternetAccess()) {
int messageID =
wifiConfiguration.getNetworkSelectionStatus().getNetworkSelectionStatus()
== NETWORK_SELECTION_PERMANENTLY_DISABLED
- ? R.string.wifi_no_internet_no_reconnect : R.string.wifi_no_internet;
+ ? R.string.wifitrackerlib_wifi_no_internet_no_reconnect
+ : R.string.wifitrackerlib_wifi_no_internet;
return context.getString(messageID);
} else if (wifiConfiguration.getNetworkSelectionStatus().getNetworkSelectionStatus()
!= NETWORK_SELECTION_ENABLED) {
@@ -411,22 +471,47 @@ class Utils {
wifiConfiguration.getNetworkSelectionStatus();
switch (networkStatus.getNetworkSelectionDisableReason()) {
case WifiConfiguration.NetworkSelectionStatus.DISABLED_AUTHENTICATION_FAILURE:
- return context.getString(R.string.wifi_disabled_password_failure);
+ case WifiConfiguration.NetworkSelectionStatus
+ .DISABLED_AUTHENTICATION_NO_SUBSCRIPTION:
+ return context.getString(
+ R.string.wifitrackerlib_wifi_disabled_password_failure);
case WifiConfiguration.NetworkSelectionStatus.DISABLED_BY_WRONG_PASSWORD:
- return context.getString(R.string.wifi_check_password_try_again);
+ return context.getString(R.string.wifitrackerlib_wifi_check_password_try_again);
case WifiConfiguration.NetworkSelectionStatus.DISABLED_DHCP_FAILURE:
- return context.getString(R.string.wifi_disabled_network_failure);
+ return context.getString(R.string.wifitrackerlib_wifi_disabled_network_failure);
case WifiConfiguration.NetworkSelectionStatus.DISABLED_ASSOCIATION_REJECTION:
- return context.getString(R.string.wifi_disabled_generic);
+ return context.getString(R.string.wifitrackerlib_wifi_disabled_generic);
+ case WifiConfiguration.NetworkSelectionStatus.DISABLED_NO_INTERNET_PERMANENT:
+ case WifiConfiguration.NetworkSelectionStatus.DISABLED_NO_INTERNET_TEMPORARY:
+ return context.getString(R.string.wifitrackerlib_wifi_no_internet_no_reconnect);
default:
break;
}
- } else if (wifiEntry.getLevel() == WifiEntry.WIFI_LEVEL_UNREACHABLE) {
- // Do nothing because users know it by signal icon.
} else { // In range, not disabled.
- if (wifiConfiguration.getRecentFailureReason()
- == WifiConfiguration.RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA) {
- return context.getString(R.string.wifi_ap_unable_to_handle_new_sta);
+ switch (wifiConfiguration.getRecentFailureReason()) {
+ case WifiConfiguration.RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA:
+ case WifiConfiguration.RECENT_FAILURE_REFUSED_TEMPORARILY:
+ case WifiConfiguration.RECENT_FAILURE_DISCONNECTION_AP_BUSY:
+ return context.getString(R.string
+ .wifitrackerlib_wifi_ap_unable_to_handle_new_sta);
+ case WifiConfiguration.RECENT_FAILURE_POOR_CHANNEL_CONDITIONS:
+ return context.getString(R.string.wifitrackerlib_wifi_poor_channel_conditions);
+ case WifiConfiguration.RECENT_FAILURE_MBO_ASSOC_DISALLOWED_UNSPECIFIED:
+ case WifiConfiguration.RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AIR_INTERFACE_OVERLOADED:
+ case WifiConfiguration.RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AUTH_SERVER_OVERLOADED:
+ return context.getString(R.string
+ .wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect);
+ case WifiConfiguration.RECENT_FAILURE_MBO_ASSOC_DISALLOWED_MAX_NUM_STA_ASSOCIATED:
+ return context.getString(R.string
+ .wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated);
+ case WifiConfiguration.RECENT_FAILURE_MBO_ASSOC_DISALLOWED_INSUFFICIENT_RSSI:
+ case WifiConfiguration.RECENT_FAILURE_OCE_RSSI_BASED_ASSOCIATION_REJECTION:
+ return context.getString(R.string
+ .wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi);
+ case WifiConfiguration.RECENT_FAILURE_NETWORK_NOT_FOUND:
+ return context.getString(R.string.wifitrackerlib_wifi_network_not_found);
+ default:
+ // do nothing
}
}
return "";
@@ -439,7 +524,7 @@ class Utils {
}
return wifiEntry.isAutoJoinEnabled()
- ? "" : context.getString(R.string.auto_connect_disable);
+ ? "" : context.getString(R.string.wifitrackerlib_auto_connect_disable);
}
static String getMeteredDescription(@NonNull Context context, @Nullable WifiEntry wifiEntry) {
@@ -453,11 +538,12 @@ class Utils {
}
if (wifiEntry.getMeteredChoice() == WifiEntry.METERED_CHOICE_METERED) {
- return context.getString(R.string.wifi_metered_label);
+ return context.getString(R.string.wifitrackerlib_wifi_metered_label);
} else if (wifiEntry.getMeteredChoice() == WifiEntry.METERED_CHOICE_UNMETERED) {
- return context.getString(R.string.wifi_unmetered_label);
+ return context.getString(R.string.wifitrackerlib_wifi_unmetered_label);
} else { // METERED_CHOICE_AUTO
- return wifiEntry.isMetered() ? context.getString(R.string.wifi_metered_label) : "";
+ return wifiEntry.isMetered() ? context.getString(
+ R.string.wifitrackerlib_wifi_metered_label) : "";
}
}
@@ -469,13 +555,13 @@ class Utils {
@Speed int speed = wifiEntry.getSpeed();
switch (speed) {
case SPEED_VERY_FAST:
- return context.getString(R.string.speed_label_very_fast);
+ return context.getString(R.string.wifitrackerlib_speed_label_very_fast);
case SPEED_FAST:
- return context.getString(R.string.speed_label_fast);
+ return context.getString(R.string.wifitrackerlib_speed_label_fast);
case SPEED_MODERATE:
- return context.getString(R.string.speed_label_okay);
+ return context.getString(R.string.wifitrackerlib_speed_label_okay);
case SPEED_SLOW:
- return context.getString(R.string.speed_label_slow);
+ return context.getString(R.string.wifitrackerlib_speed_label_slow);
case SPEED_NONE:
default:
return "";
@@ -558,30 +644,34 @@ class Utils {
if (networkCapabilities.hasCapability(
NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY)) {
- return context.getString(R.string.wifi_limited_connection);
+ return context.getString(R.string.wifitrackerlib_wifi_limited_connection);
}
if (!networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)) {
if (networkCapabilities.isPrivateDnsBroken()) {
- return context.getString(R.string.private_dns_broken);
+ return context.getString(R.string.wifitrackerlib_private_dns_broken);
}
- return context.getString(R.string.wifi_connected_no_internet);
+ return context.getString(
+ R.string.wifitrackerlib_wifi_connected_cannot_provide_internet);
}
return "";
}
+ /**
+ * Returns the display string corresponding to the detailed state of the given NetworkInfo
+ */
static String getNetworkDetailedState(Context context, NetworkInfo networkInfo) {
if (context == null || networkInfo == null) {
return "";
}
- DetailedState detailState = networkInfo.getDetailedState();
- if (detailState == null) {
+ DetailedState detailedState = networkInfo.getDetailedState();
+ if (detailedState == null) {
return "";
}
String[] wifiStatusArray = context.getResources()
- .getStringArray(R.array.wifi_status);
- int index = detailState.ordinal();
+ .getStringArray(R.array.wifitrackerlib_wifi_status);
+ int index = detailedState.ordinal();
return index >= wifiStatusArray.length ? "" : wifiStatusArray[index];
}
@@ -694,8 +784,9 @@ class Utils {
}
// IMSI protection is not provided, return warning message.
- return linkifyAnnotation(context, context.getText(R.string.imsi_protection_warning), "url",
- context.getString(R.string.help_url_imsi_protection));
+ return linkifyAnnotation(context, context.getText(
+ R.string.wifitrackerlib_imsi_protection_warning), "url",
+ context.getString(R.string.wifitrackerlib_help_url_imsi_protection));
}
/** Find the annotation of specified id in rawText and linkify it with helpUriString. */
@@ -727,4 +818,195 @@ class Utils {
}
return rawText;
}
+
+ // Various utility methods copied from com.android.server.wifi.util.ScanResultUtils for
+ // extracting SecurityType from ScanResult.
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to a PSK network or not.
+ * This checks if the provided capabilities string contains PSK encryption type or not.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForPskNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("PSK");
+ }
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to a WAPI-PSK network or not.
+ * This checks if the provided capabilities string contains PSK encryption type or not.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForWapiPskNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("WAPI-PSK");
+ }
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to a WAPI-CERT
+ * network or not.
+ * This checks if the provided capabilities string contains PSK encryption type or not.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForWapiCertNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("WAPI-CERT");
+ }
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to a EAP network or not.
+ * This checks these conditions:
+ * - Enable EAP/SHA1, EAP/SHA256 AKM, FT/EAP, or EAP-FILS.
+ * - Not a WPA3 Enterprise only network.
+ * - Not a WPA3 Enterprise transition network.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForEapNetwork(ScanResult scanResult) {
+ return (scanResult.capabilities.contains("EAP/SHA1")
+ || scanResult.capabilities.contains("EAP/SHA256")
+ || scanResult.capabilities.contains("FT/EAP")
+ || scanResult.capabilities.contains("EAP-FILS"))
+ && !isScanResultForWpa3EnterpriseOnlyNetwork(scanResult)
+ && !isScanResultForWpa3EnterpriseTransitionNetwork(scanResult);
+ }
+
+ // TODO(b/187755981): Move to shared static utils class
+ private static boolean isScanResultForPmfMandatoryNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("[MFPR]");
+ }
+
+ // TODO(b/187755981): Move to shared static utils class
+ private static boolean isScanResultForPmfCapableNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("[MFPC]");
+ }
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to
+ * a WPA3 Enterprise transition network or not.
+ *
+ * See Section 3.3 WPA3-Enterprise transition mode in WPA3 Specification
+ * - Enable at least EAP/SHA1 and EAP/SHA256 AKM suites.
+ * - Not enable WPA1 version 1, WEP, and TKIP.
+ * - Management Frame Protection Capable is set.
+ * - Management Frame Protection Required is not set.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForWpa3EnterpriseTransitionNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("EAP/SHA1")
+ && scanResult.capabilities.contains("EAP/SHA256")
+ && scanResult.capabilities.contains("RSN")
+ && !scanResult.capabilities.contains("WEP")
+ && !scanResult.capabilities.contains("TKIP")
+ && !isScanResultForPmfMandatoryNetwork(scanResult)
+ && isScanResultForPmfCapableNetwork(scanResult);
+ }
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to
+ * a WPA3 Enterprise only network or not.
+ *
+ * See Section 3.2 WPA3-Enterprise only mode in WPA3 Specification
+ * - Enable at least EAP/SHA256 AKM suite.
+ * - Not enable EAP/SHA1 AKM suite.
+ * - Not enable WPA1 version 1, WEP, and TKIP.
+ * - Management Frame Protection Capable is set.
+ * - Management Frame Protection Required is set.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForWpa3EnterpriseOnlyNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("EAP/SHA256")
+ && !scanResult.capabilities.contains("EAP/SHA1")
+ && scanResult.capabilities.contains("RSN")
+ && !scanResult.capabilities.contains("WEP")
+ && !scanResult.capabilities.contains("TKIP")
+ && isScanResultForPmfMandatoryNetwork(scanResult)
+ && isScanResultForPmfCapableNetwork(scanResult);
+ }
+
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to a WPA3-Enterprise 192-bit
+ * mode network or not.
+ * This checks if the provided capabilities comply these conditions:
+ * - Enable SUITE-B-192 AKM.
+ * - Not enable EAP/SHA1 AKM suite.
+ * - Not enable WPA1 version 1, WEP, and TKIP.
+ * - Management Frame Protection Required is set.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForEapSuiteBNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("SUITE_B_192")
+ && scanResult.capabilities.contains("RSN")
+ && !scanResult.capabilities.contains("WEP")
+ && !scanResult.capabilities.contains("TKIP")
+ && isScanResultForPmfMandatoryNetwork(scanResult);
+ }
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to a WEP network or not.
+ * This checks if the provided capabilities string contains WEP encryption type or not.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForWepNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("WEP");
+ }
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to OWE network.
+ * This checks if the provided capabilities string contains OWE or not.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForOweNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("OWE");
+ }
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to OWE transition network.
+ * This checks if the provided capabilities string contains OWE_TRANSITION or not.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForOweTransitionNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("OWE_TRANSITION");
+ }
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to SAE network.
+ * This checks if the provided capabilities string contains SAE or not.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForSaeNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("SAE");
+ }
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to PSK-SAE transition
+ * network. This checks if the provided capabilities string contains both PSK and SAE or not.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForPskSaeTransitionNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("PSK") && scanResult.capabilities.contains("SAE");
+ }
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to an unknown amk network.
+ * This checks if the provided capabilities string contains ? or not.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForUnknownAkmNetwork(ScanResult scanResult) {
+ return scanResult.capabilities.contains("?");
+ }
+
+ /**
+ * Helper method to check if the provided |scanResult| corresponds to an open network or not.
+ * This checks if the provided capabilities string does not contain either of WEP, PSK, SAE
+ * EAP, or unknown encryption types or not.
+ * TODO(b/187755981): Move to shared static utils class
+ */
+ public static boolean isScanResultForOpenNetwork(ScanResult scanResult) {
+ return (!(isScanResultForWepNetwork(scanResult) || isScanResultForPskNetwork(scanResult)
+ || isScanResultForEapNetwork(scanResult) || isScanResultForSaeNetwork(scanResult)
+ || isScanResultForWpa3EnterpriseTransitionNetwork(scanResult)
+ || isScanResultForWpa3EnterpriseOnlyNetwork(scanResult)
+ || isScanResultForWapiPskNetwork(scanResult)
+ || isScanResultForWapiCertNetwork(scanResult)
+ || isScanResultForEapSuiteBNetwork(scanResult)
+ || isScanResultForUnknownAkmNetwork(scanResult)));
+ }
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java
index 982ef888a..6ec5d8ba3 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiEntry.java
@@ -20,6 +20,7 @@ import static android.net.wifi.WifiInfo.INVALID_RSSI;
import static androidx.core.util.Preconditions.checkNotNull;
+import static com.android.wifitrackerlib.Utils.getSingleSecurityTypeFromMultipleSecurityTypes;
import static com.android.wifitrackerlib.Utils.getSpeedFromWifiInfo;
import android.net.LinkAddress;
@@ -27,6 +28,7 @@ import android.net.LinkProperties;
import android.net.NetworkCapabilities;
import android.net.NetworkInfo;
import android.net.RouteInfo;
+import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
@@ -50,18 +52,21 @@ import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
+import java.util.Optional;
import java.util.StringJoiner;
import java.util.stream.Collectors;
/**
- * Abstract base class for an entry representing a Wi-Fi network in a Wi-Fi picker/settings.
+ * Base class for an entry representing a Wi-Fi network in a Wi-Fi picker/settings.
+ * Subclasses should override the default methods for their own needs.
*
* Clients implementing a Wi-Fi picker/settings should receive WifiEntry objects from classes
* implementing BaseWifiTracker, and rely on the given API for all user-displayable information and
* actions on the represented network.
*/
-public abstract class WifiEntry implements Comparable<WifiEntry> {
+public class WifiEntry implements Comparable<WifiEntry> {
/**
* Security type based on WifiConfiguration.KeyMgmt
*/
@@ -74,6 +79,7 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
SECURITY_SAE,
SECURITY_EAP,
SECURITY_EAP_SUITE_B,
+ SECURITY_EAP_WPA3_ENTERPRISE,
})
public @interface Security {}
@@ -85,8 +91,9 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
public static final int SECURITY_OWE = 4;
public static final int SECURITY_SAE = 5;
public static final int SECURITY_EAP_SUITE_B = 6;
+ public static final int SECURITY_EAP_WPA3_ENTERPRISE = 7;
- public static final int NUM_SECURITY_TYPES = 7;
+ public static final int NUM_SECURITY_TYPES = 8;
@Retention(RetentionPolicy.SOURCE)
@IntDef(value = {
@@ -155,6 +162,7 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
FREQUENCY_2_4_GHZ,
FREQUENCY_5_GHZ,
FREQUENCY_6_GHZ,
+ FREQUENCY_60_GHZ,
FREQUENCY_UNKNOWN
})
@@ -163,6 +171,7 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
public static final int FREQUENCY_2_4_GHZ = 2_400;
public static final int FREQUENCY_5_GHZ = 5_000;
public static final int FREQUENCY_6_GHZ = 6_000;
+ public static final int FREQUENCY_60_GHZ = 60_000;
public static final int FREQUENCY_UNKNOWN = -1;
/**
@@ -196,6 +205,16 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
public static final int MAX_FREQ_6GHZ = 7125;
/**
+ * Min bound on the 60 GHz (802.11ad) WLAN channels.
+ */
+ public static final int MIN_FREQ_60GHZ = 58320;
+
+ /**
+ * Max bound on the 60 GHz (802.11ad) WLAN channels.
+ */
+ public static final int MAX_FREQ_60GHZ = 70200;
+
+ /**
* Max ScanResult information displayed of Wi-Fi Verbose Logging.
*/
protected static final int MAX_VERBOSE_LOG_DISPLAY_SCANRESULT_COUNT = 4;
@@ -207,7 +226,7 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
// Callback associated with this WifiEntry. Subclasses should call its methods appropriately.
private WifiEntryCallback mListener;
- protected Handler mCallbackHandler;
+ protected final Handler mCallbackHandler;
protected int mLevel = WIFI_LEVEL_UNREACHABLE;
protected int mSpeed = SPEED_NONE;
@@ -225,10 +244,12 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
protected boolean mCalledDisconnect = false;
private boolean mIsValidated;
- private boolean mIsDefaultNetwork;
+ protected boolean mIsDefaultNetwork;
protected boolean mIsLowQuality;
- WifiEntry(@NonNull Handler callbackHandler, @NonNull WifiManager wifiManager,
+ private Optional<ManageSubscriptionAction> mManageSubscriptionAction = Optional.empty();
+
+ public WifiEntry(@NonNull Handler callbackHandler, @NonNull WifiManager wifiManager,
@NonNull WifiNetworkScoreCache scoreCache,
boolean forSavedNetworksPage) throws IllegalArgumentException {
checkNotNull(callbackHandler, "Cannot construct with null handler!");
@@ -242,11 +263,14 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
// Info available for all WifiEntries //
/** The unique key defining a WifiEntry */
- public abstract String getKey();
+ @NonNull
+ public String getKey() {
+ return "";
+ };
/** Returns connection state of the network defined by the CONNECTED_STATE constants */
@ConnectedState
- public int getConnectedState() {
+ public synchronized int getConnectedState() {
if (mNetworkInfo == null) {
return CONNECTED_STATE_DISCONNECTED;
}
@@ -268,14 +292,19 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
/** Returns the display title. This is most commonly the SSID of a network. */
- public abstract String getTitle();
+ @NonNull
+ public String getTitle() {
+ return "";
+ }
/** Returns the display summary, it's a concise summary. */
+ @NonNull
public String getSummary() {
return getSummary(true /* concise */);
}
/** Returns the second summary, it's for additional information of the WifiEntry */
+ @NonNull
public CharSequence getSecondSummary() {
return "";
}
@@ -284,7 +313,10 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
* Returns the display summary.
* @param concise Whether to show more information. e.g., verbose logging.
*/
- public abstract String getSummary(boolean concise);
+ @NonNull
+ public String getSummary(boolean concise) {
+ return "";
+ };
/**
* Returns the signal strength level within [WIFI_LEVEL_MIN, WIFI_LEVEL_MAX].
@@ -302,6 +334,22 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
&& (!mIsValidated || !mIsDefaultNetwork) && !canSignIn();
}
+ /**
+ * Returns whether this network has validated internet access or not.
+ * Note: This does not necessarily mean the network is the default route.
+ */
+ public boolean hasInternetAccess() {
+ return mIsValidated;
+ }
+
+ /**
+ * Returns whether this network is the default network or not (i.e. this network is the one
+ * currently being used to provide internet connection).
+ */
+ public boolean isDefaultNetwork() {
+ return mIsDefaultNetwork;
+ }
+
/** Returns the speed value of the network defined by the SPEED constants */
@Speed
public int getSpeed() {
@@ -311,53 +359,108 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
/**
* Returns the SSID of the entry, if applicable. Null otherwise.
*/
- public abstract String getSsid();
+ @Nullable
+ public String getSsid() {
+ return null;
+ }
- /** Returns the security type defined by the SECURITY constants */
+ /**
+ * Returns the security type defined by the SECURITY constants
+ * DEPRECATED: Use getSecurityTypes() which can return multiple security types.
+ */
+ // TODO(b/187554920): Remove this and move all clients to getSecurityTypes()
@Security
- public abstract int getSecurity();
+ public int getSecurity() {
+ switch (getSingleSecurityTypeFromMultipleSecurityTypes(getSecurityTypes())) {
+ case WifiInfo.SECURITY_TYPE_OPEN:
+ return SECURITY_NONE;
+ case WifiInfo.SECURITY_TYPE_OWE:
+ return SECURITY_OWE;
+ case WifiInfo.SECURITY_TYPE_WEP:
+ return SECURITY_WEP;
+ case WifiInfo.SECURITY_TYPE_PSK:
+ return SECURITY_PSK;
+ case WifiInfo.SECURITY_TYPE_SAE:
+ return SECURITY_SAE;
+ case WifiInfo.SECURITY_TYPE_EAP:
+ return SECURITY_EAP;
+ case WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE:
+ return SECURITY_EAP_WPA3_ENTERPRISE;
+ case WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT:
+ return SECURITY_EAP_SUITE_B;
+ case WifiInfo.SECURITY_TYPE_PASSPOINT_R1_R2:
+ case WifiInfo.SECURITY_TYPE_PASSPOINT_R3:
+ return SECURITY_EAP;
+ default:
+ return SECURITY_NONE;
+ }
+ }
+
+ /**
+ * Returns security type of the current connection, or the available types for connection
+ * in the form of the SECURITY_TYPE_* values in {@link WifiInfo}
+ */
+ @NonNull
+ public List<Integer> getSecurityTypes() {
+ return Collections.emptyList();
+ }
/** Returns the MAC address of the connection */
- public abstract String getMacAddress();
+ @Nullable
+ public String getMacAddress() {
+ return null;
+ }
/**
* Indicates when a network is metered or the user marked the network as metered.
*/
- public abstract boolean isMetered();
+ public boolean isMetered() {
+ return false;
+ }
/**
* Indicates whether or not an entry is for a saved configuration.
*/
- public abstract boolean isSaved();
+ public boolean isSaved() {
+ return false;
+ }
/**
* Indicates whether or not an entry is for a saved configuration.
*/
- public abstract boolean isSuggestion();
+ public boolean isSuggestion() {
+ return false;
+ }
/**
* Indicates whether or not an entry is for a subscription.
*/
- public abstract boolean isSubscription();
+ public boolean isSubscription() {
+ return false;
+ }
/**
* Returns the WifiConfiguration of an entry or null if unavailable. This should be used when
* information on the WifiConfiguration needs to be modified and saved via
* {@link WifiManager#save(WifiConfiguration, WifiManager.ActionListener)}.
*/
- public abstract WifiConfiguration getWifiConfiguration();
+ @Nullable
+ public WifiConfiguration getWifiConfiguration() {
+ return null;
+ }
/**
* Returns the ConnectedInfo object pertaining to an active connection.
*
* Returns null if getConnectedState() != CONNECTED_STATE_CONNECTED.
*/
- public ConnectedInfo getConnectedInfo() {
+ @Nullable
+ public synchronized ConnectedInfo getConnectedInfo() {
if (getConnectedState() != CONNECTED_STATE_CONNECTED) {
return null;
}
- return mConnectedInfo;
+ return new ConnectedInfo(mConnectedInfo);
}
/**
@@ -372,34 +475,80 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
public List<String> ipv6Addresses = new ArrayList<>();
public String gateway;
public String subnetMask;
+ public int wifiStandard = ScanResult.WIFI_STANDARD_UNKNOWN;
+
+ /**
+ * Creates an empty ConnectedInfo
+ */
+ public ConnectedInfo() {
+ }
+
+ /**
+ * Creates a ConnectedInfo with all fields copied from an input ConnectedInfo
+ */
+ public ConnectedInfo(@NonNull ConnectedInfo other) {
+ frequencyMhz = other.frequencyMhz;
+ dnsServers = new ArrayList<>(dnsServers);
+ linkSpeedMbps = other.linkSpeedMbps;
+ ipAddress = other.ipAddress;
+ ipv6Addresses = new ArrayList<>(other.ipv6Addresses);
+ gateway = other.gateway;
+ subnetMask = other.subnetMask;
+ wifiStandard = other.wifiStandard;
+ }
}
// User actions on a network
/** Returns whether the entry should show a connect option */
- public abstract boolean canConnect();
+ public boolean canConnect() {
+ return false;
+ }
+
/** Connects to the network */
- public abstract void connect(@Nullable ConnectCallback callback);
+ public void connect(@Nullable ConnectCallback callback) {
+ // Do nothing.
+ }
/** Returns whether the entry should show a disconnect option */
- public abstract boolean canDisconnect();
+ public boolean canDisconnect() {
+ return false;
+ }
+
/** Disconnects from the network */
- public abstract void disconnect(@Nullable DisconnectCallback callback);
+ public void disconnect(@Nullable DisconnectCallback callback) {
+ // Do nothing.
+ }
/** Returns whether the entry should show a forget option */
- public abstract boolean canForget();
+ public boolean canForget() {
+ return false;
+ }
+
/** Forgets the network */
- public abstract void forget(@Nullable ForgetCallback callback);
+ public void forget(@Nullable ForgetCallback callback) {
+ // Do nothing.
+ }
/** Returns whether the network can be signed-in to */
- public abstract boolean canSignIn();
+ public boolean canSignIn() {
+ return false;
+ }
+
/** Sign-in to the network. For captive portals. */
- public abstract void signIn(@Nullable SignInCallback callback);
+ public void signIn(@Nullable SignInCallback callback) {
+ // Do nothing.
+ }
/** Returns whether the network can be shared via QR code */
- public abstract boolean canShare();
+ public boolean canShare() {
+ return false;
+ }
+
/** Returns whether the user can use Easy Connect to onboard a device to the network */
- public abstract boolean canEasyConnect();
+ public boolean canEasyConnect() {
+ return false;
+ }
// Modifiable settings
@@ -408,38 +557,68 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
* defined by the METERED_CHOICE constants
*/
@MeteredChoice
- public abstract int getMeteredChoice();
+ public int getMeteredChoice() {
+ return METERED_CHOICE_AUTO;
+ }
+
/** Returns whether the entry should let the user choose the metered treatment of a network */
- public abstract boolean canSetMeteredChoice();
+ public boolean canSetMeteredChoice() {
+ return false;
+ }
+
/**
* Sets the user's choice for treating a network as metered,
* defined by the METERED_CHOICE constants
*/
- public abstract void setMeteredChoice(@MeteredChoice int meteredChoice);
+ public void setMeteredChoice(@MeteredChoice int meteredChoice) {
+ // Do nothing.
+ }
/** Returns whether the entry should let the user choose the MAC randomization setting */
- public abstract boolean canSetPrivacy();
+ public boolean canSetPrivacy() {
+ return false;
+ }
+
/** Returns the MAC randomization setting defined by the PRIVACY constants */
@Privacy
- public abstract int getPrivacy();
+ public int getPrivacy() {
+ return PRIVACY_UNKNOWN;
+ }
+
/** Sets the user's choice for MAC randomization defined by the PRIVACY constants */
- public abstract void setPrivacy(@Privacy int privacy);
+ public void setPrivacy(@Privacy int privacy) {
+ // Do nothing.
+ }
/** Returns whether the network has auto-join enabled */
- public abstract boolean isAutoJoinEnabled();
+ public boolean isAutoJoinEnabled() {
+ return false;
+ }
+
/** Returns whether the user can enable/disable auto-join */
- public abstract boolean canSetAutoJoinEnabled();
+ public boolean canSetAutoJoinEnabled() {
+ return false;
+ }
+
/** Sets whether a network will be auto-joined or not */
- public abstract void setAutoJoinEnabled(boolean enabled);
+ public void setAutoJoinEnabled(boolean enabled) {
+ // Do nothing.
+ }
+
/** Returns the string displayed for @Security */
- public abstract String getSecurityString(boolean concise);
+ public String getSecurityString(boolean concise) {
+ return "";
+ }
+
/** Returns whether subscription of the entry is expired */
- public abstract boolean isExpired();
+ public boolean isExpired() {
+ return false;
+ }
+
/** Returns whether a user can manage their subscription through this WifiEntry */
public boolean canManageSubscription() {
- // Subclasses should implement this method.
- return false;
+ return mManageSubscriptionAction.isPresent();
};
/**
@@ -454,18 +633,35 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
/** Allows the user to manage their subscription via an external flow */
public void manageSubscription() {
- // Subclasses should implement this method.
+ mManageSubscriptionAction.ifPresent(ManageSubscriptionAction::onExecute);
};
+ /** Set the action to be called on calling WifiEntry#manageSubscription. */
+ public void setManageSubscriptionAction(
+ @NonNull ManageSubscriptionAction manageSubscriptionAction) {
+ // only notify update on 1st time
+ boolean notify = !mManageSubscriptionAction.isPresent();
+
+ mManageSubscriptionAction = Optional.of(manageSubscriptionAction);
+ if (notify) {
+ notifyOnUpdated();
+ }
+ }
+
/** Returns the ScanResult information of a WifiEntry */
- abstract String getScanResultDescription();
+ @NonNull
+ protected String getScanResultDescription() {
+ return "";
+ }
/** Returns the network selection information of a WifiEntry */
+ @NonNull
String getNetworkSelectionDescription() {
return "";
}
/** Returns the network capability information of a WifiEntry */
+ @NonNull
String getNetworkCapabilityDescription() {
final StringBuilder sb = new StringBuilder();
if (getConnectedState() == CONNECTED_STATE_CONNECTED) {
@@ -492,7 +688,7 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
* Sets the callback listener for WifiEntryCallback methods.
* Subsequent calls will overwrite the previous listener.
*/
- public void setListener(WifiEntryCallback listener) {
+ public synchronized void setListener(WifiEntryCallback listener) {
mListener = listener;
}
@@ -512,7 +708,12 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
@AnyThread
protected void notifyOnUpdated() {
if (mListener != null) {
- mCallbackHandler.post(() -> mListener.onUpdated());
+ mCallbackHandler.post(() -> {
+ final WifiEntryCallback listener = mListener;
+ if (listener != null) {
+ listener.onUpdated();
+ }
+ });
}
}
@@ -525,7 +726,8 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
@IntDef(value = {
CONNECT_STATUS_SUCCESS,
CONNECT_STATUS_FAILURE_NO_CONFIG,
- CONNECT_STATUS_FAILURE_UNKNOWN
+ CONNECT_STATUS_FAILURE_UNKNOWN,
+ CONNECT_STATUS_FAILURE_SIM_ABSENT
})
public @interface ConnectStatus {}
@@ -533,6 +735,7 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
int CONNECT_STATUS_SUCCESS = 0;
int CONNECT_STATUS_FAILURE_NO_CONFIG = 1;
int CONNECT_STATUS_FAILURE_UNKNOWN = 2;
+ int CONNECT_STATUS_FAILURE_SIM_ABSENT = 3;
/**
* Result of the connect request indicated by the CONNECT_STATUS constants.
@@ -612,8 +815,10 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
/**
* Returns whether or not the supplied WifiInfo and NetworkInfo represent this WifiEntry
*/
- protected abstract boolean connectionInfoMatches(@NonNull WifiInfo wifiInfo,
- @NonNull NetworkInfo networkInfo);
+ protected boolean connectionInfoMatches(@NonNull WifiInfo wifiInfo,
+ @NonNull NetworkInfo networkInfo) {
+ return false;
+ }
/**
* Updates information regarding the current network connection. If the supplied WifiInfo and
@@ -621,7 +826,8 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
* unconnected.
*/
@WorkerThread
- void updateConnectionInfo(@Nullable WifiInfo wifiInfo, @Nullable NetworkInfo networkInfo) {
+ synchronized void updateConnectionInfo(
+ @Nullable WifiInfo wifiInfo, @Nullable NetworkInfo networkInfo) {
if (wifiInfo != null && networkInfo != null
&& connectionInfoMatches(wifiInfo, networkInfo)) {
// Connection info matches, so the WifiInfo/NetworkInfo represent this network and
@@ -637,8 +843,9 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
if (mCalledConnect) {
mCalledConnect = false;
mCallbackHandler.post(() -> {
- if (mConnectCallback != null) {
- mConnectCallback.onConnectResult(
+ final ConnectCallback connectCallback = mConnectCallback;
+ if (connectCallback != null) {
+ connectCallback.onConnectResult(
ConnectCallback.CONNECT_STATUS_SUCCESS);
}
});
@@ -649,8 +856,10 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
}
mConnectedInfo.frequencyMhz = wifiInfo.getFrequency();
mConnectedInfo.linkSpeedMbps = wifiInfo.getLinkSpeed();
+ mConnectedInfo.wifiStandard = wifiInfo.getWifiStandard();
}
} else { // Connection info doesn't matched, so this network is disconnected
+ mWifiInfo = null;
mNetworkInfo = null;
mNetworkCapabilities = null;
mConnectedInfo = null;
@@ -660,19 +869,27 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
if (mCalledDisconnect) {
mCalledDisconnect = false;
mCallbackHandler.post(() -> {
- if (mDisconnectCallback != null) {
- mDisconnectCallback.onDisconnectResult(
+ final DisconnectCallback disconnectCallback = mDisconnectCallback;
+ if (disconnectCallback != null) {
+ disconnectCallback.onDisconnectResult(
DisconnectCallback.DISCONNECT_STATUS_SUCCESS);
}
});
}
}
+ updateSecurityTypes();
notifyOnUpdated();
}
+ // Called to indicate the security types should be updated to match new information about the
+ // network.
+ protected void updateSecurityTypes() {
+ // Do nothing;
+ }
+
// Method for WifiTracker to update the link properties, which is valid for all WifiEntry types.
@WorkerThread
- void updateLinkProperties(@Nullable LinkProperties linkProperties) {
+ synchronized void updateLinkProperties(@Nullable LinkProperties linkProperties) {
if (linkProperties == null || getConnectedState() != CONNECTED_STATE_CONNECTED) {
mConnectedInfo = null;
notifyOnUpdated();
@@ -718,19 +935,19 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
}
@WorkerThread
- void setIsDefaultNetwork(boolean isDefaultNetwork) {
+ synchronized void setIsDefaultNetwork(boolean isDefaultNetwork) {
mIsDefaultNetwork = isDefaultNetwork;
notifyOnUpdated();
}
@WorkerThread
- void setIsLowQuality(boolean isLowQuality) {
+ synchronized void setIsLowQuality(boolean isLowQuality) {
mIsLowQuality = isLowQuality;
}
// Method for WifiTracker to update a connected WifiEntry's network capabilities.
@WorkerThread
- void updateNetworkCapabilities(@Nullable NetworkCapabilities capabilities) {
+ synchronized void updateNetworkCapabilities(@Nullable NetworkCapabilities capabilities) {
mNetworkCapabilities = capabilities;
if (mConnectedInfo == null) {
return;
@@ -740,7 +957,7 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
notifyOnUpdated();
}
- String getWifiInfoDescription() {
+ synchronized String getWifiInfoDescription() {
final StringJoiner sj = new StringJoiner(" ");
if (getConnectedState() == CONNECTED_STATE_CONNECTED && mWifiInfo != null) {
sj.add("f = " + mWifiInfo.getFrequency());
@@ -762,12 +979,15 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
protected class ConnectActionListener implements WifiManager.ActionListener {
@Override
public void onSuccess() {
- mCalledConnect = true;
+ synchronized (WifiEntry.this) {
+ mCalledConnect = true;
+ }
// If we aren't connected to the network after 10 seconds, trigger the failure callback
mCallbackHandler.postDelayed(() -> {
- if (mConnectCallback != null && mCalledConnect
+ final ConnectCallback connectCallback = mConnectCallback;
+ if (connectCallback != null && mCalledConnect
&& getConnectedState() == CONNECTED_STATE_DISCONNECTED) {
- mConnectCallback.onConnectResult(
+ connectCallback.onConnectResult(
ConnectCallback.CONNECT_STATUS_FAILURE_UNKNOWN);
mCalledConnect = false;
}
@@ -777,9 +997,10 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
@Override
public void onFailure(int i) {
mCallbackHandler.post(() -> {
- if (mConnectCallback != null) {
- mConnectCallback.onConnectResult(
- mConnectCallback.CONNECT_STATUS_FAILURE_UNKNOWN);
+ final ConnectCallback connectCallback = mConnectCallback;
+ if (connectCallback != null) {
+ connectCallback.onConnectResult(
+ ConnectCallback.CONNECT_STATUS_FAILURE_UNKNOWN);
}
});
}
@@ -789,8 +1010,9 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
@Override
public void onSuccess() {
mCallbackHandler.post(() -> {
- if (mForgetCallback != null) {
- mForgetCallback.onForgetResult(ForgetCallback.FORGET_STATUS_SUCCESS);
+ final ForgetCallback forgetCallback = mForgetCallback;
+ if (forgetCallback != null) {
+ forgetCallback.onForgetResult(ForgetCallback.FORGET_STATUS_SUCCESS);
}
});
}
@@ -798,8 +1020,9 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
@Override
public void onFailure(int i) {
mCallbackHandler.post(() -> {
- if (mForgetCallback != null) {
- mForgetCallback.onForgetResult(ForgetCallback.FORGET_STATUS_FAILURE_UNKNOWN);
+ final ForgetCallback forgetCallback = mForgetCallback;
+ if (forgetCallback != null) {
+ forgetCallback.onForgetResult(ForgetCallback.FORGET_STATUS_FAILURE_UNKNOWN);
}
});
}
@@ -853,7 +1076,7 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
.append(getLevel())
.append(shouldShowXLevelIcon() ? "X" : "")
.append(",security:")
- .append(getSecurity())
+ .append(getSecurityTypes())
.append(",connected:")
.append(getConnectedState() == CONNECTED_STATE_CONNECTED ? "true" : "false")
.append(",connectedInfo:")
@@ -864,4 +1087,14 @@ public abstract class WifiEntry implements Comparable<WifiEntry> {
.append(mIsDefaultNetwork)
.toString();
}
+
+ /**
+ * The action used to execute the calling of WifiEntry#manageSubscription.
+ */
+ public interface ManageSubscriptionAction {
+ /**
+ * Execute the action of managing subscription.
+ */
+ void onExecute();
+ }
}
diff --git a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java
index eef865abe..d76a80a0a 100644
--- a/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java
+++ b/libs/WifiTrackerLib/src/com/android/wifitrackerlib/WifiPickerTracker.java
@@ -18,12 +18,10 @@ package com.android.wifitrackerlib;
import static androidx.core.util.Preconditions.checkNotNull;
-import static com.android.wifitrackerlib.NetworkRequestEntry.wifiConfigToNetworkRequestEntryKey;
import static com.android.wifitrackerlib.OsuWifiEntry.osuProviderToOsuWifiEntryKey;
import static com.android.wifitrackerlib.PasspointWifiEntry.uniqueIdToPasspointWifiEntryKey;
-import static com.android.wifitrackerlib.StandardWifiEntry.wifiConfigToStandardWifiEntryKey;
-import static com.android.wifitrackerlib.Utils.getSecurityTypesFromScanResult;
-import static com.android.wifitrackerlib.Utils.mapScanResultsToKey;
+import static com.android.wifitrackerlib.StandardWifiEntry.ScanResultKey;
+import static com.android.wifitrackerlib.StandardWifiEntry.StandardWifiEntryKey;
import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_CONNECTED;
import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_CONNECTING;
import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_DISCONNECTED;
@@ -47,9 +45,13 @@ import android.net.wifi.WifiManager;
import android.net.wifi.hotspot2.OsuProvider;
import android.net.wifi.hotspot2.PasspointConfiguration;
import android.os.Handler;
+import android.telephony.SubscriptionManager;
import android.text.TextUtils;
+import android.util.ArrayMap;
+import android.util.ArraySet;
import android.util.Log;
import android.util.Pair;
+import android.util.SparseArray;
import androidx.annotation.AnyThread;
import androidx.annotation.GuardedBy;
@@ -63,14 +65,12 @@ import java.time.Clock;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import java.util.function.Function;
import java.util.stream.Collectors;
-import java.util.stream.Stream;
/**
* Wi-Fi tracker that provides all Wi-Fi related data to the Wi-Fi picker page.
@@ -98,27 +98,35 @@ public class WifiPickerTracker extends BaseWifiTracker {
private NetworkInfo mCurrentNetworkInfo;
// Cache containing saved WifiConfigurations mapped by StandardWifiEntry key
- private final Map<String, WifiConfiguration> mWifiConfigCache = new HashMap<>();
+ private final Map<StandardWifiEntryKey, List<WifiConfiguration>> mStandardWifiConfigCache =
+ new ArrayMap<>();
// Cache containing suggested WifiConfigurations mapped by StandardWifiEntry key
- private final Map<String, WifiConfiguration> mSuggestedConfigCache = new HashMap<>();
+ private final Map<StandardWifiEntryKey, List<WifiConfiguration>> mSuggestedConfigCache =
+ new ArrayMap<>();
+ // Cache containing network request WifiConfigurations mapped by StandardWifiEntry key.
+ private final ArrayMap<StandardWifiEntryKey, List<WifiConfiguration>>
+ mNetworkRequestConfigCache = new ArrayMap<>();
// Cache containing visible StandardWifiEntries. Must be accessed only by the worker thread.
- private final Map<String, StandardWifiEntry> mStandardWifiEntryCache = new HashMap<>();
+ private final List<StandardWifiEntry> mStandardWifiEntryCache = new ArrayList<>();
// Cache containing available suggested StandardWifiEntries. These entries may be already
// represented in mStandardWifiEntryCache, so filtering must be done before they are returned in
// getWifiEntry() and getConnectedWifiEntry().
- private final Map<String, StandardWifiEntry> mSuggestedWifiEntryCache = new HashMap<>();
+ private final List<StandardWifiEntry> mSuggestedWifiEntryCache = new ArrayList<>();
// Cache containing saved PasspointConfigurations mapped by PasspointWifiEntry key.
- private final Map<String, PasspointConfiguration> mPasspointConfigCache = new HashMap<>();
+ private final Map<String, PasspointConfiguration> mPasspointConfigCache = new ArrayMap<>();
+ // Cache containing Passpoint WifiConfigurations mapped by network id.
+ private final SparseArray<WifiConfiguration> mPasspointWifiConfigCache = new SparseArray<>();
// Cache containing visible PasspointWifiEntries. Must be accessed only by the worker thread.
- private final Map<String, PasspointWifiEntry> mPasspointWifiEntryCache = new HashMap<>();
+ private final Map<String, PasspointWifiEntry> mPasspointWifiEntryCache = new ArrayMap<>();
// Cache containing visible OsuWifiEntries. Must be accessed only by the worker thread.
- private final Map<String, OsuWifiEntry> mOsuWifiEntryCache = new HashMap<>();
+ private final Map<String, OsuWifiEntry> mOsuWifiEntryCache = new ArrayMap<>();
+
+ private MergedCarrierEntry mMergedCarrierEntry;
private int mNumSavedNetworks;
/**
* Constructor for WifiPickerTracker.
- *
* @param lifecycle Lifecycle this is tied to for lifecycle callbacks.
* @param context Context for registering broadcast receiver and for resource strings.
* @param wifiManager Provides all Wi-Fi info.
@@ -169,6 +177,14 @@ public class WifiPickerTracker extends BaseWifiTracker {
}
/**
+ * Returns the MergedCarrierEntry representing the active carrier subscription.
+ */
+ @AnyThread
+ public @Nullable MergedCarrierEntry getMergedCarrierEntry() {
+ return mMergedCarrierEntry;
+ }
+
+ /**
* Returns the number of saved networks.
*/
@AnyThread
@@ -197,6 +213,7 @@ public class WifiPickerTracker extends BaseWifiTracker {
updateConnectionInfo(wifiInfo, mCurrentNetworkInfo);
notifyOnNumSavedNetworksChanged();
notifyOnNumSavedSubscriptionsChanged();
+ handleDefaultSubscriptionChanged(SubscriptionManager.getDefaultDataSubscriptionId());
updateWifiEntries();
// Populate mConnectedWifiEntry with information from missed callbacks.
@@ -210,6 +227,9 @@ public class WifiPickerTracker extends BaseWifiTracker {
@Override
protected void handleWifiStateChangedAction() {
conditionallyUpdateScanResults(true /* lastScanSucceeded */);
+ if (mWifiManager.getWifiState() != WifiManager.WIFI_STATE_ENABLED) {
+ updateConnectionInfo(null, null);
+ }
updateWifiEntries();
}
@@ -227,14 +247,13 @@ public class WifiPickerTracker extends BaseWifiTracker {
protected void handleConfiguredNetworksChangedAction(@NonNull Intent intent) {
checkNotNull(intent, "Intent cannot be null!");
- final WifiConfiguration config =
- (WifiConfiguration) intent.getExtra(WifiManager.EXTRA_WIFI_CONFIGURATION);
- if (config != null && !config.isPasspoint()) {
- updateWifiConfiguration(
- config, (Integer) intent.getExtra(WifiManager.EXTRA_CHANGE_REASON));
- } else {
- updateWifiConfigurations(mWifiManager.getPrivilegedConfiguredNetworks());
- }
+ processConfiguredNetworksChanged();
+ }
+
+ @WorkerThread
+ /** All wifi entries and saved entries needs to be updated. */
+ protected void processConfiguredNetworksChanged() {
+ updateWifiConfigurations(mWifiManager.getPrivilegedConfiguredNetworks());
updatePasspointConfigurations(mWifiManager.getPasspointConfigurations());
// Update scans since config changes may result in different entries being shown.
final List<ScanResult> scanResults = mScanResultUpdater.getScanResults();
@@ -251,19 +270,21 @@ public class WifiPickerTracker extends BaseWifiTracker {
@Override
protected void handleNetworkStateChangedAction(@NonNull Intent intent) {
checkNotNull(intent, "Intent cannot be null!");
- final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
- mCurrentNetworkInfo = (NetworkInfo) intent.getExtra(WifiManager.EXTRA_NETWORK_INFO);
- updateConnectionInfo(wifiInfo, mCurrentNetworkInfo);
+ mCurrentNetworkInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
+ updateConnectionInfo(mWifiManager.getConnectionInfo(), mCurrentNetworkInfo);
updateWifiEntries();
}
@WorkerThread
@Override
protected void handleRssiChangedAction() {
+ final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
if (mConnectedWifiEntry != null) {
- final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
mConnectedWifiEntry.updateConnectionInfo(wifiInfo, mCurrentNetworkInfo);
}
+ if (mMergedCarrierEntry != null) {
+ mMergedCarrierEntry.updateConnectionInfo(wifiInfo, mCurrentNetworkInfo);
+ }
}
@WorkerThread
@@ -273,6 +294,9 @@ public class WifiPickerTracker extends BaseWifiTracker {
&& mConnectedWifiEntry.getConnectedState() == CONNECTED_STATE_CONNECTED) {
mConnectedWifiEntry.updateLinkProperties(linkProperties);
}
+ if (mMergedCarrierEntry != null) {
+ mMergedCarrierEntry.updateLinkProperties(linkProperties);
+ }
}
@WorkerThread
@@ -283,6 +307,9 @@ public class WifiPickerTracker extends BaseWifiTracker {
mConnectedWifiEntry.updateNetworkCapabilities(capabilities);
mConnectedWifiEntry.setIsLowQuality(mIsWifiValidated && mIsCellDefaultRoute);
}
+ if (mMergedCarrierEntry != null) {
+ mMergedCarrierEntry.updateNetworkCapabilities(capabilities);
+ }
}
@WorkerThread
@@ -291,15 +318,21 @@ public class WifiPickerTracker extends BaseWifiTracker {
mConnectedWifiEntry.setIsDefaultNetwork(mIsWifiDefaultRoute);
mConnectedWifiEntry.setIsLowQuality(mIsWifiValidated && mIsCellDefaultRoute);
}
+ if (mMergedCarrierEntry != null) {
+ if (mMergedCarrierEntry.getConnectedState() == CONNECTED_STATE_CONNECTED) {
+ mMergedCarrierEntry.setIsDefaultNetwork(mIsWifiDefaultRoute);
+ }
+ mMergedCarrierEntry.updateIsCellDefaultRoute(mIsCellDefaultRoute);
+ }
}
@WorkerThread
@Override
protected void handleNetworkScoreCacheUpdated() {
- for (StandardWifiEntry entry : mStandardWifiEntryCache.values()) {
+ for (StandardWifiEntry entry : mStandardWifiEntryCache) {
entry.onScoreCacheUpdated();
}
- for (StandardWifiEntry entry : mSuggestedWifiEntryCache.values()) {
+ for (StandardWifiEntry entry : mSuggestedWifiEntryCache) {
entry.onScoreCacheUpdated();
}
for (PasspointWifiEntry entry : mPasspointWifiEntryCache.values()) {
@@ -307,19 +340,25 @@ public class WifiPickerTracker extends BaseWifiTracker {
}
}
+ @WorkerThread
+ @Override
+ protected void handleDefaultSubscriptionChanged(int defaultSubId) {
+ updateMergedCarrierEntry(defaultSubId);
+ }
+
/**
* Update the list returned by getWifiEntries() with the current states of the entry caches.
*/
@WorkerThread
- private void updateWifiEntries() {
+ protected void updateWifiEntries() {
synchronized (mLock) {
- mConnectedWifiEntry = mStandardWifiEntryCache.values().stream().filter(entry -> {
+ mConnectedWifiEntry = mStandardWifiEntryCache.stream().filter(entry -> {
final @WifiEntry.ConnectedState int connectedState = entry.getConnectedState();
return connectedState == CONNECTED_STATE_CONNECTED
|| connectedState == CONNECTED_STATE_CONNECTING;
}).findAny().orElse(null /* other */);
if (mConnectedWifiEntry == null) {
- mConnectedWifiEntry = mSuggestedWifiEntryCache.values().stream().filter(entry -> {
+ mConnectedWifiEntry = mSuggestedWifiEntryCache.stream().filter(entry -> {
final @WifiEntry.ConnectedState int connectedState = entry.getConnectedState();
return connectedState == CONNECTED_STATE_CONNECTED
|| connectedState == CONNECTED_STATE_CONNECTING;
@@ -337,32 +376,32 @@ public class WifiPickerTracker extends BaseWifiTracker {
mConnectedWifiEntry = mNetworkRequestEntry;
}
mWifiEntries.clear();
- for (String key : mStandardWifiEntryCache.keySet()) {
- // Continue if we're connected to this network with a non-user-shareable config.
- if (mConnectedWifiEntry != null
- && TextUtils.equals(key, mConnectedWifiEntry.getKey())) {
+ final Set<ScanResultKey> scanResultKeysWithVisibleSuggestions =
+ mSuggestedWifiEntryCache.stream()
+ .filter(entry -> entry.isUserShareable()
+ || entry == mConnectedWifiEntry)
+ .map(entry -> entry.getStandardWifiEntryKey().getScanResultKey())
+ .collect(Collectors.toSet());
+ for (StandardWifiEntry entry : mStandardWifiEntryCache) {
+ if (entry == mConnectedWifiEntry) {
continue;
}
- StandardWifiEntry entry = mStandardWifiEntryCache.get(key);
- StandardWifiEntry suggestedEntry = mSuggestedWifiEntryCache.get(key);
- // Return a user-shareable suggested network to the user if one exists
- if (!entry.isSaved()
- && suggestedEntry != null && suggestedEntry.isUserShareable()) {
- if (suggestedEntry.getConnectedState() == CONNECTED_STATE_DISCONNECTED) {
- mWifiEntries.add(suggestedEntry);
- }
- } else {
- if (entry.getConnectedState() == CONNECTED_STATE_DISCONNECTED) {
- mWifiEntries.add(entry);
- }
+ if (!entry.isSaved() && scanResultKeysWithVisibleSuggestions
+ .contains(entry.getStandardWifiEntryKey().getScanResultKey())) {
+ continue;
}
-
+ mWifiEntries.add(entry);
}
+ mWifiEntries.addAll(mSuggestedWifiEntryCache.stream().filter(entry ->
+ entry.getConnectedState() == CONNECTED_STATE_DISCONNECTED
+ && entry.isUserShareable()).collect(toList()));
mWifiEntries.addAll(mPasspointWifiEntryCache.values().stream().filter(entry ->
entry.getConnectedState() == CONNECTED_STATE_DISCONNECTED).collect(toList()));
mWifiEntries.addAll(mOsuWifiEntryCache.values().stream().filter(entry ->
entry.getConnectedState() == CONNECTED_STATE_DISCONNECTED
&& !entry.isAlreadyProvisioned()).collect(toList()));
+ mWifiEntries.addAll(getContextualWifiEntries().stream().filter(entry ->
+ entry.getConnectedState() == CONNECTED_STATE_DISCONNECTED).collect(toList()));
Collections.sort(mWifiEntries);
if (isVerboseLoggingEnabled()) {
Log.v(TAG, "Connected WifiEntry: " + mConnectedWifiEntry);
@@ -373,6 +412,43 @@ public class WifiPickerTracker extends BaseWifiTracker {
}
/**
+ * Updates the MergedCarrierEntry returned by {@link #getMergedCarrierEntry()) with the current
+ * default data subscription ID, or sets it to null if not available.
+ */
+ @WorkerThread
+ private void updateMergedCarrierEntry(int subId) {
+ if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+ if (mMergedCarrierEntry == null) {
+ return;
+ }
+ mMergedCarrierEntry = null;
+ } else {
+ if (mMergedCarrierEntry != null && subId == mMergedCarrierEntry.getSubscriptionId()) {
+ return;
+ }
+ mMergedCarrierEntry = new MergedCarrierEntry(mWorkerHandler, mWifiManager,
+ mWifiNetworkScoreCache, /* forSavedNetworksPage */ false, mContext, subId);
+ mMergedCarrierEntry.updateConnectionInfo(
+ mWifiManager.getConnectionInfo(), mCurrentNetworkInfo);
+ }
+ notifyOnWifiEntriesChanged();
+ }
+
+ /**
+ * Get the contextual WifiEntries added according to customized conditions.
+ */
+ protected List<WifiEntry> getContextualWifiEntries() {
+ return Collections.emptyList();
+ }
+
+ /**
+ * Update the contextual wifi entry according to customized conditions.
+ */
+ protected void updateContextualWifiEntryScans(@NonNull List<ScanResult> scanResults) {
+ // do nothing
+ }
+
+ /**
* Updates or removes scan results for the corresponding StandardWifiEntries.
* New entries will be created for scan results without an existing entry.
* Unreachable entries will be removed.
@@ -383,34 +459,34 @@ public class WifiPickerTracker extends BaseWifiTracker {
private void updateStandardWifiEntryScans(@NonNull List<ScanResult> scanResults) {
checkNotNull(scanResults, "Scan Result list should not be null!");
- // Group scans by StandardWifiEntry key
- final Map<String, List<ScanResult>> scanResultsByKey = mapScanResultsToKey(
- scanResults,
- true /* chooseSingleSecurity */,
- mWifiConfigCache,
- mWifiManager.isWpa3SaeSupported(),
- mWifiManager.isWpa3SuiteBSupported(),
- mWifiManager.isEnhancedOpenSupported());
+ // Group scans by ScanResultKey key
+ final Map<ScanResultKey, List<ScanResult>> scanResultsByKey = scanResults.stream()
+ .filter(scan -> !TextUtils.isEmpty(scan.SSID))
+ .collect(Collectors.groupingBy(ScanResultKey::new));
+ final Set<ScanResultKey> newScanKeys = new ArraySet<>(scanResultsByKey.keySet());
// Iterate through current entries and update each entry's scan results
- mStandardWifiEntryCache.entrySet().removeIf(e -> {
- final String key = e.getKey();
- final StandardWifiEntry entry = e.getValue();
+ mStandardWifiEntryCache.forEach(entry -> {
+ final ScanResultKey scanKey = entry.getStandardWifiEntryKey().getScanResultKey();
+ newScanKeys.remove(scanKey);
// Update scan results if available, or set to null.
- entry.updateScanResultInfo(scanResultsByKey.remove(key));
- // Entry is now unreachable, remove it.
- return entry.getLevel() == WIFI_LEVEL_UNREACHABLE;
+ entry.updateScanResultInfo(scanResultsByKey.get(scanKey));
});
-
// Create new StandardWifiEntry objects for each leftover group of scan results.
- for (Map.Entry<String, List<ScanResult>> e: scanResultsByKey.entrySet()) {
+ for (ScanResultKey scanKey: newScanKeys) {
+ final StandardWifiEntryKey entryKey =
+ new StandardWifiEntryKey(scanKey, true /* isTargetingNewNetworks */);
final StandardWifiEntry newEntry = new StandardWifiEntry(mContext, mMainHandler,
- e.getKey(), e.getValue(), mWifiManager, mWifiNetworkScoreCache,
+ entryKey, mStandardWifiConfigCache.get(entryKey),
+ scanResultsByKey.get(scanKey), mWifiManager, mWifiNetworkScoreCache,
false /* forSavedNetworksPage */);
- // Populate with a saved config, if available
- newEntry.updateConfig(mWifiConfigCache.get(newEntry.getKey()));
- mStandardWifiEntryCache.put(newEntry.getKey(), newEntry);
+ mStandardWifiEntryCache.add(newEntry);
}
+
+ // Remove any entry that is now unreachable due to no scans or unsupported
+ // security types.
+ mStandardWifiEntryCache.removeIf(
+ entry -> entry.getLevel() == WIFI_LEVEL_UNREACHABLE);
}
/**
@@ -424,46 +500,42 @@ public class WifiPickerTracker extends BaseWifiTracker {
private void updateSuggestedWifiEntryScans(@NonNull List<ScanResult> scanResults) {
checkNotNull(scanResults, "Scan Result list should not be null!");
- // Group scans by StandardWifiEntry key
- final Map<String, List<ScanResult>> scanResultsByKey = mapScanResultsToKey(
- scanResults,
- true /* chooseSingleSecurity */,
- mWifiConfigCache,
- mWifiManager.isWpa3SaeSupported(),
- mWifiManager.isWpa3SuiteBSupported(),
- mWifiManager.isEnhancedOpenSupported());
+ // Group scans by ScanResultKey key
+ final Map<ScanResultKey, List<ScanResult>> scanResultsByKey = scanResults.stream()
+ .filter(scan -> !TextUtils.isEmpty(scan.SSID))
+ .collect(Collectors.groupingBy(ScanResultKey::new));
- Map<String, WifiConfiguration> userSharedConfigsByKey =
+ // Iterate through current entries and update each entry's scan results
+ final Set<StandardWifiEntryKey> seenEntryKeys = new ArraySet<>();
+ mSuggestedWifiEntryCache.forEach(entry -> {
+ final StandardWifiEntryKey entryKey = entry.getStandardWifiEntryKey();
+ seenEntryKeys.add(entryKey);
+ // Update scan results if available, or set to null.
+ entry.updateScanResultInfo(scanResultsByKey.get(entryKey.getScanResultKey()));
+ });
+ // Create new StandardWifiEntry objects for each leftover config with scan results.
+ final Set<StandardWifiEntryKey> userSharedEntryKeys =
mWifiManager.getWifiConfigForMatchedNetworkSuggestionsSharedWithUser(scanResults)
.stream()
- .collect(Collectors.toMap(
- StandardWifiEntry::wifiConfigToStandardWifiEntryKey,
- Function.identity()));
-
- Set<String> seenKeys = new TreeSet<>();
- for (String key : userSharedConfigsByKey.keySet()) {
- seenKeys.add(key);
- if (!mSuggestedWifiEntryCache.containsKey(key)) {
- mSuggestedWifiEntryCache.put(key, new StandardWifiEntry(mContext, mMainHandler, key,
- userSharedConfigsByKey.get(key), mWifiManager,
- mWifiNetworkScoreCache, false /* forSavedNetworksPage */));
+ .map(StandardWifiEntryKey::new)
+ .collect(Collectors.toSet());
+ for (StandardWifiEntryKey entryKey : mSuggestedConfigCache.keySet()) {
+ final ScanResultKey scanKey = entryKey.getScanResultKey();
+ if (seenEntryKeys.contains(entryKey)
+ || !scanResultsByKey.containsKey(scanKey)) {
+ continue;
}
- final StandardWifiEntry entry = mSuggestedWifiEntryCache.get(key);
- entry.setUserShareable(true);
- entry.updateScanResultInfo(scanResultsByKey.get(key));
+ final StandardWifiEntry newEntry = new StandardWifiEntry(mContext, mMainHandler,
+ entryKey, mSuggestedConfigCache.get(entryKey),
+ scanResultsByKey.get(scanKey), mWifiManager, mWifiNetworkScoreCache,
+ false /* forSavedNetworksPage */);
+ newEntry.setUserShareable(userSharedEntryKeys.contains(entryKey));
+ mSuggestedWifiEntryCache.add(newEntry);
}
- // Remove entries without configs
- mSuggestedWifiEntryCache.entrySet()
- .removeIf(entry -> {
- StandardWifiEntry wifiEntry = entry.getValue();
- String key = entry.getKey();
- if (!seenKeys.contains(key)) {
- wifiEntry.updateConfig(mSuggestedConfigCache.get(key));
- wifiEntry.setUserShareable(false);
- }
- return !wifiEntry.isSuggestion();
- });
+ // Remove any entry that is now unreachable due to no scans or unsupported
+ // security types.
+ mSuggestedWifiEntryCache.removeIf(entry -> entry.getLevel() == WIFI_LEVEL_UNREACHABLE);
}
@WorkerThread
@@ -561,12 +633,10 @@ public class WifiPickerTracker extends BaseWifiTracker {
return;
}
- String ssid = mNetworkRequestEntry.getSsid();
- @WifiEntry.Security int security = mNetworkRequestEntry.getSecurity();
-
- List<ScanResult> matchedScans = scanResults.stream().filter(scan ->
- TextUtils.equals(scan.SSID, ssid)
- && getSecurityTypesFromScanResult(scan).contains(security))
+ final ScanResultKey scanKey =
+ mNetworkRequestEntry.getStandardWifiEntryKey().getScanResultKey();
+ List<ScanResult> matchedScans = scanResults.stream()
+ .filter(scan -> scanKey.equals(new ScanResultKey(scan)))
.collect(toList());
mNetworkRequestEntry.updateScanResultInfo(matchedScans);
}
@@ -583,6 +653,7 @@ public class WifiPickerTracker extends BaseWifiTracker {
updatePasspointWifiEntryScans(Collections.emptyList());
updateOsuWifiEntryScans(Collections.emptyList());
updateNetworkRequestEntryScans(Collections.emptyList());
+ updateContextualWifiEntryScans(Collections.emptyList());
return;
}
@@ -602,57 +673,7 @@ public class WifiPickerTracker extends BaseWifiTracker {
updatePasspointWifiEntryScans(scanResults);
updateOsuWifiEntryScans(scanResults);
updateNetworkRequestEntryScans(scanResults);
- }
-
- /**
- * Updates the WifiConfiguration caches for a single saved/ephemeral/suggested network and
- * updates the corresponding WifiEntry with the new config.
- *
- * @param config WifiConfiguration to update
- * @param changeReason WifiManager.CHANGE_REASON_ADDED, WifiManager.CHANGE_REASON_REMOVED, or
- * WifiManager.CHANGE_REASON_CONFIG_CHANGE
- */
- @WorkerThread
- private void updateWifiConfiguration(@NonNull WifiConfiguration config,
- int changeReason) {
- checkNotNull(config, "Config should not be null!");
-
- if (config.fromWifiNetworkSpecifier) {
- if (changeReason == WifiManager.CHANGE_REASON_REMOVED) {
- updateNetworkRequestConfig(null);
- } else { // CHANGE_REASON_ADDED || CHANGE_REASON_CONFIG_CHANGE
- updateNetworkRequestConfig(config);
- }
- return;
- }
-
- final String key = wifiConfigToStandardWifiEntryKey(config);
- StandardWifiEntry updatedEntry;
- WifiConfiguration updatedConfig;
- if (config.fromWifiNetworkSuggestion) {
- if (changeReason == WifiManager.CHANGE_REASON_REMOVED) {
- mSuggestedConfigCache.remove(key);
- } else { // CHANGE_REASON_ADDED || CHANGE_REASON_CONFIG_CHANGE
- mSuggestedConfigCache.put(key, config);
- }
- updatedConfig = mSuggestedConfigCache.get(key);
- updatedEntry = mSuggestedWifiEntryCache.get(key);
- } else {
- if (changeReason == WifiManager.CHANGE_REASON_REMOVED) {
- mWifiConfigCache.remove(key);
- } else { // CHANGE_REASON_ADDED || CHANGE_REASON_CONFIG_CHANGE
- mWifiConfigCache.put(key, config);
- }
- updatedConfig = mWifiConfigCache.get(key);
- updatedEntry = mStandardWifiEntryCache.get(key);
- mNumSavedNetworks = (int) mWifiConfigCache.values().stream()
- .filter(cachedConfig ->
- !cachedConfig.isEphemeral() && !cachedConfig.isPasspoint()).count();
- }
-
- if (updatedEntry != null) {
- updatedEntry.updateConfig(updatedConfig);
- }
+ updateContextualWifiEntryScans(scanResults);
}
/**
@@ -664,65 +685,57 @@ public class WifiPickerTracker extends BaseWifiTracker {
@WorkerThread
private void updateWifiConfigurations(@NonNull List<WifiConfiguration> configs) {
checkNotNull(configs, "Config list should not be null!");
- mWifiConfigCache.clear();
+ mStandardWifiConfigCache.clear();
mSuggestedConfigCache.clear();
- boolean networkRequestConfigAvailable = false;
+ mNetworkRequestConfigCache.clear();
+ final List<WifiConfiguration> networkRequestConfigs = new ArrayList<>();
for (WifiConfiguration config : configs) {
- if (config.fromWifiNetworkSuggestion) {
- mSuggestedConfigCache.put(wifiConfigToStandardWifiEntryKey(config), config);
+ if (config.carrierMerged) {
+ continue;
+ }
+ StandardWifiEntryKey standardWifiEntryKey =
+ new StandardWifiEntryKey(config, true /* isTargetingNewNetworks */);
+ if (config.isPasspoint()) {
+ mPasspointWifiConfigCache.put(config.networkId, config);
+ } else if (config.fromWifiNetworkSuggestion) {
+ if (!mSuggestedConfigCache.containsKey(standardWifiEntryKey)) {
+ mSuggestedConfigCache.put(standardWifiEntryKey, new ArrayList<>());
+ }
+ mSuggestedConfigCache.get(standardWifiEntryKey).add(config);
} else if (config.fromWifiNetworkSpecifier) {
- networkRequestConfigAvailable = true;
- updateNetworkRequestConfig(config);
+ if (!mNetworkRequestConfigCache.containsKey(standardWifiEntryKey)) {
+ mNetworkRequestConfigCache.put(standardWifiEntryKey, new ArrayList<>());
+ }
+ mNetworkRequestConfigCache.get(standardWifiEntryKey).add(config);
} else {
- mWifiConfigCache.put(wifiConfigToStandardWifiEntryKey(config), config);
+ if (!mStandardWifiConfigCache.containsKey(standardWifiEntryKey)) {
+ mStandardWifiConfigCache.put(standardWifiEntryKey, new ArrayList<>());
+ }
+ mStandardWifiConfigCache.get(standardWifiEntryKey).add(config);
}
}
- if (!networkRequestConfigAvailable) {
- updateNetworkRequestConfig(null);
- }
- mNumSavedNetworks = (int) mWifiConfigCache.values().stream()
- .filter(cachedConfig ->
- !cachedConfig.isEphemeral() && !cachedConfig.isPasspoint()).count();
+ mNumSavedNetworks = (int) mStandardWifiConfigCache.values().stream()
+ .flatMap(List::stream)
+ .filter(config -> !config.isEphemeral())
+ .map(config -> config.networkId)
+ .distinct()
+ .count();
// Iterate through current entries and update each entry's config
- mStandardWifiEntryCache.entrySet().forEach((entry) -> {
- final StandardWifiEntry wifiEntry = entry.getValue();
- final String key = wifiEntry.getKey();
- final WifiConfiguration config = mWifiConfigCache.get(key);
- if (config != null && config.isPasspoint()) {
- return;
- }
- wifiEntry.updateConfig(config);
- });
+ mStandardWifiEntryCache.forEach(entry ->
+ entry.updateConfig(mStandardWifiConfigCache.get(entry.getStandardWifiEntryKey())));
// Iterate through current suggestion entries and update each entry's config
- mSuggestedWifiEntryCache.entrySet().removeIf((entry) -> {
- final StandardWifiEntry wifiEntry = entry.getValue();
- final String key = wifiEntry.getKey();
- final WifiConfiguration config = mSuggestedConfigCache.get(key);
- if (config != null && !config.isPasspoint()) {
- wifiEntry.updateConfig(config);
- return false;
- } else {
- return true;
- }
+ mSuggestedWifiEntryCache.removeIf(entry -> {
+ entry.updateConfig(mSuggestedConfigCache.get(entry.getStandardWifiEntryKey()));
+ // Remove if the suggestion does not have a config anymore.
+ return !entry.isSuggestion();
});
- }
-
- @WorkerThread
- private void updateNetworkRequestConfig(@Nullable WifiConfiguration config) {
- if (config == null) {
- mNetworkRequestEntry = null;
- return;
- }
- String configKey = wifiConfigToNetworkRequestEntryKey(config);
- if (mNetworkRequestEntry == null
- || !TextUtils.equals(configKey, mNetworkRequestEntry.getKey())) {
- mNetworkRequestEntry = new NetworkRequestEntry(mContext, mMainHandler, configKey,
- mWifiManager, mWifiNetworkScoreCache, false /* forSavedNetworksPPage */);
+ if (mNetworkRequestEntry != null) {
+ mNetworkRequestEntry.updateConfig(
+ mNetworkRequestConfigCache.get(mNetworkRequestEntry.getStandardWifiEntryKey()));
}
- mNetworkRequestEntry.updateConfig(config);
}
@WorkerThread
@@ -751,10 +764,10 @@ public class WifiPickerTracker extends BaseWifiTracker {
@WorkerThread
private void updateConnectionInfo(@Nullable WifiInfo wifiInfo,
@Nullable NetworkInfo networkInfo) {
- for (WifiEntry entry : mStandardWifiEntryCache.values()) {
+ for (WifiEntry entry : mStandardWifiEntryCache) {
entry.updateConnectionInfo(wifiInfo, networkInfo);
}
- for (WifiEntry entry : mSuggestedWifiEntryCache.values()) {
+ for (WifiEntry entry : mSuggestedWifiEntryCache) {
entry.updateConnectionInfo(wifiInfo, networkInfo);
}
for (WifiEntry entry : mPasspointWifiEntryCache.values()) {
@@ -766,6 +779,10 @@ public class WifiPickerTracker extends BaseWifiTracker {
if (mNetworkRequestEntry != null) {
mNetworkRequestEntry.updateConnectionInfo(wifiInfo, networkInfo);
}
+ updateNetworkRequestEntryConnectionInfo(wifiInfo, networkInfo);
+ if (mMergedCarrierEntry != null) {
+ mMergedCarrierEntry.updateConnectionInfo(wifiInfo, networkInfo);
+ }
// Create a StandardWifiEntry for the current connection if there are no scan results yet.
conditionallyCreateConnectedStandardWifiEntry(wifiInfo, networkInfo);
conditionallyCreateConnectedSuggestedWifiEntry(wifiInfo, networkInfo);
@@ -773,6 +790,42 @@ public class WifiPickerTracker extends BaseWifiTracker {
}
/**
+ * Updates the connection info of the current NetworkRequestEntry. A new NetworkRequestEntry is
+ * created if there is no existing entry, or the existing entry doesn't match WifiInfo.
+ */
+ @WorkerThread
+ private void updateNetworkRequestEntryConnectionInfo(
+ @Nullable WifiInfo wifiInfo, @Nullable NetworkInfo networkInfo) {
+ final List<WifiConfiguration> matchingConfigs = new ArrayList<>();
+
+ if (wifiInfo != null) {
+ for (int i = 0; i < mNetworkRequestConfigCache.size(); i++) {
+ final List<WifiConfiguration> configs = mNetworkRequestConfigCache.valueAt(i);
+ if (!configs.isEmpty() && configs.get(0).networkId == wifiInfo.getNetworkId()) {
+ matchingConfigs.addAll(configs);
+ break;
+ }
+ }
+ }
+
+ // WifiInfo isn't for any request configs, remove the NetworkRequestEntry
+ if (matchingConfigs.isEmpty()) {
+ mNetworkRequestEntry = null;
+ return;
+ }
+
+ // WifiInfo matches a request config, create a NetworkRequestEntry or update the existing.
+ final StandardWifiEntryKey entryKey = new StandardWifiEntryKey(matchingConfigs.get(0));
+ if (mNetworkRequestEntry == null
+ || !mNetworkRequestEntry.getStandardWifiEntryKey().equals(entryKey)) {
+ mNetworkRequestEntry = new NetworkRequestEntry(mContext, mMainHandler, entryKey,
+ mWifiManager, mWifiNetworkScoreCache, false /* forSavedNetworksPage */);
+ mNetworkRequestEntry.updateConfig(matchingConfigs);
+ }
+ mNetworkRequestEntry.updateConnectionInfo(wifiInfo, networkInfo);
+ }
+
+ /**
* Creates and caches a StandardWifiEntry representing the current connection using the current
* WifiInfo and NetworkInfo if there are no scans results available for the network yet.
* @param wifiInfo WifiInfo of the current connection
@@ -781,23 +834,33 @@ public class WifiPickerTracker extends BaseWifiTracker {
@WorkerThread
private void conditionallyCreateConnectedStandardWifiEntry(@Nullable WifiInfo wifiInfo,
@Nullable NetworkInfo networkInfo) {
- if (wifiInfo.isPasspointAp() || wifiInfo.isOsuAp()) {
+ if (wifiInfo == null || wifiInfo.isPasspointAp() || wifiInfo.isOsuAp()) {
return;
}
final int connectedNetId = wifiInfo.getNetworkId();
- mWifiConfigCache.values().stream()
- .filter(config ->
- config.networkId == connectedNetId && !mStandardWifiEntryCache.containsKey(
- wifiConfigToStandardWifiEntryKey(config)))
- .findAny().ifPresent(config -> {
- final StandardWifiEntry connectedEntry =
- new StandardWifiEntry(mContext, mMainHandler,
- wifiConfigToStandardWifiEntryKey(config), config, mWifiManager,
- mWifiNetworkScoreCache, false /* forSavedNetworksPage */);
- connectedEntry.updateConnectionInfo(wifiInfo, networkInfo);
- mStandardWifiEntryCache.put(connectedEntry.getKey(), connectedEntry);
- });
+ for (List<WifiConfiguration> configs : mStandardWifiConfigCache.values()) {
+ // List of configs match as long as one of them matches the connected network ID.
+ if (configs.stream()
+ .map(config -> config.networkId)
+ .filter(networkId -> networkId == connectedNetId)
+ .count() == 0) {
+ continue;
+ }
+ final StandardWifiEntryKey entryKey =
+ new StandardWifiEntryKey(configs.get(0), true /* isTargetingNewNetworks */);
+ for (StandardWifiEntry existingEntry : mStandardWifiEntryCache) {
+ if (entryKey.equals(existingEntry.getStandardWifiEntryKey())) {
+ return;
+ }
+ }
+ final StandardWifiEntry connectedEntry =
+ new StandardWifiEntry(mContext, mMainHandler, entryKey, configs, null,
+ mWifiManager, mWifiNetworkScoreCache, false /* forSavedNetworksPage */);
+ connectedEntry.updateConnectionInfo(wifiInfo, networkInfo);
+ mStandardWifiEntryCache.add(connectedEntry);
+ return;
+ }
}
/**
@@ -810,23 +873,29 @@ public class WifiPickerTracker extends BaseWifiTracker {
@WorkerThread
private void conditionallyCreateConnectedSuggestedWifiEntry(@Nullable WifiInfo wifiInfo,
@Nullable NetworkInfo networkInfo) {
- if (wifiInfo.isPasspointAp() || wifiInfo.isOsuAp()) {
+ if (wifiInfo == null || wifiInfo.isPasspointAp() || wifiInfo.isOsuAp()) {
return;
}
final int connectedNetId = wifiInfo.getNetworkId();
- mSuggestedConfigCache.values().stream()
- .filter(config ->
- config.networkId == connectedNetId && !mSuggestedWifiEntryCache.containsKey(
- wifiConfigToStandardWifiEntryKey(config)))
- .findAny().ifPresent(config -> {
- final StandardWifiEntry connectedEntry =
- new StandardWifiEntry(mContext, mMainHandler,
- wifiConfigToStandardWifiEntryKey(config), config, mWifiManager,
- mWifiNetworkScoreCache, false /* forSavedNetworksPage */);
- connectedEntry.updateConnectionInfo(wifiInfo, networkInfo);
- mSuggestedWifiEntryCache.put(connectedEntry.getKey(), connectedEntry);
- });
+ for (List<WifiConfiguration> configs : mSuggestedConfigCache.values()) {
+ if (configs.isEmpty() || configs.get(0).networkId != connectedNetId) {
+ continue;
+ }
+ final StandardWifiEntryKey entryKey =
+ new StandardWifiEntryKey(configs.get(0), true /* isTargetingNewNetworks */);
+ for (StandardWifiEntry existingEntry : mSuggestedWifiEntryCache) {
+ if (entryKey.equals(existingEntry.getStandardWifiEntryKey())) {
+ return;
+ }
+ }
+ final StandardWifiEntry connectedEntry =
+ new StandardWifiEntry(mContext, mMainHandler, entryKey, configs, null,
+ mWifiManager, mWifiNetworkScoreCache, false /* forSavedNetworksPage */);
+ connectedEntry.updateConnectionInfo(wifiInfo, networkInfo);
+ mSuggestedWifiEntryCache.add(connectedEntry);
+ return;
+ }
}
@@ -839,33 +908,34 @@ public class WifiPickerTracker extends BaseWifiTracker {
@WorkerThread
private void conditionallyCreateConnectedPasspointWifiEntry(@Nullable WifiInfo wifiInfo,
@Nullable NetworkInfo networkInfo) {
- if (!wifiInfo.isPasspointAp()) {
+ if (wifiInfo == null || !wifiInfo.isPasspointAp()) {
return;
}
- final int connectedNetId = wifiInfo.getNetworkId();
- Stream.concat(mWifiConfigCache.values().stream(), mSuggestedConfigCache.values().stream())
- .filter(wifiConfig ->
- wifiConfig.isPasspoint() && wifiConfig.networkId == connectedNetId
- && !mPasspointWifiEntryCache.containsKey(
- uniqueIdToPasspointWifiEntryKey(wifiConfig.getKey())))
- .findAny().ifPresent(wifiConfig -> {
- PasspointConfiguration passpointConfig = mPasspointConfigCache.get(
- uniqueIdToPasspointWifiEntryKey(wifiConfig.getKey()));
- PasspointWifiEntry connectedEntry;
- if (passpointConfig != null) {
- connectedEntry = new PasspointWifiEntry(mContext, mMainHandler,
- passpointConfig, mWifiManager, mWifiNetworkScoreCache,
- false /* forSavedNetworksPage */);
- } else {
- // Suggested PasspointWifiEntry without a corresponding Passpoint config
- connectedEntry = new PasspointWifiEntry(mContext, mMainHandler,
- wifiConfig, mWifiManager, mWifiNetworkScoreCache,
- false /* forSavedNetworksPage */);
- }
- connectedEntry.updateConnectionInfo(wifiInfo, networkInfo);
- mPasspointWifiEntryCache.put(connectedEntry.getKey(), connectedEntry);
- });
+ WifiConfiguration cachedWifiConfig = mPasspointWifiConfigCache.get(wifiInfo.getNetworkId());
+ if (cachedWifiConfig == null) {
+ return;
+ }
+ final String key = uniqueIdToPasspointWifiEntryKey(cachedWifiConfig.getKey());
+ if (mPasspointWifiEntryCache.containsKey(key)) {
+ // Entry already exists, skip creating a new one.
+ return;
+ }
+ PasspointConfiguration passpointConfig = mPasspointConfigCache.get(
+ uniqueIdToPasspointWifiEntryKey(cachedWifiConfig.getKey()));
+ PasspointWifiEntry connectedEntry;
+ if (passpointConfig != null) {
+ connectedEntry = new PasspointWifiEntry(mContext, mMainHandler,
+ passpointConfig, mWifiManager, mWifiNetworkScoreCache,
+ false /* forSavedNetworksPage */);
+ } else {
+ // Suggested PasspointWifiEntry without a corresponding PasspointConfiguration
+ connectedEntry = new PasspointWifiEntry(mContext, mMainHandler,
+ cachedWifiConfig, mWifiManager, mWifiNetworkScoreCache,
+ false /* forSavedNetworksPage */);
+ }
+ connectedEntry.updateConnectionInfo(wifiInfo, networkInfo);
+ mPasspointWifiEntryCache.put(connectedEntry.getKey(), connectedEntry);
}
/**
@@ -909,6 +979,7 @@ public class WifiPickerTracker extends BaseWifiTracker {
* Called when there are changes to
* {@link #getConnectedWifiEntry()}
* {@link #getWifiEntries()}
+ * {@link #getMergedCarrierEntry()}
*/
@MainThread
void onWifiEntriesChanged();
diff --git a/libs/WifiTrackerLib/tests/Android.bp b/libs/WifiTrackerLib/tests/Android.bp
index 202674446..50b1cd74b 100644
--- a/libs/WifiTrackerLib/tests/Android.bp
+++ b/libs/WifiTrackerLib/tests/Android.bp
@@ -34,4 +34,6 @@ android_test {
],
platform_apis: true,
+
+ test_suites: ["general-tests"],
}
diff --git a/libs/WifiTrackerLib/tests/AndroidManifest.xml b/libs/WifiTrackerLib/tests/AndroidManifest.xml
index fe624d3e3..37ffd2f46 100644
--- a/libs/WifiTrackerLib/tests/AndroidManifest.xml
+++ b/libs/WifiTrackerLib/tests/AndroidManifest.xml
@@ -20,7 +20,8 @@
<application>
<uses-library android:name="android.test.runner" />
<activity android:label="WifiTrackerTestsDummyLabel"
- android:name="WifiTrackerTestsDummyName">
+ android:name="WifiTrackerTestsDummyName"
+ android:exported="false">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
diff --git a/libs/WifiTrackerLib/tests/simulate_wifi.py b/libs/WifiTrackerLib/tests/simulate_wifi.py
new file mode 100755
index 000000000..ed6efdadb
--- /dev/null
+++ b/libs/WifiTrackerLib/tests/simulate_wifi.py
@@ -0,0 +1,890 @@
+#!/usr/bin/python3
+
+#
+# Copyright 2021, The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# This script simulates different combinations of scans and config to allow a tester to manually
+# verify behavior in the Wi-Fi picker without setting up an actual test environment with real APs.
+# This is especially useful for verifying interactions between scans and configs of multiple
+# security types from the same security family, along with suggestions for the same networks.
+#
+# INSTRUCTIONS:
+# 1) Connect an adb debuggable test device.
+# 2) Open the test device and navigate to the Wi-Fi picker.
+# 3) In main(), uncomment any test cases that you want to test.
+# 4) If testing suggestions INSTEAD of configs, only set ADD_SUGGESTION_INSTEAD_OF_CONFIG to True.
+# 5) If testing suggestions AND configs, only set ADD_IDENTICAL_SUGGESTION to True.
+# 6) Run this script 'py simulate_wifi.py'
+# 7) Follow the prompts from the script. The prompts will ask you to verify the behavior of the
+# Wi-Fi picker through user interaction and visual confirmation.
+#
+# NOTE: Suggestions may take several seconds to appear. This is expected since it may be some scans
+# cycles until WifiManager#getWifiConfigForMatchedNetworkSuggestionsSharedWithUser() returns
+# the matching suggestion.
+
+import subprocess
+import sys
+import time
+
+OPEN_SSID = "fakeOpen"
+OWE_SSID = "fakeOwe"
+OPEN_OWE_SSID = "fakeOpenOwe"
+WPA2_SSID = "fakeWpa2"
+WPA3_SSID = "fakeWpa3"
+WPA2_WPA3_SSID = "fakeWpa2Wpa3"
+
+# only one of these should be True (possibly none for just adding base configuration)
+ADD_SUGGESTION_INSTEAD_OF_CONFIG = False
+ADD_IDENTICAL_SUGGESTION = False
+
+def main() -> None:
+ root()
+ time.sleep(5)
+
+ # Single Open scan
+ # testOpenScanNoConfigs()
+ # testOpenScanOpenConfig()
+ # testOpenScanOweConfig()
+ # testOpenScanOpenOweConfig()
+
+ # Single OWE scan
+ # testOweScanNoConfigs()
+ # testOweScanOpenConfig()
+ # testOweScanOweConfig()
+ # testOweScanOpenOweConfig()
+
+ # Single Open/OWE scan
+ # testOpenOweScanNoConfigs()
+ # testOpenOweScanOpenConfig()
+ # testOpenOweScanOweConfig()
+ # testOpenOweScanOpenOweConfig()
+
+ # Open scan and OWE scan
+ # testOpenScanOweScanNoConfigs()
+ # testOpenScanOweScanOpenConfig()
+ # testOpenScanOweScanOweConfig()
+ # testOpenScanOweScanOpenOweConfig()
+
+ # Open scan and Open/OWE scan
+ # testOpenScanOpenOweScanNoConfigs()
+ # testOpenScanOpenOweScanOpenConfig()
+ # testOpenScanOpenOweScanOweConfig()
+ # testOpenScanOpenOweScanOpenOweConfig()
+
+ # Open/OWE scan and OWE scan
+ # testOpenOweScanOweScanNoConfigs()
+ # testOpenOweScanOweScanOpenConfig()
+ # testOpenOweScanOweScanOweConfig()
+ # testOpenOweScanOweScanOpenOweConfig()
+
+ # Open, Open/OWE, and OWE scans
+ # testOpenScanOpenOweScanOweScanNoConfigs()
+ # testOpenScanOpenOweScanOweScanOpenConfig()
+ # testOpenScanOpenOweScanOweScanOweConfig()
+ # testOpenScanOpenOweScanOweScanOpenOweConfig()
+
+ # Single WPA2 scan
+ # testWpa2ScanNoConfigs()
+ # testWpa2ScanWpa2Config()
+ # testWpa2ScanWpa3Config()
+ # testWpa2ScanWpa2Wpa3Config()
+
+ # Single WPA3 scan
+ # testWpa3ScanNoConfigs()
+ # testWpa3ScanWpa2Config()
+ # testWpa3ScanWpa3Config()
+ # testWpa3ScanWpa2Wpa3Config()
+
+ # Single WP2/WPA3 scan
+ # testWpa2Wpa3ScanNoConfigs()
+ # testWpa2Wpa3ScanWpa2Config()
+ # testWpa2Wpa3ScanWpa3Config()
+ # testWpa2Wpa3ScanWpa2Wpa3Config()
+
+ # WPA2 scan and WPA3 scan
+ # testWpa2ScanWpa3ScanNoConfigs()
+ # testWpa2ScanWpa3ScanWpa2Config()
+ # testWpa2ScanWpa3ScanWpa3Config()
+ # testWpa2ScanWpa3ScanWpa2Wpa3Config()
+
+ # WPA2 scan and WPA2/WPA3 scan
+ # testWpa2ScanWpa2Wpa3ScanNoConfigs()
+ # testWpa2ScanWpa2Wpa3ScanWpa2Config()
+ # testWpa2ScanWpa2Wpa3ScanWpa3Config()
+ # testWpa2ScanWpa2Wpa3ScanWpa2Wpa3Config()
+
+ # WPA2/WPA3 scan and WPA3 scan
+ # testWpa2Wpa3ScanWpa3ScanNoConfigs()
+ # testWpa2Wpa3ScanWpa3ScanWpa2Config()
+ # testWpa2Wpa3ScanWpa3ScanWpa3Config()
+ # testWpa2Wpa3ScanWpa3ScanWpa2Wpa3Config()
+
+ # WPA2, WPA2/WPA3, and WPA3 scans
+ # testWpa2ScanWpa2Wpa3ScanWpa3ScanNoConfigs()
+ # testWpa2ScanWpa2Wpa3ScanWpa3ScanWpa2Config()
+ # testWpa2ScanWpa2Wpa3ScanWpa3ScanWpa3Config()
+ # testWpa2ScanWpa2Wpa3ScanWpa3ScanWpa2Wpa3Config()
+
+ return 0
+
+
+def testTemplate(method_name, fake_scans, fake_configs, pre_instructions, post_instructions) -> None:
+ print("")
+ print("")
+ print("****** Test: " + method_name)
+ print("** Resetting all scans/configs")
+ settings_reset()
+ print("** Starting to fake scans")
+ fake_scans()
+ startFakingScans()
+ startScan()
+ time.sleep(5)
+ print("** Fake scan results:")
+ for scan in getScanResults():
+ print(scan.decode())
+ print("** Inserting fake configurations (and optionally suggestions)")
+ fake_configs()
+ print("** Pre action saved networks:")
+ for config in getSavedConfigs():
+ print(config.decode())
+ if ADD_IDENTICAL_SUGGESTION or ADD_SUGGESTION_INSTEAD_OF_CONFIG:
+ print("** Pre action suggestions:")
+ for sugg in getSuggestions():
+ print(sugg.decode())
+ print("---> " + pre_instructions)
+ input("** Then press Enter to continue ...")
+ print("** Post action saved networks:")
+ for config in getSavedConfigs():
+ print(config.decode())
+ print("---> " + post_instructions)
+ input("** Press Enter to continue ...")
+
+#
+# Single WPA2 scan: different WPA2/WPA3 configurations
+#
+
+def testWpa2ScanNoConfigs() -> None:
+ testTemplate(
+ testWpa2ScanNoConfigs.__name__,
+ lambda : addFakeWpa2Scan(WPA2_SSID, "80:01:02:03:04:05"),
+ lambda : print("no configs added"),
+ "Open picker: select " + WPA2_SSID,
+ "Should ask for passphrase, then be WPA2 (+ WPA3^ if device supports auto-upgrade)"
+ )
+
+def testWpa2ScanWpa2Config() -> None:
+ testTemplate(
+ testWpa2ScanWpa2Config.__name__,
+ lambda : addFakeWpa2Scan(WPA2_SSID, "80:01:02:03:04:05"),
+ lambda : addWpa2Config(WPA2_SSID),
+ "Open picker: select " + WPA2_SSID,
+ "Should not ask for passphrase, then be WPA2 only if device does not support auto-upgrade (otherwise + WPA3^)"
+ )
+
+def testWpa2ScanWpa3Config() -> None:
+ testTemplate(
+ testWpa2ScanWpa3Config.__name__,
+ lambda : addFakeWpa2Scan(WPA2_SSID, "80:01:02:03:04:05"),
+ lambda : addWpa3Config(WPA2_SSID),
+ "Open picker: select " + WPA2_SSID,
+ "Should ask for passphrase, then be WPA2+WPA3"
+ )
+
+def testWpa2ScanWpa2Wpa3Config() -> None:
+ testTemplate(
+ testWpa2ScanWpa2Wpa3Config.__name__,
+ lambda : addFakeWpa2Scan(WPA2_SSID, "80:01:02:03:04:05"),
+ lambda : (addWpa2Config(WPA2_SSID),
+ addWpa3Config(WPA2_SSID)),
+ "Open picker: select " + WPA2_SSID,
+ "Should not ask for passphrase, then be WPA2+WPA3"
+ )
+
+#
+# Single WPA3 scan: different WPA2/WPA3 configurations
+#
+
+def testWpa3ScanNoConfigs() -> None:
+ testTemplate(
+ testWpa3ScanNoConfigs.__name__,
+ lambda : addFakeWpa3Scan(WPA3_SSID, "80:01:02:03:04:05"),
+ lambda : print("no configs added"),
+ "Open picker: select " + WPA3_SSID,
+ "Should ask for passphrase, then be WPA3"
+ )
+
+def testWpa3ScanWpa2Config() -> None:
+ testTemplate(
+ testWpa3ScanWpa2Config.__name__,
+ lambda : addFakeWpa3Scan(WPA3_SSID, "80:01:02:03:04:05"),
+ lambda : addWpa2Config(WPA3_SSID),
+ "Open picker: select " + WPA3_SSID,
+ "If no auto-upgrade: Should ask for passphrase, then be WPA2 + WPA3, otherwise should not ask for passphrase and be WPA2+WPA3^"
+ )
+
+def testWpa3ScanWpa3Config() -> None:
+ testTemplate(
+ testWpa3ScanWpa3Config.__name__,
+ lambda : addFakeWpa3Scan(WPA3_SSID, "80:01:02:03:04:05"),
+ lambda : addWpa3Config(WPA3_SSID),
+ "Open picker: select " + WPA3_SSID,
+ "Should not ask for passphrase, then be WPA3"
+ )
+
+def testWpa3ScanWpa2Wpa3Config() -> None:
+ testTemplate(
+ testWpa3ScanWpa2Wpa3Config.__name__,
+ lambda : addFakeWpa3Scan(WPA3_SSID, "80:01:02:03:04:05"),
+ lambda : (addWpa2Config(WPA3_SSID),
+ addWpa3Config(WPA3_SSID)),
+ "Open picker: select " + WPA3_SSID,
+ "Should not ask for passphrase, then be WPA2+WPA3"
+ )
+
+#
+# Single WPA2/WPA3 scan: different WPA2/WPA3 configurations
+#
+
+def testWpa2Wpa3ScanNoConfigs() -> None:
+ testTemplate(
+ testWpa2Wpa3ScanNoConfigs.__name__,
+ lambda : addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ lambda : print("no configs added"),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should ask for passphrase, then be WPA2 if no auto-upgrade, WPA2+WPA3^ if auto-upgrade"
+ )
+
+def testWpa2Wpa3ScanWpa2Config() -> None:
+ testTemplate(
+ testWpa2Wpa3ScanWpa2Config.__name__,
+ lambda : addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ lambda : addWpa2Config(WPA2_WPA3_SSID),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA2 if no auto-upgrade (otherwise WPA2+WPA3^)"
+ )
+
+def testWpa2Wpa3ScanWpa3Config() -> None:
+ testTemplate(
+ testWpa2Wpa3ScanWpa3Config.__name__,
+ lambda : addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ lambda : addWpa3Config(WPA2_WPA3_SSID),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA3"
+ )
+
+def testWpa2Wpa3ScanWpa2Wpa3Config() -> None:
+ testTemplate(
+ testWpa2Wpa3ScanWpa2Wpa3Config.__name__,
+ lambda : addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ lambda : (addWpa2Config(WPA2_WPA3_SSID),
+ addWpa3Config(WPA2_WPA3_SSID)),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA2+WPA3"
+ )
+
+#
+# Single WPA2 scan and single WPA3 scan: different WPA2/WPA3 configurations
+#
+
+def testWpa2ScanWpa3ScanNoConfigs() -> None:
+ testTemplate(
+ testWpa2ScanWpa3ScanNoConfigs.__name__,
+ lambda : (addFakeWpa2Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa3Scan(WPA2_WPA3_SSID, "80:02:02:03:04:06")),
+ lambda : print("no configs added"),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should ask for passphrase, then be WPA2 if no auto-upgrade, WPA2+WPA3^ if auto-upgrade"
+ )
+
+def testWpa2ScanWpa3ScanWpa2Config() -> None:
+ testTemplate(
+ testWpa2ScanWpa3ScanWpa2Config.__name__,
+ lambda : (addFakeWpa2Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa3Scan(WPA2_WPA3_SSID, "80:02:02:03:04:06")),
+ lambda : addWpa2Config(WPA2_WPA3_SSID),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA2 if no auto-upgrade (otherwise WPA2+WPA3^)"
+ )
+
+def testWpa2ScanWpa3ScanWpa3Config() -> None:
+ testTemplate(
+ testWpa2ScanWpa3ScanWpa3Config.__name__,
+ lambda : (addFakeWpa2Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa3Scan(WPA2_WPA3_SSID, "80:02:02:03:04:06")),
+ lambda : addWpa3Config(WPA2_WPA3_SSID),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA3"
+ )
+
+def testWpa2ScanWpa3ScanWpa2Wpa3Config() -> None:
+ testTemplate(
+ testWpa2ScanWpa3ScanWpa2Wpa3Config.__name__,
+ lambda : (addFakeWpa2Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa3Scan(WPA2_WPA3_SSID, "80:02:02:03:04:06")),
+ lambda : (addWpa2Config(WPA2_WPA3_SSID),
+ addWpa3Config(WPA2_WPA3_SSID)),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA2+WPA3"
+ )
+
+#
+# Single WPA2 scan and single WPA2+WPA3 transition scan: different WPA2/WPA3 configurations
+#
+
+def testWpa2ScanWpa2Wpa3ScanNoConfigs() -> None:
+ testTemplate(
+ testWpa2ScanWpa2Wpa3ScanNoConfigs.__name__,
+ lambda : (addFakeWpa2Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:02:02:03:04:06")),
+ lambda : print("no configs added"),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should ask for passphrase, then be WPA2 if no auto-upgrade, WPA2+WPA3^ if auto-upgrade"
+ )
+
+def testWpa2ScanWpa2Wpa3ScanWpa2Config() -> None:
+ testTemplate(
+ testWpa2ScanWpa2Wpa3ScanWpa2Config.__name__,
+ lambda : (addFakeWpa2Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:02:02:03:04:06")),
+ lambda : addWpa2Config(WPA2_WPA3_SSID),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA2 if no auto-upgrade (otherwise WPA2+WPA3^)"
+ )
+
+def testWpa2ScanWpa2Wpa3ScanWpa3Config() -> None:
+ testTemplate(
+ testWpa2ScanWpa2Wpa3ScanWpa3Config.__name__,
+ lambda : (addFakeWpa2Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:02:02:03:04:06")),
+ lambda : addWpa3Config(WPA2_WPA3_SSID),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA3"
+ )
+
+def testWpa2ScanWpa2Wpa3ScanWpa2Wpa3Config() -> None:
+ testTemplate(
+ testWpa2ScanWpa2Wpa3ScanWpa2Wpa3Config.__name__,
+ lambda : (addFakeWpa2Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:02:02:03:04:06")),
+ lambda : (addWpa2Config(WPA2_WPA3_SSID),
+ addWpa3Config(WPA2_WPA3_SSID)),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA2+WPA3"
+ )
+
+#
+# Single WPA2+WPA3 transition scan and single WPA3 scan: different WPA2/WPA3 configurations
+#
+
+def testWpa2Wpa3ScanWpa3ScanNoConfigs() -> None:
+ testTemplate(
+ testWpa2Wpa3ScanWpa3ScanNoConfigs.__name__,
+ lambda : (addFakeWpa3Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:02:02:03:04:06")),
+ lambda : print("no configs added"),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should ask for passphrase, then be WPA2 if no auto-upgrade, WPA2+WPA3^ if auto-upgrade"
+ )
+
+def testWpa2Wpa3ScanWpa3ScanWpa2Config() -> None:
+ testTemplate(
+ testWpa2Wpa3ScanWpa3ScanWpa2Config.__name__,
+ lambda : (addFakeWpa3Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:02:02:03:04:06")),
+ lambda : addWpa2Config(WPA2_WPA3_SSID),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA2 if no auto-upgrade (otherwise WPA2+WPA3^)"
+ )
+
+def testWpa2Wpa3ScanWpa3ScanWpa3Config() -> None:
+ testTemplate(
+ testWpa2Wpa3ScanWpa3ScanWpa3Config.__name__,
+ lambda : (addFakeWpa3Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:02:02:03:04:06")),
+ lambda : addWpa3Config(WPA2_WPA3_SSID),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA3"
+ )
+
+def testWpa2Wpa3ScanWpa3ScanWpa2Wpa3Config() -> None:
+ testTemplate(
+ testWpa2Wpa3ScanWpa3ScanWpa2Wpa3Config.__name__,
+ lambda : (addFakeWpa3Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:02:02:03:04:06")),
+ lambda : (addWpa2Config(WPA2_WPA3_SSID),
+ addWpa3Config(WPA2_WPA3_SSID)),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA2+WPA3"
+ )
+
+#
+# Single WPA2 scan, single WPA2+WPA3 transition scan, and single WPA3 scan: different WPA2/WPA3 configurations
+#
+
+def testWpa2ScanWpa2Wpa3ScanWpa3ScanNoConfigs() -> None:
+ testTemplate(
+ testWpa2ScanWpa2Wpa3ScanWpa3ScanNoConfigs.__name__,
+ lambda : (addFakeWpa2Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa3Scan(WPA2_WPA3_SSID, "80:02:02:03:04:06"),
+ addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:03:02:03:04:07")),
+ lambda : print("no configs added"),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should ask for passphrase, then be WPA2 if no auto-upgrade, WPA2+WPA3^ if auto-upgrade"
+ )
+
+def testWpa2ScanWpa2Wpa3ScanWpa3ScanWpa2Config() -> None:
+ testTemplate(
+ testWpa2ScanWpa2Wpa3ScanWpa3ScanWpa2Config.__name__,
+ lambda : (addFakeWpa2Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa3Scan(WPA2_WPA3_SSID, "80:02:02:03:04:06"),
+ addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:03:02:03:04:07")),
+ lambda : addWpa2Config(WPA2_WPA3_SSID),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA2 if no auto-upgrade (otherwise WPA2+WPA3^)"
+ )
+
+def testWpa2ScanWpa2Wpa3ScanWpa3ScanWpa3Config() -> None:
+ testTemplate(
+ testWpa2ScanWpa2Wpa3ScanWpa3ScanWpa3Config.__name__,
+ lambda : (addFakeWpa2Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa3Scan(WPA2_WPA3_SSID, "80:02:02:03:04:06"),
+ addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:03:02:03:04:07")),
+ lambda : addWpa3Config(WPA2_WPA3_SSID),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA3"
+ )
+
+def testWpa2ScanWpa2Wpa3ScanWpa3ScanWpa2Wpa3Config() -> None:
+ testTemplate(
+ testWpa2ScanWpa2Wpa3ScanWpa3ScanWpa2Wpa3Config.__name__,
+ lambda : (addFakeWpa2Scan(WPA2_WPA3_SSID, "80:01:02:03:04:05"),
+ addFakeWpa3Scan(WPA2_WPA3_SSID, "80:02:02:03:04:06"),
+ addFakeWpa2Wpa3TransitionScan(WPA2_WPA3_SSID, "80:03:02:03:04:07")),
+ lambda : (addWpa2Config(WPA2_WPA3_SSID),
+ addWpa3Config(WPA2_WPA3_SSID)),
+ "Open picker: select " + WPA2_WPA3_SSID,
+ "Should not ask for passphrase, then be WPA2+WPA3"
+ )
+
+#
+# Single open scan: different open/OWE configurations
+#
+
+def testOpenScanNoConfigs() -> None:
+ testTemplate(
+ testOpenScanNoConfigs.__name__,
+ lambda : addFakeOpenScan(OPEN_SSID, "80:01:02:03:04:05"),
+ lambda : print("no configs added"),
+ "Open picker: select " + OPEN_SSID,
+ "Should be Open + OWE^ if device supports auto-upgrade"
+ )
+
+def testOpenScanOpenConfig() -> None:
+ testTemplate(
+ testOpenScanOpenConfig.__name__,
+ lambda : addFakeOpenScan(OPEN_SSID, "80:01:02:03:04:05"),
+ lambda : addOpenConfig(OPEN_SSID),
+ "Open picker: select " + OPEN_SSID,
+ "Should be Open only if device does not support auto-upgrade (otherwise + OWE^)"
+ )
+
+def testOpenScanOweConfig() -> None:
+ testTemplate(
+ testOpenScanOweConfig.__name__,
+ lambda : addFakeOpenScan(OPEN_SSID, "80:01:02:03:04:05"),
+ lambda : addOweConfig(OPEN_SSID),
+ "Open picker: select " + OPEN_SSID,
+ "Should be Open + OWE"
+ )
+
+def testOpenScanOpenOweConfig() -> None:
+ testTemplate(
+ testOpenScanOpenOweConfig.__name__,
+ lambda : addFakeOpenScan(OPEN_SSID, "80:01:02:03:04:05"),
+ lambda : (addOpenConfig(OPEN_SSID),
+ addOweConfig(OPEN_SSID)),
+ "Open picker: select " + OPEN_SSID,
+ "Should be Open + OWE"
+ )
+
+#
+# Single OWE scan: different open/OWE configurations
+#
+
+def testOweScanNoConfigs() -> None:
+ testTemplate(
+ testOweScanNoConfigs.__name__,
+ lambda : addFakeOweScan(OWE_SSID, "80:01:02:03:04:05"),
+ lambda : print("no configs added"),
+ "Open picker: select " + OWE_SSID,
+ "Should be OWE"
+ )
+
+def testOweScanOpenConfig() -> None:
+ testTemplate(
+ testOweScanOpenConfig.__name__,
+ lambda : addFakeOweScan(OWE_SSID, "80:01:02:03:04:05"),
+ lambda : addOpenConfig(OWE_SSID),
+ "Open picker: select " + OWE_SSID,
+ "Should be Open+OWE^"
+ )
+
+def testOweScanOweConfig() -> None:
+ testTemplate(
+ testOweScanOweConfig.__name__,
+ lambda : addFakeOweScan(OWE_SSID, "80:01:02:03:04:05"),
+ lambda : addOweConfig(OWE_SSID),
+ "Open picker: select " + OWE_SSID,
+ "Should be OWE"
+ )
+
+def testOweScanOpenOweConfig() -> None:
+ testTemplate(
+ testOweScanOpenOweConfig.__name__,
+ lambda : addFakeOweScan(OWE_SSID, "80:01:02:03:04:05"),
+ lambda : (addOpenConfig(OWE_SSID),
+ addOweConfig(OWE_SSID)),
+ "Open picker: select " + OWE_SSID,
+ "Should be Open + OWE"
+ )
+
+#
+# Single Open/OWE transition mode scan: different open/OWE configurations
+#
+
+def testOpenOweScanNoConfigs() -> None:
+ testTemplate(
+ testOpenOweScanNoConfigs.__name__,
+ lambda : addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ lambda : print("no configs added"),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open+OWE"
+ )
+
+def testOpenOweScanOpenConfig() -> None:
+ testTemplate(
+ testOpenOweScanOpenConfig.__name__,
+ lambda : addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ lambda : addOpenConfig(OPEN_OWE_SSID),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open+OWE^"
+ )
+
+def testOpenOweScanOweConfig() -> None:
+ testTemplate(
+ testOpenOweScanOweConfig.__name__,
+ lambda : addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ lambda : addOweConfig(OPEN_OWE_SSID),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be OWE"
+ )
+
+def testOpenOweScanOpenOweConfig() -> None:
+ testTemplate(
+ testOpenOweScanOpenOweConfig.__name__,
+ lambda : addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ lambda : (addOpenConfig(OPEN_OWE_SSID),
+ addOweConfig(OPEN_OWE_SSID)),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open + OWE"
+ )
+
+#
+# Single Open scan and single OWE scan: different Open/OWE configurations
+#
+
+def testOpenScanOweScanNoConfigs() -> None:
+ testTemplate(
+ testOpenScanOweScanNoConfigs.__name__,
+ lambda : (addFakeOpenScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOweScan(OPEN_OWE_SSID, "80:02:02:03:04:06")),
+ lambda : print("no configs added"),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open+OWE"
+ )
+
+def testOpenScanOweScanOpenConfig() -> None:
+ testTemplate(
+ testOpenScanOweScanOpenConfig.__name__,
+ lambda : (addFakeOpenScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOweScan(OPEN_OWE_SSID, "80:02:02:03:04:06")),
+ lambda : addOpenConfig(OPEN_OWE_SSID),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open if no auto-upgrade (otherwise Open+OWE^)"
+ )
+
+def testOpenScanOweScanOweConfig() -> None:
+ testTemplate(
+ testOpenScanOweScanOweConfig.__name__,
+ lambda : (addFakeOpenScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOweScan(OPEN_OWE_SSID, "80:02:02:03:04:06")),
+ lambda : addOweConfig(OPEN_OWE_SSID),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be OWE"
+ )
+
+def testOpenScanOweScanOpenOweConfig() -> None:
+ testTemplate(
+ testOpenScanOweScanOpenOweConfig.__name__,
+ lambda : (addFakeOpenScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOweScan(OPEN_OWE_SSID, "80:02:02:03:04:06")),
+ lambda : (addOpenConfig(OPEN_OWE_SSID),
+ addOweConfig(OPEN_OWE_SSID)),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open+OWE"
+ )
+
+#
+# Single Open scan and single Open+OWE transition scan: different Open/OWE configurations
+#
+
+def testOpenScanOpenOweScanNoConfigs() -> None:
+ testTemplate(
+ testOpenScanOpenOweScanNoConfigs.__name__,
+ lambda : (addFakeOpenScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:02:02:03:04:06")),
+ lambda : print("no configs added"),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open+OWE"
+ )
+
+def testOpenScanOpenOweScanOpenConfig() -> None:
+ testTemplate(
+ testOpenScanOpenOweScanOpenConfig.__name__,
+ lambda : (addFakeOpenScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:02:02:03:04:06")),
+ lambda : addOpenConfig(OPEN_OWE_SSID),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open if no auto-upgrade (otherwise Open+OWE^)"
+ )
+
+def testOpenScanOpenOweScanOweConfig() -> None:
+ testTemplate(
+ testOpenScanOpenOweScanOweConfig.__name__,
+ lambda : (addFakeOpenScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:02:02:03:04:06")),
+ lambda : addOweConfig(OPEN_OWE_SSID),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be OWE"
+ )
+
+def testOpenScanOpenOweScanOpenOweConfig() -> None:
+ testTemplate(
+ testOpenScanOpenOweScanOpenOweConfig.__name__,
+ lambda : (addFakeOpenScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:02:02:03:04:06")),
+ lambda : (addOpenConfig(OPEN_OWE_SSID),
+ addOweConfig(OPEN_OWE_SSID)),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open+OWE"
+ )
+
+#
+# Single Open+OWE transition scan and single OWE scan: different Open/OWE configurations
+#
+
+def testOpenOweScanOweScanNoConfigs() -> None:
+ testTemplate(
+ testOpenOweScanOweScanNoConfigs.__name__,
+ lambda : (addFakeOweScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:02:02:03:04:06")),
+ lambda : print("no configs added"),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open+OWE"
+ )
+
+def testOpenOweScanOweScanOpenConfig() -> None:
+ testTemplate(
+ testOpenOweScanOweScanOpenConfig.__name__,
+ lambda : (addFakeOweScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:02:02:03:04:06")),
+ lambda : addOpenConfig(OPEN_OWE_SSID),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open if no auto-upgrade (otherwise Open+OWE^)"
+ )
+
+def testOpenOweScanOweScanOweConfig() -> None:
+ testTemplate(
+ testOpenOweScanOweScanOweConfig.__name__,
+ lambda : (addFakeOweScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:02:02:03:04:06")),
+ lambda : addOweConfig(OPEN_OWE_SSID),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be OWE"
+ )
+
+def testOpenOweScanOweScanOpenOweConfig() -> None:
+ testTemplate(
+ testOpenOweScanOweScanOpenOweConfig.__name__,
+ lambda : (addFakeOweScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:02:02:03:04:06")),
+ lambda : (addOpenConfig(OPEN_OWE_SSID),
+ addOweConfig(OPEN_OWE_SSID)),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open+OWE"
+ )
+
+#
+# Single Open scan, single Open+OWE transition scan, and single OWE scan: different Open/OWE configurations
+#
+
+def testOpenScanOpenOweScanOweScanNoConfigs() -> None:
+ testTemplate(
+ testOpenScanOpenOweScanOweScanNoConfigs.__name__,
+ lambda : (addFakeOpenScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOweScan(OPEN_OWE_SSID, "80:02:02:03:04:06"),
+ addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:03:02:03:04:07")),
+ lambda : print("no configs added"),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open+OWE"
+ )
+
+def testOpenScanOpenOweScanOweScanOpenConfig() -> None:
+ testTemplate(
+ testOpenScanOpenOweScanOweScanOpenConfig.__name__,
+ lambda : (addFakeOpenScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOweScan(OPEN_OWE_SSID, "80:02:02:03:04:06"),
+ addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:03:02:03:04:07")),
+ lambda : addOpenConfig(OPEN_OWE_SSID),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open if no auto-upgrade (otherwise Open+OWE^)"
+ )
+
+def testOpenScanOpenOweScanOweScanOweConfig() -> None:
+ testTemplate(
+ testOpenScanOpenOweScanOweScanOweConfig.__name__,
+ lambda : (addFakeOpenScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOweScan(OPEN_OWE_SSID, "80:02:02:03:04:06"),
+ addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:03:02:03:04:07")),
+ lambda : addOweConfig(OPEN_OWE_SSID),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be OWE"
+ )
+
+def testOpenScanOpenOweScanOweScanOpenOweConfig() -> None:
+ testTemplate(
+ testOpenScanOpenOweScanOweScanOpenOweConfig.__name__,
+ lambda : (addFakeOpenScan(OPEN_OWE_SSID, "80:01:02:03:04:05"),
+ addFakeOweScan(OPEN_OWE_SSID, "80:02:02:03:04:06"),
+ addFakeOpenOweTransitionScan(OPEN_OWE_SSID, "80:03:02:03:04:07")),
+ lambda : (addOpenConfig(OPEN_OWE_SSID),
+ addOweConfig(OPEN_OWE_SSID)),
+ "Open picker: select " + OPEN_OWE_SSID,
+ "Should be Open+OWE"
+ )
+
+def root() -> None:
+ subprocess.run(["adb", "root"])
+
+def settings_reset() -> None:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "settings-reset"])
+
+def getSavedConfigs() -> str:
+ return subprocess.check_output(["adb", "shell", "cmd", "wifi", "list-networks"]).splitlines()
+
+def getSuggestions() -> str:
+ return subprocess.check_output(["adb", "shell", "cmd", "wifi", "list-suggestions"]).splitlines()
+
+def getScanResults() -> str:
+ return subprocess.check_output(["adb", "shell", "cmd", "wifi", "list-scan-results"]).splitlines()
+
+def startScan() -> None:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "start-scan"])
+
+def startFakingScans() -> None:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "start-faking-scans"])
+
+def resetFakeScans() -> None:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "reset-fake-scans"])
+
+#
+# Add fake scans
+#
+
+def addFakeScan(ssid: str, bssid: str, cap: str, freq: int = 2412, dbm: int = -55) -> None:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-fake-scan", ssid, bssid, cap, str(freq), str(dbm)])
+
+def addFakeOpenScan(ssid: str, bssid: str, freq: int = 2412, dbm: int = -55) -> None:
+ addFakeScan(ssid, bssid, "[ESS]", freq, dbm)
+
+def addFakeWpa2Scan(ssid: str, bssid: str, freq: int = 2412, dbm: int = -55) -> None:
+ addFakeScan(ssid, bssid, "[WPA2-PSK-CCMP][RSN-PSK-CCMP][ESS]", freq, dbm)
+
+def addFakeWpa3Scan(ssid: str, bssid: str, freq: int = 2412, dbm: int = -55) -> None:
+ addFakeScan(ssid, bssid, "[RSN-SAE+FT/SAE-CCMP][ESS]", freq, dbm)
+
+def addFakeOweScan(ssid: str, bssid: str, freq: int = 2412, dbm: int = -55) -> None:
+ addFakeScan(ssid, bssid, "[RSN-OWE-CCMP]", freq, dbm)
+
+def addFakeWpa2Wpa3TransitionScan(ssid: str, bssid: str, freq: int = 2412, dbm: int = -55) -> None:
+ addFakeScan(ssid, bssid, "[WPA2-PSK-CCMP][RSN-PSK+SAE-CCMP][ESS][MFPC]", freq, dbm)
+
+def addFakeOpenOweTransitionScan(ssid: str, bssid: str, freq: int = 2412, dbm: int = -55) -> None:
+ addFakeScan(ssid, bssid, "[RSN-OWE_TRANSITION-CCMP][ESS]", freq, dbm)
+
+def addFakePasspointScan(ssid: str, bssid: str, freq: int = 2412, dbm: int = -55) -> None:
+ addFakeScan(ssid, bssid, "[WPA2-EAP/SHA1-CCMP][RSN-EAP/SHA1-CCMP][ESS][MFPR][MFPC][PASSPOINT]", freq, dbm)
+
+#
+# Add configs
+#
+
+def addOpenConfig(ssid: str) -> None:
+ if not ADD_SUGGESTION_INSTEAD_OF_CONFIG:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-network", ssid, "open"])
+ if ADD_IDENTICAL_SUGGESTION or ADD_SUGGESTION_INSTEAD_OF_CONFIG:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-suggestion", ssid, "open"])
+
+def addOweConfig(ssid: str) -> None:
+ if not ADD_SUGGESTION_INSTEAD_OF_CONFIG:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-network", ssid, "owe"])
+ if ADD_IDENTICAL_SUGGESTION or ADD_SUGGESTION_INSTEAD_OF_CONFIG:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-suggestion", ssid, "owe"])
+
+def addOpenOweConfig(ssid: str) -> None:
+ if not ADD_SUGGESTION_INSTEAD_OF_CONFIG:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-network", ssid, "open"])
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-network", ssid, "owe"])
+ if ADD_IDENTICAL_SUGGESTION or ADD_SUGGESTION_INSTEAD_OF_CONFIG:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-suggestion", ssid, "open"])
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-suggestion", ssid, "owe"])
+
+def addWpa2Config(ssid: str) -> None:
+ if not ADD_SUGGESTION_INSTEAD_OF_CONFIG:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-network", ssid, "wpa2", "SomePassphrase"])
+ if ADD_IDENTICAL_SUGGESTION or ADD_SUGGESTION_INSTEAD_OF_CONFIG:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-suggestion", ssid, "wpa2", "SomePassphrase", "-s"])
+
+def addWpa3Config(ssid: str) -> None:
+ if not ADD_SUGGESTION_INSTEAD_OF_CONFIG:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-network", ssid, "wpa3", "SomePassphrase"])
+ if ADD_IDENTICAL_SUGGESTION or ADD_SUGGESTION_INSTEAD_OF_CONFIG:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-suggestion", ssid, "wpa3", "SomePassphrase", "-s"])
+
+def addWpa2Wpa3Config(ssid: str) -> None:
+ if not ADD_SUGGESTION_INSTEAD_OF_CONFIG:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-network", ssid, "wpa2", "SomePassphrase"])
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-network", ssid, "wpa3", "SomePassphrase"])
+ if ADD_IDENTICAL_SUGGESTION or ADD_SUGGESTION_INSTEAD_OF_CONFIG:
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-suggestion", ssid, "wpa2", "SomePassphrase", "-s"])
+ subprocess.run(["adb", "shell", "cmd", "wifi", "add-suggestion", ssid, "wpa3", "SomePassphrase", "-s"])
+
+if __name__ == '__main__':
+ exit_code = main()
+ sys.exit(exit_code)
+
+
+
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/MergedCarrierEntryTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/MergedCarrierEntryTest.java
new file mode 100644
index 000000000..b13d60be4
--- /dev/null
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/MergedCarrierEntryTest.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.wifitrackerlib;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.net.NetworkInfo;
+import android.net.NetworkKey;
+import android.net.ScoredNetwork;
+import android.net.wifi.ScanResult;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
+import android.net.wifi.WifiNetworkScoreCache;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.test.TestLooper;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+public class MergedCarrierEntryTest {
+ @Mock private WifiEntry.ConnectCallback mMockConnectCallback;
+ @Mock private WifiManager mMockWifiManager;
+ @Mock private WifiInfo mMockWifiInfo;
+ @Mock private NetworkInfo mMockNetworkInfo;
+ @Mock private Context mMockContext;
+ @Mock private Resources mMockResources;
+ @Mock private WifiNetworkScoreCache mMockScoreCache;
+ @Mock private ScoredNetwork mMockScoredNetwork;
+
+ private TestLooper mTestLooper;
+ private Handler mTestHandler;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ when(mMockWifiInfo.getNetworkId()).thenReturn(WifiConfiguration.INVALID_NETWORK_ID);
+ when(mMockWifiInfo.getRssi()).thenReturn(WifiInfo.INVALID_RSSI);
+ when(mMockNetworkInfo.getDetailedState()).thenReturn(
+ NetworkInfo.DetailedState.DISCONNECTED);
+ when(mMockScoreCache.getScoredNetwork((ScanResult) any())).thenReturn(mMockScoredNetwork);
+ when(mMockScoreCache.getScoredNetwork((NetworkKey) any())).thenReturn(mMockScoredNetwork);
+ mTestLooper = new TestLooper();
+ mTestHandler = new Handler(mTestLooper.getLooper());
+ when(mMockContext.getMainLooper()).thenReturn(Looper.getMainLooper());
+ when(mMockContext.getResources()).thenReturn(mMockResources);
+ when(mMockResources.getString(R.string.wifitrackerlib_summary_separator)).thenReturn("/");
+ when(mMockResources.getText(R.string.wifitrackerlib_wifi_wont_autoconnect_for_now))
+ .thenReturn("Wi-Fi won't auto-connect for now");
+ }
+
+ @Test
+ public void testGetConnectedState_wifiInfoMatches_returnsConnected() {
+ final int subId = 1;
+ final MergedCarrierEntry entry = new MergedCarrierEntry(mTestHandler, mMockWifiManager,
+ mMockScoreCache, false, mMockContext, subId);
+ when(mMockWifiInfo.isCarrierMerged()).thenReturn(true);
+ when(mMockWifiInfo.getSubscriptionId()).thenReturn(subId);
+ when(mMockNetworkInfo.getDetailedState()).thenReturn(NetworkInfo.DetailedState.CONNECTED);
+
+ entry.updateConnectionInfo(mMockWifiInfo, mMockNetworkInfo);
+
+ assertThat(entry.getConnectedState()).isEqualTo(WifiEntry.CONNECTED_STATE_CONNECTED);
+ }
+
+ @Test
+ public void testConnect_disablesNonCarrierMergedWifi() {
+ Looper.prepare();
+ final int subId = 1;
+ final MergedCarrierEntry entry = new MergedCarrierEntry(mTestHandler, mMockWifiManager,
+ mMockScoreCache, false, mMockContext, subId);
+
+ entry.connect(mMockConnectCallback);
+ mTestLooper.dispatchAll();
+
+ verify(mMockConnectCallback)
+ .onConnectResult(WifiEntry.ConnectCallback.CONNECT_STATUS_SUCCESS);
+ verify(mMockWifiManager).startRestrictingAutoJoinToSubscriptionId(subId);
+ }
+
+ @Test
+ public void testDisconnect_enablesNonCarrierMergedWifiAndTriggersScan() {
+ final int subId = 1;
+ final MergedCarrierEntry entry = new MergedCarrierEntry(mTestHandler, mMockWifiManager,
+ mMockScoreCache, false, mMockContext, subId);
+
+ entry.disconnect(null);
+ mTestLooper.dispatchAll();
+ verify(mMockWifiManager).stopRestrictingAutoJoinToSubscriptionId();
+ verify(mMockWifiManager).startScan();
+ }
+
+ @Test
+ public void testCanConnect_cellIsDefaultRoute_returnsFalse() {
+ final int subId = 1;
+ final MergedCarrierEntry entry = new MergedCarrierEntry(mTestHandler, mMockWifiManager,
+ mMockScoreCache, false, mMockContext, subId);
+ entry.updateIsCellDefaultRoute(false);
+
+ assertThat(entry.canConnect()).isTrue();
+
+ entry.updateIsCellDefaultRoute(true);
+
+ assertThat(entry.canConnect()).isFalse();
+ }
+
+ @Test
+ public void testGetSsid_connected_returnsSanitizedWifiInfoSsid() {
+ final int subId = 1;
+ final MergedCarrierEntry entry = new MergedCarrierEntry(mTestHandler, mMockWifiManager,
+ mMockScoreCache, false, mMockContext, subId);
+ when(mMockWifiInfo.isCarrierMerged()).thenReturn(true);
+ when(mMockWifiInfo.getSubscriptionId()).thenReturn(subId);
+ final String ssid = "ssid";
+ when(mMockWifiInfo.getSSID()).thenReturn("\"" + ssid + "\"");
+ when(mMockNetworkInfo.getDetailedState()).thenReturn(NetworkInfo.DetailedState.CONNECTED);
+
+ entry.updateConnectionInfo(mMockWifiInfo, mMockNetworkInfo);
+
+ assertThat(entry.getSsid()).isEqualTo(ssid);
+ }
+}
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/NetworkDetailsTrackerTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/NetworkDetailsTrackerTest.java
index eedd1a66c..ef2c003a2 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/NetworkDetailsTrackerTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/NetworkDetailsTrackerTest.java
@@ -17,6 +17,8 @@
package com.android.wifitrackerlib;
import static com.android.wifitrackerlib.NetworkDetailsTracker.createNetworkDetailsTracker;
+import static com.android.wifitrackerlib.StandardWifiEntry.ScanResultKey;
+import static com.android.wifitrackerlib.StandardWifiEntry.StandardWifiEntryKey;
import static com.google.common.truth.Truth.assertThat;
@@ -39,6 +41,7 @@ import org.mockito.MockitoAnnotations;
import java.time.Clock;
import java.util.ArrayList;
+import java.util.Collections;
public class NetworkDetailsTrackerTest {
@@ -108,9 +111,11 @@ public class NetworkDetailsTrackerTest {
* StandardWifiEntry key is passed in.
*/
@Test
- public void testCreateNetworkDetailsTracker_returnsStandardNetworkDetailsTracker() {
- final NetworkDetailsTracker tracker =
- createTestNetworkDetailsTracker(StandardWifiEntry.KEY_PREFIX + "ssid,0");
+ public void testCreateNetworkDetailsTracker_returnsStandardNetworkDetailsTracker()
+ throws Exception {
+ final NetworkDetailsTracker tracker = createTestNetworkDetailsTracker(
+ new StandardWifiEntryKey(new ScanResultKey("ssid",
+ Collections.singletonList(WifiEntry.SECURITY_NONE))).toString());
assertThat(tracker).isInstanceOf(StandardNetworkDetailsTracker.class);
}
}
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/PasspointWifiEntryTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/PasspointWifiEntryTest.java
index aa96fb8c7..f42b3d22c 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/PasspointWifiEntryTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/PasspointWifiEntryTest.java
@@ -25,6 +25,8 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
@@ -50,6 +52,7 @@ import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import java.util.Arrays;
import java.util.Collections;
public class PasspointWifiEntryTest {
@@ -64,6 +67,7 @@ public class PasspointWifiEntryTest {
@Mock private NetworkInfo mMockNetworkInfo;
@Mock private WifiNetworkScoreCache mMockScoreCache;
@Mock private ScoredNetwork mMockScoredNetwork;
+ @Mock private ConnectivityManager mMockConnectivityManager;
private TestLooper mTestLooper;
private Handler mTestHandler;
@@ -72,6 +76,13 @@ public class PasspointWifiEntryTest {
@Before
public void setUp() {
+ Utils.sFeatureFlagUtilsWrapper = new Utils.FeatureFlagUtilsWrapper() {
+ @Override
+ boolean isProviderModelEnabled(Context context) {
+ return false;
+ }
+ };
+
MockitoAnnotations.initMocks(this);
mTestLooper = new TestLooper();
@@ -82,7 +93,7 @@ public class PasspointWifiEntryTest {
when(mMockNetworkInfo.getDetailedState()).thenReturn(
NetworkInfo.DetailedState.DISCONNECTED);
when(mMockContext.getResources()).thenReturn(mMockResources);
- when(mMockResources.getString(R.string.summary_separator)).thenReturn("/");
+ when(mMockResources.getString(R.string.wifitrackerlib_summary_separator)).thenReturn("/");
when(mMockScoreCache.getScoredNetwork((ScanResult) any())).thenReturn(mMockScoredNetwork);
when(mMockScoreCache.getScoredNetwork((NetworkKey) any())).thenReturn(mMockScoredNetwork);
}
@@ -92,7 +103,8 @@ public class PasspointWifiEntryTest {
// default SubscriptionExpirationTimeInMillis is unset
PasspointConfiguration passpointConfiguration = getPasspointConfiguration();
String expired = "Expired";
- when(mMockResources.getString(R.string.wifi_passpoint_expired)).thenReturn(expired);
+ when(mMockResources.getString(R.string.wifitrackerlib_wifi_passpoint_expired))
+ .thenReturn(expired);
PasspointWifiEntry passpointWifiEntry = new PasspointWifiEntry(mMockContext, mTestHandler,
passpointConfiguration, mMockWifiManager, mMockScoreCache,
@@ -105,7 +117,8 @@ public class PasspointWifiEntryTest {
public void testGetSummary_expired_showExpired() {
PasspointConfiguration passpointConfiguration = getPasspointConfiguration();
String expired = "Expired";
- when(mMockResources.getString(R.string.wifi_passpoint_expired)).thenReturn(expired);
+ when(mMockResources.getString(R.string.wifitrackerlib_wifi_passpoint_expired))
+ .thenReturn(expired);
PasspointWifiEntry passpointWifiEntry = new PasspointWifiEntry(mMockContext, mTestHandler,
passpointConfiguration, mMockWifiManager, mMockScoreCache,
false /* forSavedNetworksPage */);
@@ -143,8 +156,10 @@ public class PasspointWifiEntryTest {
Resources mockResources = mock(Resources.class);
when(mMockContext.getResources()).thenReturn(mockResources);
- when(mockResources.getString(R.string.summary_separator)).thenReturn(summarySeparator);
- when(mockResources.getStringArray(R.array.wifi_status)).thenReturn(wifiStatusArray);
+ when(mockResources.getString(R.string.wifitrackerlib_summary_separator))
+ .thenReturn(summarySeparator);
+ when(mockResources.getStringArray(R.array.wifitrackerlib_wifi_status))
+ .thenReturn(wifiStatusArray);
ConnectivityManager mockConnectivityManager = mock(ConnectivityManager.class);
when(mMockContext.getSystemService(Context.CONNECTIVITY_SERVICE))
.thenReturn(mockConnectivityManager);
@@ -168,6 +183,89 @@ public class PasspointWifiEntryTest {
}
@Test
+ public void testGetSummary_providerModelConnectedButNotDefault_doesNotShowConnected() {
+ Utils.sFeatureFlagUtilsWrapper = new Utils.FeatureFlagUtilsWrapper() {
+ @Override
+ boolean isProviderModelEnabled(Context context) {
+ return true;
+ }
+ };
+ String summarySeparator = " / ";
+ String[] wifiStatusArray = new String[]{"", "Scanning", "Connecting",
+ "Authenticating", "Obtaining IP address", "Connected"};
+
+ Resources mockResources = mock(Resources.class);
+ when(mMockContext.getResources()).thenReturn(mockResources);
+ when(mockResources.getString(R.string.wifitrackerlib_summary_separator))
+ .thenReturn(summarySeparator);
+ when(mockResources.getStringArray(R.array.wifitrackerlib_wifi_status))
+ .thenReturn(wifiStatusArray);
+ ConnectivityManager mockConnectivityManager = mock(ConnectivityManager.class);
+ when(mMockContext.getSystemService(Context.CONNECTIVITY_SERVICE))
+ .thenReturn(mockConnectivityManager);
+ final NetworkCapabilities networkCapabilities = new NetworkCapabilities.Builder()
+ .addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED).build();
+ WifiInfo wifiInfo = mock(WifiInfo.class);
+ when(wifiInfo.isPasspointAp()).thenReturn(true);
+ when(wifiInfo.getPasspointFqdn()).thenReturn(FQDN);
+ NetworkInfo networkInfo =
+ new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0 /* subtype */, "WIFI", "");
+ networkInfo.setDetailedState(NetworkInfo.DetailedState.CONNECTED, "", "");
+
+ PasspointWifiEntry entry = new PasspointWifiEntry(mMockContext, mTestHandler,
+ getPasspointConfiguration(), mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
+ entry.updateConnectionInfo(wifiInfo, networkInfo);
+ entry.updateNetworkCapabilities(networkCapabilities);
+ entry.setIsDefaultNetwork(false);
+
+ assertThat(entry.getSummary()).isEqualTo("");
+ }
+
+ @Test
+ public void testGetSecurityTypes_connectedWifiNetwork_showsCurrentSecurityType() {
+ WifiInfo wifiInfo = mock(WifiInfo.class);
+ when(wifiInfo.isPasspointAp()).thenReturn(true);
+ when(wifiInfo.getPasspointFqdn()).thenReturn(FQDN);
+ when(wifiInfo.getCurrentSecurityType()).thenReturn(WifiInfo.SECURITY_TYPE_PASSPOINT_R1_R2);
+ NetworkInfo networkInfo =
+ new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0 /* subtype */, "WIFI", "");
+ networkInfo.setDetailedState(NetworkInfo.DetailedState.CONNECTED, "", "");
+
+ PasspointWifiEntry entry = new PasspointWifiEntry(mMockContext, mTestHandler,
+ getPasspointConfiguration(), mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
+
+ assertThat(entry.getSecurityTypes()).containsExactlyElementsIn(Arrays.asList(
+ WifiInfo.SECURITY_TYPE_PASSPOINT_R1_R2,
+ WifiInfo.SECURITY_TYPE_PASSPOINT_R3));
+
+ entry.updateConnectionInfo(wifiInfo, networkInfo);
+
+ assertThat(entry.getSecurityTypes())
+ .containsExactly(WifiInfo.SECURITY_TYPE_PASSPOINT_R1_R2);
+
+ when(wifiInfo.getCurrentSecurityType()).thenReturn(WifiInfo.SECURITY_TYPE_PASSPOINT_R3);
+ entry.updateConnectionInfo(wifiInfo, networkInfo);
+
+ assertThat(entry.getSecurityTypes()).containsExactly(WifiInfo.SECURITY_TYPE_PASSPOINT_R3);
+ }
+
+ @Test
+ public void testGetSecurityString_showsPasspoint() {
+ PasspointConfiguration passpointConfiguration = getPasspointConfiguration();
+ String passpointSecurity = "Passpoint";
+ when(mMockResources.getString(R.string.wifitrackerlib_wifi_security_passpoint))
+ .thenReturn(passpointSecurity);
+
+ PasspointWifiEntry passpointWifiEntry = new PasspointWifiEntry(mMockContext, mTestHandler,
+ passpointConfiguration, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
+
+ assertThat(passpointWifiEntry.getSecurityString(false)).isEqualTo(passpointSecurity);
+ }
+
+ @Test
public void testShouldShowXLevelIcon_unvalidatedOrNotDefault_returnsTrue() {
ConnectivityManager mockConnectivityManager = mock(ConnectivityManager.class);
when(mMockContext.getSystemService(Context.CONNECTIVITY_SERVICE))
@@ -234,6 +332,8 @@ public class PasspointWifiEntryTest {
when(mMockWifiInfo.isPasspointAp()).thenReturn(true);
when(mMockWifiInfo.getPasspointFqdn()).thenReturn(FQDN);
when(mMockWifiInfo.getRssi()).thenReturn(BAD_RSSI);
+ when(mMockWifiInfo.getSSID()).thenReturn("\"ssid\"");
+ when(mMockWifiInfo.getBSSID()).thenReturn("01:23:45:67:89:ab");
PasspointWifiEntry entry = new PasspointWifiEntry(mMockContext, mTestHandler,
getPasspointConfiguration(), mMockWifiManager, mMockScoreCache,
false /* forSavedNetworksPage */);
@@ -303,4 +403,76 @@ public class PasspointWifiEntryTest {
assertThat(entry.isAutoJoinEnabled()).isFalse();
}
+
+ @Test
+ public void testCanSignIn_captivePortalCapability_returnsTrue() {
+ PasspointWifiEntry entry = new PasspointWifiEntry(mMockContext, mTestHandler,
+ getPasspointConfiguration(), mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
+
+ NetworkCapabilities captivePortalCapabilities = new NetworkCapabilities.Builder()
+ .addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL).build();
+ entry.updateNetworkCapabilities(captivePortalCapabilities);
+
+ assertThat(entry.canSignIn()).isTrue();
+ }
+
+ @Test
+ public void testUpdateNetworkCapabilities_userConnect_autoOpenCaptivePortalOnce() {
+ when(mMockContext.getSystemService(Context.CONNECTIVITY_SERVICE))
+ .thenReturn(mMockConnectivityManager);
+ PasspointWifiEntry entry = new PasspointWifiEntry(mMockContext, mTestHandler,
+ getPasspointConfiguration(), mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
+ NetworkCapabilities captivePortalCapabilities = new NetworkCapabilities.Builder()
+ .addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL).build();
+
+ // Simulate user tapping on the network and receiving captive portal capabilities.
+ // This should trigger the captive portal app.
+ entry.connect(null /* callback */);
+ entry.updateNetworkCapabilities(captivePortalCapabilities);
+
+ verify(mMockConnectivityManager, times(1)).startCaptivePortalApp(any());
+
+ // Update network capabilities again. This should not trigger the captive portal app.
+ entry.updateNetworkCapabilities(captivePortalCapabilities);
+
+ verify(mMockConnectivityManager, times(1)).startCaptivePortalApp(any());
+ }
+
+ @Test
+ public void testDisconnect_noScansOrWifiConfig_disconnectIsSuccessful() {
+ // Setup a connected PasspointWifiEntry
+ String summarySeparator = " / ";
+ String[] wifiStatusArray = new String[]{"", "Scanning", "Connecting",
+ "Authenticating", "Obtaining IP address", "Connected"};
+ Resources mockResources = mock(Resources.class);
+ when(mMockContext.getResources()).thenReturn(mockResources);
+ when(mockResources.getString(R.string.wifitrackerlib_summary_separator))
+ .thenReturn(summarySeparator);
+ when(mockResources.getStringArray(R.array.wifitrackerlib_wifi_status))
+ .thenReturn(wifiStatusArray);
+ ConnectivityManager mockConnectivityManager = mock(ConnectivityManager.class);
+ when(mMockContext.getSystemService(Context.CONNECTIVITY_SERVICE))
+ .thenReturn(mockConnectivityManager);
+ final NetworkCapabilities networkCapabilities = new NetworkCapabilities.Builder()
+ .addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED).build();
+ WifiInfo wifiInfo = mock(WifiInfo.class);
+ when(wifiInfo.isPasspointAp()).thenReturn(true);
+ when(wifiInfo.getPasspointFqdn()).thenReturn(FQDN);
+ NetworkInfo networkInfo =
+ new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0 /* subtype */, "WIFI", "");
+ networkInfo.setDetailedState(NetworkInfo.DetailedState.CONNECTED, "", "");
+ PasspointWifiEntry entry = new PasspointWifiEntry(mMockContext, mTestHandler,
+ getPasspointConfiguration(), mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
+ entry.updateConnectionInfo(wifiInfo, networkInfo);
+ entry.updateNetworkCapabilities(networkCapabilities);
+
+ // Disconnect the entry before it can be updated with scans and a WifiConfiguration
+ entry.disconnect(null);
+
+ verify(mMockWifiManager).disableEphemeralNetwork(FQDN);
+ verify(mMockWifiManager).disconnect();
+ }
}
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/SavedNetworkTrackerTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/SavedNetworkTrackerTest.java
index f78900df0..89482b1c2 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/SavedNetworkTrackerTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/SavedNetworkTrackerTest.java
@@ -31,7 +31,9 @@ import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkScoreManager;
+import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.net.wifi.hotspot2.PasspointConfiguration;
import android.net.wifi.hotspot2.pps.Credential;
@@ -51,6 +53,7 @@ import java.time.Clock;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.List;
import java.util.stream.Collectors;
public class SavedNetworkTrackerTest {
@@ -102,6 +105,9 @@ public class SavedNetworkTrackerTest {
mTestLooper = new TestLooper();
when(mMockWifiManager.getScanResults()).thenReturn(new ArrayList<>());
+ when(mMockWifiManager.isWpa3SaeSupported()).thenReturn(true);
+ when(mMockWifiManager.isWpa3SuiteBSupported()).thenReturn(true);
+ when(mMockWifiManager.isEnhancedOpenSupported()).thenReturn(true);
when(mMockClock.millis()).thenReturn(START_MILLIS);
when(mMockContext.getSystemService(Context.NETWORK_SCORE_SERVICE))
.thenReturn(mMockNetworkScoreManager);
@@ -214,7 +220,7 @@ public class SavedNetworkTrackerTest {
}
/**
- * Tests that a CONFIGURED_NETWORKS_CHANGED broadcast with CHANGE_REASON_ADDED
+ * Tests that a CONFIGURED_NETWORKS_CHANGED broadcast after adding a config
* adds the corresponding WifiEntry from getSavedWifiEntries().
*/
@Test
@@ -227,12 +233,11 @@ public class SavedNetworkTrackerTest {
assertThat(savedNetworkTracker.getSavedWifiEntries()).isEmpty();
+ final WifiConfiguration config = buildWifiConfiguration("ssid");
+ when(mMockWifiManager.getConfiguredNetworks())
+ .thenReturn(Collections.singletonList(config));
mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
- new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION)
- .putExtra(WifiManager.EXTRA_WIFI_CONFIGURATION,
- buildWifiConfiguration("ssid"))
- .putExtra(WifiManager.EXTRA_CHANGE_REASON,
- WifiManager.CHANGE_REASON_ADDED));
+ new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION));
assertThat(savedNetworkTracker.getSavedWifiEntries().stream()
.filter(entry -> entry.mForSavedNetworksPage)
@@ -241,7 +246,7 @@ public class SavedNetworkTrackerTest {
}
/**
- * Tests that a CONFIGURED_NETWORKS_CHANGED broadcast with CHANGE_REASON_REMOVED
+ * Tests that a CONFIGURED_NETWORKS_CHANGED broadcast after removing a config
* removes the corresponding WifiEntry from getSavedWifiEntries().
*/
@Test
@@ -257,11 +262,10 @@ public class SavedNetworkTrackerTest {
assertThat(savedNetworkTracker.getSavedWifiEntries()).hasSize(1);
+ when(mMockWifiManager.getConfiguredNetworks())
+ .thenReturn(Collections.emptyList());
mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
- new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION)
- .putExtra(WifiManager.EXTRA_WIFI_CONFIGURATION, config)
- .putExtra(WifiManager.EXTRA_CHANGE_REASON,
- WifiManager.CHANGE_REASON_REMOVED));
+ new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION));
assertThat(savedNetworkTracker.getSavedWifiEntries()).isEmpty();
}
@@ -336,4 +340,106 @@ public class SavedNetworkTrackerTest {
assertThat(savedNetworkTracker.getSubscriptionWifiEntries().get(0).getTitle())
.isEqualTo("friendlyName");
}
+
+ @Test
+ public void testGetSavedNetworks_splitConfigs_entriesMergedBySecurityFamily() {
+ final String ssid = "ssid";
+ WifiConfiguration openConfig = buildWifiConfiguration(ssid);
+ openConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
+ openConfig.networkId = 1;
+ WifiConfiguration oweConfig = buildWifiConfiguration(ssid);
+ oweConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
+ oweConfig.networkId = 1;
+ WifiConfiguration wepConfig = buildWifiConfiguration(ssid);
+ wepConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_WEP);
+ wepConfig.wepKeys = new String[]{"key"};
+ wepConfig.networkId = 2;
+ WifiConfiguration pskConfig = buildWifiConfiguration(ssid);
+ pskConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
+ pskConfig.networkId = 3;
+ WifiConfiguration saeConfig = buildWifiConfiguration(ssid);
+ saeConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
+ saeConfig.networkId = 3;
+ WifiConfiguration eapConfig = buildWifiConfiguration(ssid);
+ eapConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
+ eapConfig.networkId = 4;
+ WifiConfiguration eapWpa3Config = buildWifiConfiguration(ssid);
+ eapWpa3Config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
+ eapWpa3Config.networkId = 4;
+ WifiConfiguration eapWpa3SuiteBConfig = buildWifiConfiguration(ssid);
+ eapWpa3SuiteBConfig.setSecurityParams(
+ WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT);
+ eapWpa3SuiteBConfig.networkId = 5;
+ when(mMockWifiManager.getConfiguredNetworks()).thenReturn(Arrays.asList(
+ openConfig, oweConfig, wepConfig, pskConfig, saeConfig, eapConfig, eapWpa3Config,
+ eapWpa3SuiteBConfig
+ ));
+ final SavedNetworkTracker savedNetworkTracker = createTestSavedNetworkTracker();
+ savedNetworkTracker.onStart();
+ mTestLooper.dispatchAll();
+
+ final List<WifiEntry> savedWifiEntries = savedNetworkTracker.getSavedWifiEntries();
+ assertThat(savedWifiEntries.size()).isEqualTo(5);
+ assertThat(savedWifiEntries.stream()
+ .map(entry -> entry.getSecurityTypes())
+ .collect(Collectors.toList()))
+ .containsExactly(
+ Arrays.asList(WifiInfo.SECURITY_TYPE_OPEN, WifiInfo.SECURITY_TYPE_OWE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_WEP),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_PSK, WifiInfo.SECURITY_TYPE_SAE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_EAP,
+ WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT));
+ }
+
+ /**
+ * Tests that entries with configs that have scans matching the security family but NOT the
+ * actual configs on hand will ignore the scans and be returned as saved with the configs.
+ */
+ @Test
+ public void testGetSavedNetworks_mismatchedScans_returnsCorrectEntries() {
+ // Set up scans for Open, PSK, WPA2-Enterprise
+ final ArrayList scanList = new ArrayList();
+ final String ssid = "ssid";
+ final String bssid = "bssid";
+ int bssidNum = 0;
+ for (String capabilities : Arrays.asList(
+ "",
+ "[PSK]",
+ "[EAP/SHA1]"
+ )) {
+ final ScanResult scan = buildScanResult(ssid, bssid + bssidNum++, START_MILLIS);
+ scan.capabilities = capabilities;
+ scanList.add(scan);
+ }
+ when(mMockWifiManager.getScanResults()).thenReturn(scanList);
+ // Set up configs for OWE, SAE, WPA3-Enterprise
+ WifiConfiguration oweConfig = buildWifiConfiguration(ssid);
+ oweConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
+ oweConfig.networkId = 1;
+ WifiConfiguration saeConfig = buildWifiConfiguration(ssid);
+ saeConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
+ saeConfig.networkId = 2;
+ WifiConfiguration eapWpa3Config = buildWifiConfiguration(ssid);
+ eapWpa3Config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
+ eapWpa3Config.networkId = 3;
+ when(mMockWifiManager.getConfiguredNetworks())
+ .thenReturn(Arrays.asList(oweConfig, saeConfig, eapWpa3Config));
+
+ final SavedNetworkTracker savedNetworkTracker = createTestSavedNetworkTracker();
+ savedNetworkTracker.onStart();
+ mTestLooper.dispatchAll();
+
+ // Entries should appear correctly in the saved entry list with the security type of their
+ // configs, ignoring the scans present.
+ final List<WifiEntry> savedWifiEntries = savedNetworkTracker.getSavedWifiEntries();
+ assertThat(savedWifiEntries.size()).isEqualTo(3);
+ assertThat(savedWifiEntries.stream()
+ .map(entry -> entry.getSecurityTypes())
+ .collect(Collectors.toList()))
+ .containsExactly(
+ Arrays.asList(WifiInfo.SECURITY_TYPE_OWE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_SAE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE));
+ }
}
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardNetworkDetailsTrackerTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardNetworkDetailsTrackerTest.java
index 964a900ca..ef124ad06 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardNetworkDetailsTrackerTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardNetworkDetailsTrackerTest.java
@@ -16,8 +16,12 @@
package com.android.wifitrackerlib;
-import static com.android.wifitrackerlib.StandardWifiEntry.ssidAndSecurityToStandardWifiEntryKey;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_PSK;
+
+import static com.android.wifitrackerlib.StandardWifiEntry.StandardWifiEntryKey;
+import static com.android.wifitrackerlib.StandardWifiEntry.ssidAndSecurityTypeToStandardWifiEntryKey;
import static com.android.wifitrackerlib.TestUtils.buildScanResult;
+import static com.android.wifitrackerlib.TestUtils.buildWifiConfiguration;
import static com.android.wifitrackerlib.WifiEntry.SECURITY_NONE;
import static com.android.wifitrackerlib.WifiEntry.WIFI_LEVEL_UNREACHABLE;
@@ -34,6 +38,7 @@ import android.net.ConnectivityManager;
import android.net.NetworkScoreManager;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Handler;
import android.os.test.TestLooper;
@@ -75,7 +80,8 @@ public class StandardNetworkDetailsTrackerTest {
private final ArgumentCaptor<BroadcastReceiver> mBroadcastReceiverCaptor =
ArgumentCaptor.forClass(BroadcastReceiver.class);
- private StandardNetworkDetailsTracker createTestStandardNetworkDetailsTracker(String key) {
+ private StandardNetworkDetailsTracker createTestStandardNetworkDetailsTracker(
+ String key) {
final Handler testHandler = new Handler(mTestLooper.getLooper());
return new StandardNetworkDetailsTracker(mMockLifecycle, mMockContext,
@@ -96,6 +102,9 @@ public class StandardNetworkDetailsTrackerTest {
mTestLooper = new TestLooper();
+ when(mMockWifiManager.isWpa3SaeSupported()).thenReturn(true);
+ when(mMockWifiManager.isWpa3SuiteBSupported()).thenReturn(true);
+ when(mMockWifiManager.isEnhancedOpenSupported()).thenReturn(true);
when(mMockWifiManager.getScanResults()).thenReturn(new ArrayList<>());
when(mMockWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_ENABLED);
when(mMockClock.millis()).thenReturn(START_MILLIS);
@@ -107,22 +116,26 @@ public class StandardNetworkDetailsTrackerTest {
* Tests that the key of the created WifiEntry matches the key passed into the constructor.
*/
@Test
- public void testGetWifiEntry_HasCorrectKey() {
- final String key = ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE);
+ public void testGetWifiEntry_HasCorrectKey() throws Exception {
+ final StandardWifiEntryKey key =
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_NONE);
- final StandardNetworkDetailsTracker tracker = createTestStandardNetworkDetailsTracker(key);
+ final StandardNetworkDetailsTracker tracker =
+ createTestStandardNetworkDetailsTracker(key.toString());
- assertThat(tracker.getWifiEntry().getKey()).isEqualTo(key);
+ assertThat(tracker.getWifiEntry().getKey()).isEqualTo(key.toString());
}
/**
* Tests that SCAN_RESULTS_AVAILABLE_ACTION updates the level of the entry.
*/
@Test
- public void testHandleOnStart_scanResultUpdaterUpdateCorrectly() {
+ public void testHandleOnStart_scanResultUpdaterUpdateCorrectly() throws Exception {
final ScanResult chosen = buildScanResult("ssid", "bssid", START_MILLIS);
- final String key = ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE);
- final StandardNetworkDetailsTracker tracker = createTestStandardNetworkDetailsTracker(key);
+ final StandardWifiEntryKey key =
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_NONE);
+ final StandardNetworkDetailsTracker tracker =
+ createTestStandardNetworkDetailsTracker(key.toString());
final ScanResult other = buildScanResult("ssid2", "bssid", START_MILLIS, -50 /* rssi */);
when(mMockWifiManager.getScanResults()).thenReturn(Collections.singletonList(other));
@@ -138,11 +151,13 @@ public class StandardNetworkDetailsTrackerTest {
* Tests that SCAN_RESULTS_AVAILABLE_ACTION updates the level of the entry.
*/
@Test
- public void testScanResultsAvailableAction_updates_getLevel() {
+ public void testScanResultsAvailableAction_updates_getLevel() throws Exception {
// Starting without any scans available should make level WIFI_LEVEL_UNREACHABLE
final ScanResult scan = buildScanResult("ssid", "bssid", START_MILLIS, -50 /* rssi */);
- final String key = ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE);
- final StandardNetworkDetailsTracker tracker = createTestStandardNetworkDetailsTracker(key);
+ final StandardWifiEntryKey key =
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_NONE);
+ final StandardNetworkDetailsTracker tracker =
+ createTestStandardNetworkDetailsTracker(key.toString());
tracker.onStart();
verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
@@ -176,10 +191,12 @@ public class StandardNetworkDetailsTrackerTest {
* Tests that CONFIGURED_NETWORKS_CHANGED_ACTION updates the isSaved() value of the entry.
*/
@Test
- public void testConfiguredNetworksChangedAction_updates_isSaved() {
+ public void testConfiguredNetworksChangedAction_updates_isSaved() throws Exception {
// Initialize with no config. isSaved() should return false.
- final String key = ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE);
- final StandardNetworkDetailsTracker tracker = createTestStandardNetworkDetailsTracker(key);
+ final StandardWifiEntryKey key =
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_NONE);
+ final StandardNetworkDetailsTracker tracker =
+ createTestStandardNetworkDetailsTracker(key.toString());
tracker.onStart();
verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
@@ -189,24 +206,21 @@ public class StandardNetworkDetailsTrackerTest {
assertThat(wifiEntry.isSaved()).isFalse();
- // Add a config via broadcast. isSaved() should return true.
+ // Add a config and send a broadcast. isSaved() should return true.
final WifiConfiguration config = new WifiConfiguration();
config.SSID = "\"" + "ssid" + "\"";
-
+ when(mMockWifiManager.getPrivilegedConfiguredNetworks())
+ .thenReturn(Collections.singletonList(config));
mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
- new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION)
- .putExtra(WifiManager.EXTRA_WIFI_CONFIGURATION, config)
- .putExtra(WifiManager.EXTRA_CHANGE_REASON,
- WifiManager.CHANGE_REASON_ADDED));
+ new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION));
assertThat(wifiEntry.isSaved()).isTrue();
- // Remove the config via broadcast. isSaved() should be false.
+ // Remove the config and send a broadcast. isSaved() should be false.
+ when(mMockWifiManager.getPrivilegedConfiguredNetworks())
+ .thenReturn(Collections.emptyList());
mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
- new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION)
- .putExtra(WifiManager.EXTRA_WIFI_CONFIGURATION, config)
- .putExtra(WifiManager.EXTRA_CHANGE_REASON,
- WifiManager.CHANGE_REASON_REMOVED));
+ new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION));
assertThat(wifiEntry.isSaved()).isFalse();
}
@@ -216,13 +230,15 @@ public class StandardNetworkDetailsTrackerTest {
* the scan results are still valid.
*/
@Test
- public void testWifiStateChanged_disabled_clearsLevel() {
+ public void testWifiStateChanged_disabled_clearsLevel() throws Exception {
// Start with scan result and wifi state enabled. Level should not be unreachable.
final ScanResult scan = buildScanResult("ssid", "bssid", START_MILLIS, -50 /* rssi */);
- final String key = ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE);
+ final StandardWifiEntryKey key =
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_NONE);
when(mMockWifiManager.getScanResults()).thenReturn(Collections.singletonList(scan));
- final StandardNetworkDetailsTracker tracker = createTestStandardNetworkDetailsTracker(key);
+ final StandardNetworkDetailsTracker tracker =
+ createTestStandardNetworkDetailsTracker(key.toString());
tracker.onStart();
verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
any(), any(), any());
@@ -239,4 +255,42 @@ public class StandardNetworkDetailsTrackerTest {
assertThat(wifiEntry.getLevel()).isEqualTo(WIFI_LEVEL_UNREACHABLE);
}
+
+ @Test
+ public void testSecurityTargeting_pskScansWithSaeConfig_correspondsToNewNetworkTargeting() {
+ final String ssid = "ssid";
+ final WifiConfiguration config = buildWifiConfiguration(ssid);
+ config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
+ when(mMockWifiManager.getPrivilegedConfiguredNetworks())
+ .thenReturn(Collections.singletonList(config));
+ final ScanResult scan = buildScanResult(ssid, "bssid", START_MILLIS, -50 /* rssi */);
+ scan.capabilities = "[PSK]";
+ when(mMockWifiManager.getScanResults()).thenReturn(Collections.singletonList(scan));
+
+ // Start without targeting new networks
+ StandardNetworkDetailsTracker tracker = createTestStandardNetworkDetailsTracker(
+ ssidAndSecurityTypeToStandardWifiEntryKey(ssid, SECURITY_TYPE_PSK).toString());
+ tracker.onStart();
+ mTestLooper.dispatchAll();
+
+ // WifiEntry should correspond to the saved config
+ WifiEntry wifiEntry = tracker.getWifiEntry();
+// assertThat(wifiEntry.getSecurityTypes().size()).isEqualTo(1);
+ assertThat(wifiEntry.getSecurityTypes().get(0)).isEqualTo(WifiInfo.SECURITY_TYPE_SAE);
+ assertThat(wifiEntry.getLevel()).isEqualTo(WIFI_LEVEL_UNREACHABLE);
+
+ // Now target new networks as if we got the key from WifiPickerTracker
+ tracker = createTestStandardNetworkDetailsTracker(
+ ssidAndSecurityTypeToStandardWifiEntryKey(ssid, SECURITY_TYPE_PSK,
+ true /* isTargetingNewNetworks */).toString());
+ tracker.onStart();
+ mTestLooper.dispatchAll();
+
+ // WifiEntry should correspond to the unsaved scan
+ wifiEntry = tracker.getWifiEntry();
+// assertThat(wifiEntry.getSecurityTypes().size()).isEqualTo(1);
+ assertThat(wifiEntry.getSecurityTypes().get(0)).isEqualTo(SECURITY_TYPE_PSK);
+ assertThat(wifiEntry.getLevel()).isNotEqualTo(WIFI_LEVEL_UNREACHABLE);
+
+ }
}
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardWifiEntryTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardWifiEntryTest.java
index e9194f315..80aad2a8b 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardWifiEntryTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/StandardWifiEntryTest.java
@@ -21,18 +21,19 @@ import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.DISABLED
import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.DISABLED_BY_WRONG_PASSWORD;
import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_PERMANENTLY_DISABLED;
import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_TEMPORARY_DISABLED;
-
-import static com.android.wifitrackerlib.StandardWifiEntry.ssidAndSecurityToStandardWifiEntryKey;
-import static com.android.wifitrackerlib.StandardWifiEntry.wifiConfigToStandardWifiEntryKey;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_EAP;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_OPEN;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_OWE;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_PSK;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_SAE;
+import static android.net.wifi.WifiInfo.SECURITY_TYPE_WEP;
+
+import static com.android.wifitrackerlib.StandardWifiEntry.ScanResultKey;
+import static com.android.wifitrackerlib.StandardWifiEntry.StandardWifiEntryKey;
+import static com.android.wifitrackerlib.StandardWifiEntry.ssidAndSecurityTypeToStandardWifiEntryKey;
import static com.android.wifitrackerlib.TestUtils.buildScanResult;
import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_CONNECTED;
import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_DISCONNECTED;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_EAP;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_NONE;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_OWE;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_PSK;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_SAE;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_WEP;
import static com.android.wifitrackerlib.WifiEntry.SPEED_FAST;
import static com.android.wifitrackerlib.WifiEntry.SPEED_SLOW;
import static com.android.wifitrackerlib.WifiEntry.WIFI_LEVEL_UNREACHABLE;
@@ -74,10 +75,10 @@ import android.telephony.TelephonyManager;
import org.junit.Before;
import org.junit.Test;
+import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -107,6 +108,13 @@ public class StandardWifiEntryTest {
@Before
public void setUp() {
+ Utils.sFeatureFlagUtilsWrapper = new Utils.FeatureFlagUtilsWrapper() {
+ @Override
+ boolean isProviderModelEnabled(Context context) {
+ return false;
+ }
+ };
+
MockitoAnnotations.initMocks(this);
mTestLooper = new TestLooper();
@@ -116,6 +124,9 @@ public class StandardWifiEntryTest {
when(mMockWifiInfo.getRssi()).thenReturn(WifiInfo.INVALID_RSSI);
when(mMockNetworkInfo.getDetailedState()).thenReturn(
NetworkInfo.DetailedState.DISCONNECTED);
+ when(mMockWifiManager.isWpa3SaeSupported()).thenReturn(true);
+ when(mMockWifiManager.isEnhancedOpenSupported()).thenReturn(true);
+ when(mMockWifiManager.isWpa3SuiteBSupported()).thenReturn(true);
when(mMockWifiManager.calculateSignalLevel(GOOD_RSSI))
.thenReturn(GOOD_LEVEL);
when(mMockWifiManager.calculateSignalLevel(OKAY_RSSI))
@@ -132,30 +143,14 @@ public class StandardWifiEntryTest {
}
/**
- * Tests that constructing with an empty list of scans throws an exception
- */
- @Test
- public void testConstructor_emptyScanList_throwsException() {
- try {
- new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- new ArrayList<>(), mMockWifiManager, mMockScoreCache,
- false /* forSavedNetworksPage */);
- fail("Empty scan list should have thrown exception");
- } catch (IllegalArgumentException e) {
- // Test succeeded
- }
- }
-
- /**
* Tests that constructing with a list of scans with differing SSIDs throws an exception
*/
@Test
public void testConstructor_mismatchedSsids_throwsException() {
try {
new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- Arrays.asList(
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ null, Arrays.asList(
buildScanResult("ssid0", "bssid0", 0, GOOD_RSSI),
buildScanResult("ssid1", "bssid1", 0, GOOD_RSSI)),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
@@ -171,8 +166,8 @@ public class StandardWifiEntryTest {
@Test
public void testConstructor_scanResults_setsBestLevel() {
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- Arrays.asList(
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ null, Arrays.asList(
buildScanResult("ssid", "bssid0", 0, GOOD_RSSI),
buildScanResult("ssid", "bssid1", 0, OKAY_RSSI),
buildScanResult("ssid", "bssid2", 0, BAD_RSSI)),
@@ -182,21 +177,24 @@ public class StandardWifiEntryTest {
}
/**
- * Tests that the security is set to the security capabilities of the scan
+ * Tests that the security is set to the security capabilities of the scan results if
+ * the entry is targeting new networks.
*/
@Test
- public void testConstructor_scanResults_setsSecurity() {
+ public void testConstructor_targetingNewSecurity_scanResultsSetSecurity() {
final ScanResult unsecureScan = buildScanResult("ssid", "bssid", 0, GOOD_RSSI);
final ScanResult secureScan = buildScanResult("ssid", "bssid", 0, GOOD_RSSI);
- secureScan.capabilities = "EAP";
+ secureScan.capabilities = "EAP/SHA1";
final StandardWifiEntry unsecureEntry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- Arrays.asList(unsecureScan), mMockWifiManager, mMockScoreCache,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN,
+ true /* isTargetingNewNetworks */),
+ null, Arrays.asList(unsecureScan), mMockWifiManager, mMockScoreCache,
false /* forSavedNetworksPage */);
final StandardWifiEntry secureEntry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- Arrays.asList(secureScan), mMockWifiManager, mMockScoreCache,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP,
+ true /* isTargetingNewNetworks */),
+ null, Arrays.asList(secureScan), mMockWifiManager, mMockScoreCache,
false /* forSavedNetworksPage */);
assertThat(unsecureEntry.getSecurity()).isEqualTo(WifiEntry.SECURITY_NONE);
@@ -209,8 +207,8 @@ public class StandardWifiEntryTest {
@Test
public void testUpdateScanResultInfo_mismatchedSsids_throwsException() {
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid0", SECURITY_EAP),
- Arrays.asList(buildScanResult("ssid0", "bssid0", 0, GOOD_RSSI)),
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid0", SECURITY_TYPE_EAP),
+ null, Arrays.asList(buildScanResult("ssid0", "bssid0", 0, GOOD_RSSI)),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
try {
@@ -228,8 +226,8 @@ public class StandardWifiEntryTest {
@Test
public void testUpdateScanResultInfo_notifiesListener() {
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- Arrays.asList(buildScanResult("ssid", "bssid", 0)),
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ null, Arrays.asList(buildScanResult("ssid", "bssid", 0)),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
entry.setListener(mMockListener);
@@ -245,8 +243,8 @@ public class StandardWifiEntryTest {
@Test
public void testUpdateScanResultInfo_updatesLevel() {
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- Arrays.asList(buildScanResult("ssid", "bssid", 0, BAD_RSSI)),
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ null, Arrays.asList(buildScanResult("ssid", "bssid", 0, BAD_RSSI)),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
assertThat(entry.getLevel()).isEqualTo(BAD_LEVEL);
@@ -262,8 +260,9 @@ public class StandardWifiEntryTest {
config.SSID = "\"ssid\"";
config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- config, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Collections.singletonList(config), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
assertThat(entry.getTitle()).isEqualTo("ssid");
}
@@ -274,8 +273,9 @@ public class StandardWifiEntryTest {
config.SSID = "\"ssid\"";
config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- config, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Collections.singletonList(config), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
assertThat(entry.getSecurity()).isEqualTo(WifiEntry.SECURITY_EAP);
}
@@ -286,13 +286,14 @@ public class StandardWifiEntryTest {
config.SSID = "\"ssid\"";
config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- config, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Collections.singletonList(config), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
final WifiConfiguration config2 = new WifiConfiguration(config);
config2.SSID = "\"ssid2\"";
try {
- entry.updateConfig(config2);
+ entry.updateConfig(Collections.singletonList(config2));
fail("Updating with wrong SSID config should throw exception");
} catch (IllegalArgumentException e) {
// Test Succeeded
@@ -303,15 +304,16 @@ public class StandardWifiEntryTest {
public void testUpdateConfig_mismatchedSecurity_throwsException() {
final WifiConfiguration config = new WifiConfiguration();
config.SSID = "\"ssid\"";
- config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_WEP);
+ config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_WEP),
- config, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_PSK),
+ Collections.singletonList(config), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
final WifiConfiguration config2 = new WifiConfiguration(config);
config2.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
try {
- entry.updateConfig(config2);
+ entry.updateConfig(Collections.singletonList(config2));
fail("Updating with wrong security config should throw exception");
} catch (IllegalArgumentException e) {
// Test Succeeded
@@ -321,10 +323,10 @@ public class StandardWifiEntryTest {
@Test
public void testUpdateConfig_unsavedToSaved() {
final ScanResult scan = buildScanResult("ssid", "bssid", 0, GOOD_RSSI);
- scan.capabilities = "EAP";
+ scan.capabilities = "EAP/SHA1";
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- Arrays.asList(scan), mMockWifiManager, mMockScoreCache,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ null, Arrays.asList(scan), mMockWifiManager, mMockScoreCache,
false /* forSavedNetworksPage */);
assertThat(entry.isSaved()).isFalse();
@@ -333,7 +335,7 @@ public class StandardWifiEntryTest {
config.SSID = "\"ssid\"";
config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
config.networkId = 1;
- entry.updateConfig(config);
+ entry.updateConfig(Collections.singletonList(config));
assertThat(entry.isSaved()).isTrue();
}
@@ -345,8 +347,9 @@ public class StandardWifiEntryTest {
config.SSID = "\"ssid\"";
config.networkId = 1;
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- config, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Collections.singletonList(config), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
assertThat(entry.isSaved()).isTrue();
@@ -362,8 +365,9 @@ public class StandardWifiEntryTest {
config.SSID = "\"ssid\"";
config.networkId = 1;
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- config, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Collections.singletonList(config), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
when(mMockWifiInfo.getNetworkId()).thenReturn(1);
when(mMockWifiInfo.getRssi()).thenReturn(GOOD_RSSI);
when(mMockNetworkInfo.getDetailedState()).thenReturn(NetworkInfo.DetailedState.CONNECTED);
@@ -381,8 +385,9 @@ public class StandardWifiEntryTest {
config.SSID = "\"ssid\"";
config.networkId = 1;
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- config, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Collections.singletonList(config), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
when(mMockWifiInfo.getNetworkId()).thenReturn(2);
when(mMockWifiInfo.getRssi()).thenReturn(-50);
when(mMockNetworkInfo.getDetailedState()).thenReturn(NetworkInfo.DetailedState.CONNECTED);
@@ -397,13 +402,13 @@ public class StandardWifiEntryTest {
public void testConnect_savedNetwork_usesSavedConfig() {
final ScanResult scan = buildScanResult("ssid", "bssid", 0, GOOD_RSSI);
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- Arrays.asList(scan), mMockWifiManager, mMockScoreCache,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ null, Arrays.asList(scan), mMockWifiManager, mMockScoreCache,
false /* forSavedNetworksPage */);
final WifiConfiguration config = new WifiConfiguration();
config.SSID = "\"ssid\"";
config.networkId = 1;
- entry.updateConfig(config);
+ entry.updateConfig(Collections.singletonList(config));
entry.connect(null /* ConnectCallback */);
@@ -411,10 +416,33 @@ public class StandardWifiEntryTest {
}
@Test
+ public void testConnect_savedNetwork_usesSavedConfig_withOutSim() {
+ final ScanResult scan = buildScanResult("ssid", "bssid", 0, GOOD_RSSI);
+ final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ null, Arrays.asList(scan), mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
+ final WifiConfiguration config = new WifiConfiguration();
+ config.SSID = "\"ssid\"";
+ config.networkId = 1;
+ config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
+ config.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.SIM);
+ config.enterpriseConfig.setPhase2Method(WifiEnterpriseConfig.Phase2.NONE);
+ entry.updateConfig(Collections.singletonList(config));
+ when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(null);
+
+ entry.setListener(mMockListener);
+ entry.connect(mMockConnectCallback);
+ mTestLooper.dispatchAll();
+ verify(mMockConnectCallback, times(1))
+ .onConnectResult(WifiEntry.ConnectCallback.CONNECT_STATUS_FAILURE_SIM_ABSENT);
+ }
+
+ @Test
public void testConnect_openNetwork_callsConnect() {
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- Arrays.asList(buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ null, Arrays.asList(buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
entry.connect(null /* ConnectCallback */);
@@ -427,8 +455,8 @@ public class StandardWifiEntryTest {
final ScanResult secureScan = buildScanResult("ssid", "bssid0", 0, GOOD_RSSI);
secureScan.capabilities = "PSK";
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_PSK),
- Arrays.asList(secureScan), mMockWifiManager, mMockScoreCache,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_PSK),
+ null, Arrays.asList(secureScan), mMockWifiManager, mMockScoreCache,
false /* forSavedNetworksPage */);
entry.setListener(mMockListener);
@@ -446,14 +474,15 @@ public class StandardWifiEntryTest {
config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
config.SSID = "\"ssid\"";
config.networkId = 1;
- config.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_PERSISTENT;
+ config.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_AUTO;
WifiConfiguration spyConfig = spy(config);
when(spyConfig.getRandomizedMacAddress())
.thenReturn(MacAddress.fromString(randomizedMac));
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- spyConfig, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Collections.singletonList(spyConfig), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
final String macAddress = entry.getMacAddress();
@@ -470,8 +499,9 @@ public class StandardWifiEntryTest {
config.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_NONE;
when(mMockWifiManager.getFactoryMacAddresses()).thenReturn(new String[]{factoryMac});
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- config, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Collections.singletonList(config), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
final String macAddress = entry.getMacAddress();
@@ -496,8 +526,9 @@ public class StandardWifiEntryTest {
config.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_NONE;
when(mMockWifiManager.getFactoryMacAddresses()).thenReturn(new String[]{factoryMac});
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE), config,
- mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ Collections.singletonList(config), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
entry.updateConnectionInfo(mMockWifiInfo, networkInfo);
@@ -529,7 +560,8 @@ public class StandardWifiEntryTest {
final StandardWifiEntry eapWifiEntry =
getSavedStandardWifiEntry(WifiConfiguration.SECURITY_TYPE_EAP);
final StandardWifiEntry eapSuiteBWifiEntry =
- getSavedStandardWifiEntry(WifiConfiguration.SECURITY_TYPE_EAP_SUITE_B);
+ getSavedStandardWifiEntry(
+ WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT);
assertThat(eapWifiEntry.canShare()).isFalse();
assertThat(eapSuiteBWifiEntry.canShare()).isFalse();
@@ -542,8 +574,8 @@ public class StandardWifiEntryTest {
pskScanResult.capabilities = "PSK";
final StandardWifiEntry pskWifiEntry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey(pskScanResult.SSID, SECURITY_PSK),
- Arrays.asList(pskScanResult), mMockWifiManager, mMockScoreCache,
+ ssidAndSecurityTypeToStandardWifiEntryKey(pskScanResult.SSID, SECURITY_TYPE_PSK),
+ null, Arrays.asList(pskScanResult), mMockWifiManager, mMockScoreCache,
false /* forSavedNetworksPage */);
assertThat(pskWifiEntry.canEasyConnect()).isFalse();
@@ -571,7 +603,8 @@ public class StandardWifiEntryTest {
final StandardWifiEntry wpa2EnterpriseWifiEntry =
getSavedStandardWifiEntry(WifiConfiguration.SECURITY_TYPE_EAP);
final StandardWifiEntry wpa3EnterpriseWifiEntry =
- getSavedStandardWifiEntry(WifiConfiguration.SECURITY_TYPE_EAP_SUITE_B);
+ getSavedStandardWifiEntry(
+ WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT);
final StandardWifiEntry oweWifiEntry =
getSavedStandardWifiEntry(WifiConfiguration.SECURITY_TYPE_OWE);
@@ -589,8 +622,9 @@ public class StandardWifiEntryTest {
config.SSID = "\"ssid\"";
config.networkId = 1;
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- config, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Collections.singletonList(config), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
when(mMockWifiInfo.getNetworkId()).thenReturn(1);
when(mMockWifiInfo.getRssi()).thenReturn(GOOD_RSSI);
when(mMockNetworkInfo.getDetailedState()).thenReturn(NetworkInfo.DetailedState.CONNECTED);
@@ -606,8 +640,8 @@ public class StandardWifiEntryTest {
config.SSID = "\"ssid\"";
config.setSecurityParams(wifiConfigurationSecureType);
return new StandardWifiEntry(mMockContext, mTestHandler,
- wifiConfigToStandardWifiEntryKey(config),
- config, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ new StandardWifiEntryKey(config), Collections.singletonList(config), null,
+ mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
}
@Test
@@ -619,8 +653,10 @@ public class StandardWifiEntryTest {
final Resources mockResources = mock(Resources.class);
when(mMockContext.getResources()).thenReturn(mockResources);
- when(mockResources.getString(R.string.summary_separator)).thenReturn(summarySeparator);
- when(mockResources.getStringArray(R.array.wifi_status)).thenReturn(wifiStatusArray);
+ when(mockResources.getString(R.string.wifitrackerlib_summary_separator))
+ .thenReturn(summarySeparator);
+ when(mockResources.getStringArray(R.array.wifitrackerlib_wifi_status))
+ .thenReturn(wifiStatusArray);
final ConnectivityManager mockConnectivityManager = mock(ConnectivityManager.class);
final NetworkCapabilities networkCapabilities = new NetworkCapabilities.Builder()
.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED).build();
@@ -636,8 +672,9 @@ public class StandardWifiEntryTest {
config.SSID = "\"ssid\"";
config.networkId = networkId;
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE), config,
- mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ Collections.singletonList(config), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
entry.updateConnectionInfo(wifiInfo, networkInfo);
entry.updateNetworkCapabilities(networkCapabilities);
@@ -647,6 +684,51 @@ public class StandardWifiEntryTest {
}
@Test
+ public void testGetSummary_providerModelConnectedButNotDefault_doesNotShowConnected() {
+ Utils.sFeatureFlagUtilsWrapper = new Utils.FeatureFlagUtilsWrapper() {
+ @Override
+ boolean isProviderModelEnabled(Context context) {
+ return true;
+ }
+ };
+ final int networkId = 1;
+ final String summarySeparator = " / ";
+ final String[] wifiStatusArray = new String[]{"", "Scanning", "Connecting",
+ "Authenticating", "Obtaining IP address", "Connected"};
+
+ final Resources mockResources = mock(Resources.class);
+ when(mMockContext.getResources()).thenReturn(mockResources);
+ when(mockResources.getString(R.string.wifitrackerlib_summary_separator))
+ .thenReturn(summarySeparator);
+ when(mockResources.getStringArray(R.array.wifitrackerlib_wifi_status))
+ .thenReturn(wifiStatusArray);
+ final ConnectivityManager mockConnectivityManager = mock(ConnectivityManager.class);
+ final NetworkCapabilities networkCapabilities = new NetworkCapabilities.Builder()
+ .addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED).build();
+ when(mMockContext.getSystemService(Context.CONNECTIVITY_SERVICE))
+ .thenReturn(mockConnectivityManager);
+
+ final WifiInfo wifiInfo = new WifiInfo.Builder().setNetworkId(networkId).build();
+ final NetworkInfo networkInfo =
+ new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0 /* subtype */, "WIFI", "");
+ networkInfo.setDetailedState(NetworkInfo.DetailedState.CONNECTED, "", "");
+
+ final WifiConfiguration config = new WifiConfiguration();
+ config.SSID = "\"ssid\"";
+ config.networkId = networkId;
+ final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ Collections.singletonList(config), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
+
+ entry.updateConnectionInfo(wifiInfo, networkInfo);
+ entry.updateNetworkCapabilities(networkCapabilities);
+ entry.setIsDefaultNetwork(false);
+
+ assertThat(entry.getSummary()).isEqualTo("");
+ }
+
+ @Test
public void testShouldShowXLevelIcon_unvalidatedOrNotDefault_returnsTrue() {
final int networkId = 1;
when(mMockContext.getSystemService(Context.CONNECTIVITY_SERVICE))
@@ -662,8 +744,9 @@ public class StandardWifiEntryTest {
config.networkId = networkId;
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE), config,
- mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ Collections.singletonList(config), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
// Disconnected should return false;
assertThat(entry.shouldShowXLevelIcon()).isEqualTo(false);
@@ -690,38 +773,110 @@ public class StandardWifiEntryTest {
}
@Test
- public void testGetSecurityString_pskTypeWpa2_getWpa2() {
- final StandardWifiEntry entry =
- getSavedStandardWifiEntry(WifiConfiguration.SECURITY_TYPE_PSK);
- final ScanResult bestScanResult = buildScanResult("ssid", "bssid", 0, GOOD_RSSI);
- bestScanResult.capabilities = "RSN-PSK";
- final String wifiSecurityShortWpa2Wpa3 = "WPA2/WPA3";
+ public void testGetSecurityString_pskAndSae_getWpaWpa2Wpa3Personal() {
+ final String wifiSecurityShortWpaWpa2Wpa3 = "WPA/WPA2/WPA3";
final Resources mockResources = mock(Resources.class);
when(mMockContext.getResources()).thenReturn(mockResources);
- when(mockResources.getString(R.string.wifi_security_short_wpa2_wpa3))
- .thenReturn(wifiSecurityShortWpa2Wpa3);
+ when(mockResources.getString(R.string.wifitrackerlib_wifi_security_short_wpa_wpa2_wpa3))
+ .thenReturn(wifiSecurityShortWpaWpa2Wpa3);
+
+ WifiConfiguration pskConfig = new WifiConfiguration();
+ pskConfig.SSID = "\"ssid\"";
+ pskConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
+ WifiConfiguration saeConfig = new WifiConfiguration();
+ saeConfig.SSID = "\"ssid\"";
+ saeConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
+
+ ScanResult pskScan = buildScanResult("ssid", "bssid0", 0, GOOD_RSSI);
+ pskScan.capabilities = "PSK";
+ ScanResult saeScan = buildScanResult("ssid", "bssid0", 0, BAD_RSSI);
+ saeScan.capabilities = "SAE";
- entry.updateScanResultInfo(Arrays.asList(bestScanResult));
+ StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_PSK),
+ Arrays.asList(pskConfig, saeConfig), Arrays.asList(pskScan, saeScan),
+ mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
assertThat(entry.getSecurityString(true /* concise */))
- .isEqualTo(wifiSecurityShortWpa2Wpa3);
+ .isEqualTo(wifiSecurityShortWpaWpa2Wpa3);
}
@Test
- public void testGetSecurityString_eapTypeWpa_getWpa() {
- final StandardWifiEntry entry =
- getSavedStandardWifiEntry(WifiConfiguration.SECURITY_TYPE_EAP);
- final ScanResult bestScanResult = buildScanResult("ssid", "bssid", 0, GOOD_RSSI);
- bestScanResult.capabilities = "WPA-EAP";
- final String wifiSecurityEapWpa = "WPA-Enterprise";
+ public void testGetSecurityString_connected_getConnectionSecurityType() {
+ final String wifiSecurityShortWpaWpa2 = "WPA/WPA2";
+ final String wifiSecurityShortWpa3 = "WPA3";
+ final Resources mockResources = mock(Resources.class);
+ when(mMockContext.getResources()).thenReturn(mockResources);
+ when(mockResources.getString(R.string.wifitrackerlib_wifi_security_short_wpa_wpa2))
+ .thenReturn(wifiSecurityShortWpaWpa2);
+ when(mockResources.getString(R.string.wifitrackerlib_wifi_security_short_sae))
+ .thenReturn(wifiSecurityShortWpa3);
+
+ WifiConfiguration pskConfig = new WifiConfiguration();
+ pskConfig.networkId = 1;
+ pskConfig.SSID = "\"ssid\"";
+ pskConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
+ WifiConfiguration saeConfig = new WifiConfiguration();
+ saeConfig.networkId = 1;
+ saeConfig.SSID = "\"ssid\"";
+ saeConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
+
+ ScanResult pskScan = buildScanResult("ssid", "bssid0", 0, GOOD_RSSI);
+ pskScan.capabilities = "PSK";
+ ScanResult saeScan = buildScanResult("ssid", "bssid0", 0, BAD_RSSI);
+ saeScan.capabilities = "SAE";
+
+ when(mMockWifiInfo.getNetworkId()).thenReturn(1);
+ when(mMockWifiInfo.getRssi()).thenReturn(GOOD_RSSI);
+ when(mMockNetworkInfo.getDetailedState()).thenReturn(NetworkInfo.DetailedState.CONNECTED);
+
+ StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_PSK),
+ Arrays.asList(pskConfig, saeConfig), Arrays.asList(pskScan, saeScan),
+ mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+
+ when(mMockWifiInfo.getCurrentSecurityType()).thenReturn(SECURITY_TYPE_PSK);
+ entry.updateConnectionInfo(mMockWifiInfo, mMockNetworkInfo);
+
+ // Both PSK and SAE in range, but connected to PSK so show PSK security string
+ assertThat(entry.getSecurityString(true /* concise */))
+ .isEqualTo(wifiSecurityShortWpaWpa2);
+
+ when(mMockWifiInfo.getCurrentSecurityType()).thenReturn(SECURITY_TYPE_SAE);
+ entry.updateConnectionInfo(mMockWifiInfo, mMockNetworkInfo);
+
+ // Both PSK and SAE in range, but connected to SAE so show SAE security string
+ assertThat(entry.getSecurityString(true /* concise */))
+ .isEqualTo(wifiSecurityShortWpa3);
+ }
+
+ @Test
+ public void testGetSecurityString_eapAndEapWpa3_getWpaWpa2Wpa3Enterprise() {
+ final String wifiSecurityEapWpaWpa2Wpa3 = "WPA/WPA2/WPA3-Enterprise";
final Resources mockResources = mock(Resources.class);
when(mMockContext.getResources()).thenReturn(mockResources);
- when(mockResources.getString(R.string.wifi_security_eap_wpa))
- .thenReturn(wifiSecurityEapWpa);
+ when(mockResources.getString(R.string.wifitrackerlib_wifi_security_short_eap_wpa_wpa2_wpa3))
+ .thenReturn(wifiSecurityEapWpaWpa2Wpa3);
- entry.updateScanResultInfo(Arrays.asList(bestScanResult));
+ WifiConfiguration eapConfig = new WifiConfiguration();
+ eapConfig.SSID = "\"ssid\"";
+ eapConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
+ WifiConfiguration eapWpa3Config = new WifiConfiguration();
+ eapWpa3Config.SSID = "\"ssid\"";
+ eapWpa3Config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
- assertThat(entry.getSecurityString(false /* concise */)).isEqualTo(wifiSecurityEapWpa);
+ final ScanResult eapScan = buildScanResult("ssid", "bssid", 0, GOOD_RSSI);
+ eapScan.capabilities = "[RSN-EAP/SHA1]";
+ final ScanResult eapWpa3Scan = buildScanResult("ssid", "bssid", 0, GOOD_RSSI);
+ eapWpa3Scan.capabilities = "[RSN-EAP/SHA256][MFPR][MFPC]";
+
+ StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Arrays.asList(eapConfig, eapWpa3Config), Arrays.asList(eapScan, eapWpa3Scan),
+ mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+
+ assertThat(entry.getSecurityString(true /* concise */))
+ .isEqualTo(wifiSecurityEapWpaWpa2Wpa3);
}
@Test
@@ -737,12 +892,12 @@ public class StandardWifiEntryTest {
@Test
public void testCanSignIn_captivePortalCapability_returnsTrue() {
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- Arrays.asList(
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ null, Arrays.asList(
buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
- NetworkCapabilities captivePortalCapabilities = new NetworkCapabilities();
- captivePortalCapabilities.addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
+ NetworkCapabilities captivePortalCapabilities = new NetworkCapabilities.Builder()
+ .addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL).build();
entry.updateNetworkCapabilities(captivePortalCapabilities);
assertThat(entry.canSignIn()).isTrue();
@@ -753,12 +908,12 @@ public class StandardWifiEntryTest {
when(mMockContext.getSystemService(Context.CONNECTIVITY_SERVICE))
.thenReturn(mMockConnectivityManager);
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- Arrays.asList(
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ null, Arrays.asList(
buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
- NetworkCapabilities captivePortalCapabilities = new NetworkCapabilities();
- captivePortalCapabilities.addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
+ NetworkCapabilities captivePortalCapabilities = new NetworkCapabilities.Builder()
+ .addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL).build();
// Simulate user tapping on the network and receiving captive portal capabilities.
// This should trigger the captive portal app.
@@ -776,7 +931,7 @@ public class StandardWifiEntryTest {
@Test
public void testShouldEditBeforeConnect_nullWifiConfig_returnFalse() {
StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
assertThat(entry.shouldEditBeforeConnect()).isFalse();
@@ -789,16 +944,18 @@ public class StandardWifiEntryTest {
wifiConfig.SSID = "\"ssid\"";
wifiConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- wifiConfig, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ Collections.singletonList(wifiConfig), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
assertThat(entry.shouldEditBeforeConnect()).isFalse();
// Test enhanced open networks.
wifiConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_OWE),
- wifiConfig, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OWE),
+ Collections.singletonList(wifiConfig), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
assertThat(entry.shouldEditBeforeConnect()).isFalse();
}
@@ -810,8 +967,9 @@ public class StandardWifiEntryTest {
wifiConfig.SSID = "\"ssid\"";
wifiConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_PSK),
- wifiConfig, mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_PSK),
+ Collections.singletonList(wifiConfig), null, mMockWifiManager, mMockScoreCache,
+ false /* forSavedNetworksPage */);
NetworkSelectionStatus.Builder statusBuilder = new NetworkSelectionStatus.Builder();
NetworkSelectionStatus networkSelectionStatus = spy(statusBuilder.setNetworkSelectionStatus(
NETWORK_SELECTION_TEMPORARY_DISABLED)
@@ -850,8 +1008,8 @@ public class StandardWifiEntryTest {
public void testGetSpeed_cacheUpdated_speedValueChanges() {
when(mMockScoredNetwork.calculateBadge(GOOD_RSSI)).thenReturn(SPEED_FAST);
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- Collections.singletonList(buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ null, Collections.singletonList(buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
when(mMockScoredNetwork.calculateBadge(GOOD_RSSI)).thenReturn(SPEED_SLOW);
@@ -866,14 +1024,16 @@ public class StandardWifiEntryTest {
when(mMockScoredNetwork.calculateBadge(GOOD_RSSI)).thenReturn(SPEED_FAST);
when(mMockWifiInfo.getNetworkId()).thenReturn(1);
when(mMockWifiInfo.getRssi()).thenReturn(BAD_RSSI);
+ when(mMockWifiInfo.getSSID()).thenReturn("\"ssid\"");
+ when(mMockWifiInfo.getBSSID()).thenReturn("01:23:45:67:89:ab");
final WifiConfiguration config = new WifiConfiguration();
config.SSID = "\"ssid\"";
config.networkId = 1;
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE), config,
- mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
- entry.updateScanResultInfo(Collections.singletonList(
- buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)));
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ Collections.singletonList(config), Collections.singletonList(
+ buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)), mMockWifiManager,
+ mMockScoreCache, false /* forSavedNetworksPage */);
entry.updateConnectionInfo(mMockWifiInfo, mMockNetworkInfo);
@@ -885,8 +1045,8 @@ public class StandardWifiEntryTest {
when(mMockScoredNetwork.calculateBadge(BAD_RSSI)).thenReturn(SPEED_SLOW);
when(mMockScoredNetwork.calculateBadge(GOOD_RSSI)).thenReturn(SPEED_FAST);
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- Collections.singletonList(buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ null, Collections.singletonList(buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
entry.updateScanResultInfo(Collections.singletonList(
@@ -897,41 +1057,46 @@ public class StandardWifiEntryTest {
@Test
public void testCanConnect_nonEapMethod_returnTrueIfReachable() {
+ ScanResult scan = buildScanResult("ssid", "bssid0", 0, GOOD_RSSI);
StandardWifiEntry spyEntry = spy(new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_NONE),
- Arrays.asList(buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN),
+ null, Arrays.asList(buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */));
when(spyEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED);
assertThat(spyEntry.canConnect()).isEqualTo(true);
+ scan.capabilities = "OWE";
spyEntry = spy(new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_OWE),
- Arrays.asList(buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OWE),
+ null, Collections.singletonList(scan),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */));
when(spyEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED);
assertThat(spyEntry.canConnect()).isEqualTo(true);
+ scan.capabilities = "WEP";
spyEntry = spy(new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_WEP),
- Arrays.asList(buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_WEP),
+ null, Collections.singletonList(scan),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */));
when(spyEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED);
assertThat(spyEntry.canConnect()).isEqualTo(true);
+ scan.capabilities = "PSK";
spyEntry = spy(new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_PSK),
- Arrays.asList(buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_PSK),
+ null, Collections.singletonList(scan),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */));
when(spyEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED);
assertThat(spyEntry.canConnect()).isEqualTo(true);
+ scan.capabilities = "SAE";
spyEntry = spy(new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_SAE),
- Arrays.asList(buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)),
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_SAE),
+ null, Collections.singletonList(scan),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */));
when(spyEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED);
@@ -940,17 +1105,18 @@ public class StandardWifiEntryTest {
@Test
public void testCanConnect_nonSimMethod_returnTrueIfReachable() {
- WifiConfiguration mockWifiConfiguration = mock(WifiConfiguration.class);
- mockWifiConfiguration.SSID = "\"ssid\"";
+ WifiConfiguration config = new WifiConfiguration();
+ config.SSID = "\"ssid\"";
WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class);
when(mockWifiEnterpriseConfig.isAuthenticationSimBased()).thenReturn(false);
- mockWifiConfiguration.enterpriseConfig = mockWifiEnterpriseConfig;
+ config.enterpriseConfig = mockWifiEnterpriseConfig;
+ config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
+ ScanResult scan = buildScanResult("ssid", "bssid0", 0, GOOD_RSSI);
+ scan.capabilities = "EAP/SHA1";
StandardWifiEntry spyEntry = spy(new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- mockWifiConfiguration,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Collections.singletonList(config), Collections.singletonList(scan),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */));
- spyEntry.updateScanResultInfo(Arrays.asList(
- buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)));
when(spyEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED);
assertThat(spyEntry.canConnect()).isEqualTo(true);
@@ -958,18 +1124,19 @@ public class StandardWifiEntryTest {
@Test
public void testCanConnect_unknownCarrierId_returnTrueIfActiveSubscriptionAvailable() {
- WifiConfiguration mockWifiConfiguration = mock(WifiConfiguration.class);
- mockWifiConfiguration.SSID = "\"ssid\"";
- mockWifiConfiguration.carrierId = TelephonyManager.UNKNOWN_CARRIER_ID;
+ WifiConfiguration config = new WifiConfiguration();
+ config.SSID = "\"ssid\"";
+ config.carrierId = TelephonyManager.UNKNOWN_CARRIER_ID;
WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class);
when(mockWifiEnterpriseConfig.isAuthenticationSimBased()).thenReturn(true);
- mockWifiConfiguration.enterpriseConfig = mockWifiEnterpriseConfig;
+ config.enterpriseConfig = mockWifiEnterpriseConfig;
+ config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
+ ScanResult scan = buildScanResult("ssid", "bssid0", 0, GOOD_RSSI);
+ scan.capabilities = "EAP/SHA1";
StandardWifiEntry spyEntry = spy(new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- mockWifiConfiguration,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Collections.singletonList(config), Collections.singletonList(scan),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */));
- spyEntry.updateScanResultInfo(Arrays.asList(
- buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)));
when(spyEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED);
when(mSubscriptionManager.getActiveSubscriptionInfoList())
.thenReturn(Arrays.asList(mock(SubscriptionInfo.class)));
@@ -979,19 +1146,20 @@ public class StandardWifiEntryTest {
@Test
public void testCanConnect_specifiedCarrierIdMatched_returnTrue() {
- WifiConfiguration mockWifiConfiguration = mock(WifiConfiguration.class);
- mockWifiConfiguration.SSID = "\"ssid\"";
+ WifiConfiguration config = new WifiConfiguration();
+ config.SSID = "\"ssid\"";
int carrierId = 6;
- mockWifiConfiguration.carrierId = carrierId;
+ config.carrierId = carrierId;
WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class);
when(mockWifiEnterpriseConfig.isAuthenticationSimBased()).thenReturn(true);
- mockWifiConfiguration.enterpriseConfig = mockWifiEnterpriseConfig;
+ config.enterpriseConfig = mockWifiEnterpriseConfig;
+ config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
+ ScanResult scan = buildScanResult("ssid", "bssid0", 0, GOOD_RSSI);
+ scan.capabilities = "EAP/SHA1";
StandardWifiEntry spyEntry = spy(new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- mockWifiConfiguration,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Collections.singletonList(config), Collections.singletonList(scan),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */));
- spyEntry.updateScanResultInfo(Arrays.asList(
- buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)));
when(spyEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED);
SubscriptionInfo mockSubscriptionInfo = mock(SubscriptionInfo.class);
when(mockSubscriptionInfo.getCarrierId()).thenReturn(carrierId);
@@ -1003,20 +1171,21 @@ public class StandardWifiEntryTest {
@Test
public void testCanConnect_specifiedCarrierIdNotMatched_returnFalse() {
- WifiConfiguration mockWifiConfiguration = mock(WifiConfiguration.class);
- mockWifiConfiguration.SSID = "\"ssid\"";
+ WifiConfiguration config = new WifiConfiguration();
+ config.SSID = "\"ssid\"";
int specifiedCarrierId = 6;
int simCarrierId = 7;
- mockWifiConfiguration.carrierId = specifiedCarrierId;
+ config.carrierId = specifiedCarrierId;
WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class);
when(mockWifiEnterpriseConfig.isAuthenticationSimBased()).thenReturn(true);
- mockWifiConfiguration.enterpriseConfig = mockWifiEnterpriseConfig;
+ config.enterpriseConfig = mockWifiEnterpriseConfig;
+ config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
+ ScanResult scan = buildScanResult("ssid", "bssid0", 0, GOOD_RSSI);
+ scan.capabilities = "EAP/SHA1";
StandardWifiEntry spyEntry = spy(new StandardWifiEntry(mMockContext, mTestHandler,
- ssidAndSecurityToStandardWifiEntryKey("ssid", SECURITY_EAP),
- mockWifiConfiguration,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP),
+ Collections.singletonList(config), Collections.singletonList(scan),
mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */));
- spyEntry.updateScanResultInfo(Arrays.asList(
- buildScanResult("ssid", "bssid0", 0, GOOD_RSSI)));
when(spyEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED);
SubscriptionInfo mockSubscriptionInfo = mock(SubscriptionInfo.class);
when(mockSubscriptionInfo.getCarrierId()).thenReturn(simCarrierId);
@@ -1025,4 +1194,182 @@ public class StandardWifiEntryTest {
assertThat(spyEntry.canConnect()).isEqualTo(false);
}
+
+
+ @Test
+ public void testStandardWifiEntryKeyConstructor_fromConfig_matchesFromScanResultKey() {
+ WifiConfiguration config = new WifiConfiguration();
+ config.SSID = "\"ssid\"";
+ config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
+ assertThat(new StandardWifiEntryKey(config, true /* isTargetingNewNetworks */))
+ .isEqualTo(new StandardWifiEntryKey(
+ new ScanResultKey(config), true /* isTargetingNewNetworks */));
+ }
+
+ @Test
+ public void testStandardWifiEntryKey_toAndFromJson_matches() throws Exception {
+ WifiConfiguration mockConfig = spy(new WifiConfiguration());
+ mockConfig.SSID = "\"ssid\"";
+ when(mockConfig.getProfileKey()).thenReturn("profileKey");
+ mockConfig.fromWifiNetworkSpecifier = true;
+ final StandardWifiEntryKey entryKey = new StandardWifiEntryKey(
+ mockConfig, true /* isTargetingNewNetworks */);
+
+ assertThat(new StandardWifiEntryKey(entryKey.toString())).isEqualTo(entryKey);
+ }
+
+ @Test
+ public void testGetLevel_multipleSecurities_configAndScansMatch() {
+ WifiConfiguration pskConfig = new WifiConfiguration();
+ pskConfig.SSID = "\"ssid\"";
+ pskConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
+ WifiConfiguration saeConfig = new WifiConfiguration();
+ saeConfig.SSID = "\"ssid\"";
+ saeConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
+
+ ScanResult pskScan = buildScanResult("ssid", "bssid0", 0, GOOD_RSSI);
+ pskScan.capabilities = "PSK";
+ ScanResult saeScan = buildScanResult("ssid", "bssid0", 0, BAD_RSSI);
+ saeScan.capabilities = "SAE";
+ StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_PSK,
+ true /* isTargetingNewNetwork */),
+ Collections.singletonList(pskConfig), Arrays.asList(pskScan, saeScan),
+ mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+
+ // Only PSK config, so use PSK scan level
+ assertThat(entry.getLevel()).isEqualTo(GOOD_LEVEL);
+ assertThat(entry.isSaved()).isTrue();
+
+ entry.updateConfig(Collections.singletonList(saeConfig));
+
+ // Only SAE config, so use SAE scan level
+ assertThat(entry.getLevel()).isEqualTo(BAD_LEVEL);
+ assertThat(entry.isSaved()).isTrue();
+
+ entry.updateScanResultInfo(Collections.singletonList(pskScan));
+
+ // SAE config and PSK scan do not match, so entry is unsaved with PSK scan level
+ assertThat(entry.getLevel()).isEqualTo(GOOD_LEVEL);
+ assertThat(entry.isSaved()).isFalse();
+ }
+
+ @Test
+ public void testConnect_unsavedOpen_configuresOpenNetwork() {
+ ScanResult openScan = buildScanResult("ssid", "bssid0", 0, GOOD_RSSI);
+ openScan.capabilities = "";
+ StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN,
+ true /* isTargetingNewNetworks */),
+ null, Collections.singletonList(openScan),
+ mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ArgumentCaptor<WifiConfiguration> connectConfigCaptor =
+ ArgumentCaptor.forClass(WifiConfiguration.class);
+
+ entry.connect(null);
+ verify(mMockWifiManager).connect(connectConfigCaptor.capture(), any());
+
+ assertThat(Utils.getSecurityTypesFromWifiConfiguration(connectConfigCaptor.getValue()))
+ .isEqualTo(Collections.singletonList(SECURITY_TYPE_OPEN));
+ }
+
+ @Test
+ public void testConnect_unsavedOwe_configuresOweNetwork() {
+ ScanResult oweScan = buildScanResult("ssid", "bssid0", 0, BAD_RSSI);
+ oweScan.capabilities = "OWE";
+ StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OWE,
+ true /* isTargetingNewNetworks */),
+ null, Collections.singletonList(oweScan),
+ mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ArgumentCaptor<WifiConfiguration> connectConfigCaptor =
+ ArgumentCaptor.forClass(WifiConfiguration.class);
+
+ entry.connect(null);
+ verify(mMockWifiManager).connect(connectConfigCaptor.capture(), any());
+
+ assertThat(Utils.getSecurityTypesFromWifiConfiguration(connectConfigCaptor.getValue()))
+ .isEqualTo(Collections.singletonList(SECURITY_TYPE_OWE));
+ }
+
+ @Test
+ public void testConnect_unsavedOpenOwe_configuresOweAndOpenNetwork() {
+ ScanResult oweTransitionScan = buildScanResult("ssid", "bssid0", 0, BAD_RSSI);
+ oweTransitionScan.capabilities = "OWE_TRANSITION";
+ StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN,
+ true /* isTargetingNewNetworks */),
+ null, Collections.singletonList(oweTransitionScan),
+ mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ ArgumentCaptor<WifiConfiguration> connectConfigCaptor =
+ ArgumentCaptor.forClass(WifiConfiguration.class);
+ ArgumentCaptor<WifiConfiguration> savedConfigCaptor =
+ ArgumentCaptor.forClass(WifiConfiguration.class);
+
+ entry.connect(null);
+ verify(mMockWifiManager).connect(connectConfigCaptor.capture(), any());
+ verify(mMockWifiManager).save(savedConfigCaptor.capture(), any());
+
+ assertThat(Utils.getSecurityTypesFromWifiConfiguration(connectConfigCaptor.getValue()))
+ .isEqualTo(Collections.singletonList(SECURITY_TYPE_OWE));
+ assertThat(Utils.getSecurityTypesFromWifiConfiguration(savedConfigCaptor.getValue()))
+ .isEqualTo(Collections.singletonList(SECURITY_TYPE_OPEN));
+ }
+
+ @Test
+ public void testGetSecurity_openAndOwe_returnsOpen() {
+ WifiConfiguration openConfig = new WifiConfiguration();
+ openConfig.SSID = "\"ssid\"";
+ openConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
+ WifiConfiguration oweConfig = new WifiConfiguration();
+ oweConfig.SSID = "\"ssid\"";
+ oweConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
+
+ StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_OPEN,
+ true /* isTargetingNewNetwork */),
+ Arrays.asList(openConfig, oweConfig), null,
+ mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+
+ assertThat(entry.getSecurity()).isEqualTo(WifiEntry.SECURITY_NONE);
+ assertThat(entry.getWifiConfiguration()).isEqualTo(openConfig);
+ }
+
+ @Test
+ public void testGetSecurity_pskAndSae_returnsPsk() {
+ WifiConfiguration pskConfig = new WifiConfiguration();
+ pskConfig.SSID = "\"ssid\"";
+ pskConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
+ WifiConfiguration saeConfig = new WifiConfiguration();
+ saeConfig.SSID = "\"ssid\"";
+ saeConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
+
+ StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_PSK,
+ true /* isTargetingNewNetwork */),
+ Arrays.asList(pskConfig, saeConfig), null,
+ mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+
+ assertThat(entry.getSecurity()).isEqualTo(WifiEntry.SECURITY_PSK);
+ assertThat(entry.getWifiConfiguration()).isEqualTo(pskConfig);
+ }
+
+ @Test
+ public void testGetSecurity_eapAndEapWpa3_returnsEap() {
+ WifiConfiguration eapConfig = new WifiConfiguration();
+ eapConfig.SSID = "\"ssid\"";
+ eapConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
+ WifiConfiguration eapWpa3Config = new WifiConfiguration();
+ eapWpa3Config.SSID = "\"ssid\"";
+ eapWpa3Config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
+
+ StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
+ ssidAndSecurityTypeToStandardWifiEntryKey("ssid", SECURITY_TYPE_EAP,
+ true /* isTargetingNewNetwork */),
+ Arrays.asList(eapConfig, eapWpa3Config), null,
+ mMockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+
+ assertThat(entry.getSecurity()).isEqualTo(WifiEntry.SECURITY_EAP);
+ assertThat(entry.getWifiConfiguration()).isEqualTo(eapConfig);
+ }
}
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/UtilsTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/UtilsTest.java
index b009ac066..73137feb2 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/UtilsTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/UtilsTest.java
@@ -16,8 +16,7 @@
package com.android.wifitrackerlib;
-import static com.android.wifitrackerlib.StandardWifiEntry.ssidAndSecurityToStandardWifiEntryKey;
-import static com.android.wifitrackerlib.StandardWifiEntry.wifiConfigToStandardWifiEntryKey;
+import static com.android.wifitrackerlib.StandardWifiEntry.StandardWifiEntryKey;
import static com.android.wifitrackerlib.TestUtils.buildScanResult;
import static com.android.wifitrackerlib.Utils.getAutoConnectDescription;
import static com.android.wifitrackerlib.Utils.getBestScanResultByLevel;
@@ -25,17 +24,19 @@ import static com.android.wifitrackerlib.Utils.getCarrierNameForSubId;
import static com.android.wifitrackerlib.Utils.getImsiProtectionDescription;
import static com.android.wifitrackerlib.Utils.getMeteredDescription;
import static com.android.wifitrackerlib.Utils.getNetworkSelectionDescription;
+import static com.android.wifitrackerlib.Utils.getSecurityTypesFromScanResult;
+import static com.android.wifitrackerlib.Utils.getSecurityTypesFromWifiConfiguration;
import static com.android.wifitrackerlib.Utils.getSubIdForConfig;
import static com.android.wifitrackerlib.Utils.isImsiPrivacyProtectionProvided;
import static com.android.wifitrackerlib.Utils.isSimPresent;
import static com.android.wifitrackerlib.Utils.linkifyAnnotation;
-import static com.android.wifitrackerlib.Utils.mapScanResultsToKey;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_NONE;
-import static com.android.wifitrackerlib.WifiEntry.SECURITY_PSK;
import static com.google.common.truth.Truth.assertThat;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
@@ -76,8 +77,8 @@ import org.robolectric.annotation.Config;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
-import java.util.Map;
@Config(shadows = {ShadowSystem.class})
public class UtilsTest {
@@ -145,57 +146,12 @@ public class UtilsTest {
}
@Test
- public void testMapScanResultsToKey_filtersUnsupportedCapabilities() {
- final ScanResult wpa3SaeScan = new ScanResult();
- final ScanResult wpa3SuiteBScan = new ScanResult();
- final ScanResult oweScan = new ScanResult();
- wpa3SaeScan.SSID = "wpa3Sae";
- wpa3SaeScan.capabilities = "[SAE]";
- wpa3SuiteBScan.SSID = "wpa3SuiteB";
- wpa3SuiteBScan.capabilities = "[EAP_SUITE_B_192]";
- oweScan.SSID = "owe";
- oweScan.capabilities = "[OWE]";
-
- final Map<String, List<ScanResult>> scanResultsByKey = mapScanResultsToKey(
- Arrays.asList(wpa3SaeScan, wpa3SuiteBScan, oweScan),
- false /* chooseSingleSecurity */,
- null /* wifiConfigsByKey */,
- false /* isWpa3SaeSupported */,
- false /* isWpa3SuiteBSupported */,
- false /* isEnhancedOpenSupported */);
-
- assertThat(scanResultsByKey).isEmpty();
- }
-
- @Test
- public void testMapScanResultsToKey_convertsTransitionModeScansToSupportedSecurity() {
- final ScanResult wpa3TransitionScan = new ScanResult();
- final ScanResult oweTransitionScan = new ScanResult();
- wpa3TransitionScan.SSID = "wpa3Transition";
- wpa3TransitionScan.capabilities = "[PSK+SAE]";
- oweTransitionScan.SSID = "owe";
- oweTransitionScan.capabilities = "[OWE_TRANSITION]";
-
- final Map<String, List<ScanResult>> scanResultsByKey = mapScanResultsToKey(
- Arrays.asList(wpa3TransitionScan, oweTransitionScan),
- false /* chooseSingleSecurity */,
- null /* wifiConfigsByKey */,
- false /* isWpa3SaeSupported */,
- false /* isWpa3SuiteBSupported */,
- false /* isEnhancedOpenSupported */);
-
- assertThat(scanResultsByKey.keySet()).containsExactly(
- ssidAndSecurityToStandardWifiEntryKey(wpa3TransitionScan.SSID, SECURITY_PSK),
- ssidAndSecurityToStandardWifiEntryKey(oweTransitionScan.SSID, SECURITY_NONE));
- }
-
- @Test
public void testGetAutoConnectDescription_autoJoinEnabled_returnEmptyString() {
final WifiConfiguration config = new WifiConfiguration();
config.SSID = "\"ssid\"";
config.allowAutojoin = true;
final StandardWifiEntry entry = getStandardWifiEntry(config);
- when(mMockResources.getString(R.string.auto_connect_disable))
+ when(mMockResources.getString(R.string.wifitrackerlib_auto_connect_disable))
.thenReturn(LABEL_AUTO_CONNECTION_DISABLED);
final String autoConnectDescription = getAutoConnectDescription(mMockContext, entry);
@@ -209,7 +165,7 @@ public class UtilsTest {
config.SSID = "\"ssid\"";
config.allowAutojoin = false;
final StandardWifiEntry entry = getStandardWifiEntry(config);
- when(mMockResources.getString(R.string.auto_connect_disable))
+ when(mMockResources.getString(R.string.wifitrackerlib_auto_connect_disable))
.thenReturn(LABEL_AUTO_CONNECTION_DISABLED);
final String autoConnectDescription = getAutoConnectDescription(mMockContext, entry);
@@ -236,7 +192,8 @@ public class UtilsTest {
config.SSID = "\"ssid\"";
config.meteredOverride = WifiConfiguration.METERED_OVERRIDE_METERED;
final StandardWifiEntry entry = getStandardWifiEntry(config);
- when(mMockResources.getString(R.string.wifi_metered_label)).thenReturn(LABEL_METERED);
+ when(mMockResources.getString(R.string.wifitrackerlib_wifi_metered_label))
+ .thenReturn(LABEL_METERED);
final String meteredDescription = getMeteredDescription(mMockContext, entry);
@@ -251,7 +208,8 @@ public class UtilsTest {
config.meteredHint = true;
config.meteredOverride = WifiConfiguration.METERED_OVERRIDE_NONE;
final StandardWifiEntry entry = getStandardWifiEntry(config);
- when(mMockResources.getString(R.string.wifi_metered_label)).thenReturn(LABEL_METERED);
+ when(mMockResources.getString(R.string.wifitrackerlib_wifi_metered_label))
+ .thenReturn(LABEL_METERED);
final String meteredDescription = getMeteredDescription(mMockContext, entry);
@@ -265,7 +223,8 @@ public class UtilsTest {
config.meteredHint = true;
config.meteredOverride = WifiConfiguration.METERED_OVERRIDE_METERED;
final StandardWifiEntry entry = getStandardWifiEntry(config);
- when(mMockResources.getString(R.string.wifi_metered_label)).thenReturn(LABEL_METERED);
+ when(mMockResources.getString(R.string.wifitrackerlib_wifi_metered_label))
+ .thenReturn(LABEL_METERED);
final String meteredDescription = getMeteredDescription(mMockContext, entry);
@@ -279,7 +238,8 @@ public class UtilsTest {
config.meteredHint = true;
config.meteredOverride = WifiConfiguration.METERED_OVERRIDE_NOT_METERED;
final StandardWifiEntry entry = getStandardWifiEntry(config);
- when(mMockResources.getString(R.string.wifi_unmetered_label)).thenReturn(LABEL_UNMETERED);
+ when(mMockResources.getString(R.string.wifitrackerlib_wifi_unmetered_label))
+ .thenReturn(LABEL_UNMETERED);
final String meteredDescription = getMeteredDescription(mMockContext, entry);
@@ -452,11 +412,90 @@ public class UtilsTest {
assertThat(getNetworkSelectionDescription(wifiConfig)).isEqualTo(expected);
}
+ @Test
+ public void testGetSecurityTypeFromWifiConfiguration_returnsCorrectSecurityTypes() {
+ for (int securityType = WifiInfo.SECURITY_TYPE_OPEN;
+ securityType <= WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE; securityType++) {
+ WifiConfiguration config = new WifiConfiguration();
+ config.setSecurityParams(securityType);
+ if (securityType == WifiInfo.SECURITY_TYPE_WEP) {
+ config.wepKeys = new String[]{"key"};
+ }
+ if (securityType == WifiInfo.SECURITY_TYPE_EAP) {
+ assertThat(getSecurityTypesFromWifiConfiguration(config))
+ .containsExactly(
+ WifiInfo.SECURITY_TYPE_EAP,
+ WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
+ } else {
+ assertThat(getSecurityTypesFromWifiConfiguration(config))
+ .containsExactly(securityType);
+ }
+ }
+ }
+
+ @Test
+ public void testGetSecurityTypesFromScanResult_returnsCorrectSecurityTypes() {
+ ScanResult scanResult = new ScanResult();
+
+ scanResult.capabilities = "";
+ assertThat(getSecurityTypesFromScanResult(scanResult)).containsExactly(
+ WifiInfo.SECURITY_TYPE_OPEN);
+
+ scanResult.capabilities = "OWE";
+ assertThat(getSecurityTypesFromScanResult(scanResult)).containsExactly(
+ WifiInfo.SECURITY_TYPE_OWE);
+
+ scanResult.capabilities = "OWE_TRANSITION";
+ assertThat(getSecurityTypesFromScanResult(scanResult)).containsExactly(
+ WifiInfo.SECURITY_TYPE_OPEN, WifiInfo.SECURITY_TYPE_OWE);
+
+ scanResult.capabilities = "WEP";
+ assertThat(getSecurityTypesFromScanResult(scanResult)).containsExactly(
+ WifiInfo.SECURITY_TYPE_WEP);
+
+ scanResult.capabilities = "PSK";
+ assertThat(getSecurityTypesFromScanResult(scanResult)).containsExactly(
+ WifiInfo.SECURITY_TYPE_PSK);
+
+ scanResult.capabilities = "SAE";
+ assertThat(getSecurityTypesFromScanResult(scanResult)).containsExactly(
+ WifiInfo.SECURITY_TYPE_SAE);
+
+ scanResult.capabilities = "[PSK][SAE]";
+ assertThat(getSecurityTypesFromScanResult(scanResult)).containsExactly(
+ WifiInfo.SECURITY_TYPE_PSK, WifiInfo.SECURITY_TYPE_SAE);
+
+ scanResult.capabilities = "[EAP/SHA1]";
+ assertThat(getSecurityTypesFromScanResult(scanResult)).containsExactly(
+ WifiInfo.SECURITY_TYPE_EAP);
+
+ scanResult.capabilities = "[RSN-EAP/SHA1+EAP/SHA256][MFPC]";
+ assertThat(getSecurityTypesFromScanResult(scanResult)).containsExactly(
+ WifiInfo.SECURITY_TYPE_EAP, WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
+
+ scanResult.capabilities = "[RSN-EAP/SHA256][MFPC][MFPR]";
+ assertThat(getSecurityTypesFromScanResult(scanResult)).containsExactly(
+ WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
+
+ scanResult.capabilities = "[RSN-SUITE_B_192][MFPR]";
+ assertThat(getSecurityTypesFromScanResult(scanResult)).containsExactly(
+ WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT);
+
+ scanResult.capabilities = "WAPI-PSK";
+ assertThat(getSecurityTypesFromScanResult(scanResult)).containsExactly(
+ WifiInfo.SECURITY_TYPE_WAPI_PSK);
+
+ scanResult.capabilities = "WAPI-CERT";
+ assertThat(getSecurityTypesFromScanResult(scanResult)).containsExactly(
+ WifiInfo.SECURITY_TYPE_WAPI_CERT);
+ }
+
+
private StandardWifiEntry getStandardWifiEntry(WifiConfiguration config) {
final WifiManager mockWifiManager = mock(WifiManager.class);
final StandardWifiEntry entry = new StandardWifiEntry(mMockContext, mTestHandler,
- wifiConfigToStandardWifiEntryKey(config), config,
- mockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
+ new StandardWifiEntryKey(config), Collections.singletonList(config),
+ null, mockWifiManager, mMockScoreCache, false /* forSavedNetworksPage */);
final WifiInfo mockWifiInfo = mock(WifiInfo.class);
final NetworkInfo mockNetworkInfo = mock(NetworkInfo.class);
diff --git a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
index 1260266c7..858075e1c 100644
--- a/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
+++ b/libs/WifiTrackerLib/tests/src/com/android/wifitrackerlib/WifiPickerTrackerTest.java
@@ -17,11 +17,13 @@
package com.android.wifitrackerlib;
import static com.android.wifitrackerlib.TestUtils.buildScanResult;
+import static com.android.wifitrackerlib.TestUtils.buildWifiConfiguration;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
@@ -45,6 +47,8 @@ import android.net.wifi.hotspot2.pps.Credential;
import android.net.wifi.hotspot2.pps.HomeSp;
import android.os.Handler;
import android.os.test.TestLooper;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
import android.util.Pair;
import androidx.lifecycle.Lifecycle;
@@ -64,6 +68,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
public class WifiPickerTrackerTest {
@@ -85,6 +90,8 @@ public class WifiPickerTrackerTest {
@Mock
private NetworkScoreManager mMockNetworkScoreManager;
@Mock
+ private TelephonyManager mMockTelephonyManager;
+ @Mock
private Clock mMockClock;
@Mock
private WifiPickerTracker.WifiPickerTrackerCallback mMockCallback;
@@ -123,12 +130,23 @@ public class WifiPickerTrackerTest {
@Before
public void setUp() {
+ Utils.sFeatureFlagUtilsWrapper = new Utils.FeatureFlagUtilsWrapper() {
+ @Override
+ boolean isProviderModelEnabled(Context context) {
+ return false;
+ }
+ };
+
MockitoAnnotations.initMocks(this);
mTestLooper = new TestLooper();
when(mMockWifiManager.getScanResults()).thenReturn(new ArrayList<>());
when(mMockWifiManager.getConnectionInfo()).thenReturn(mMockWifiInfo);
+ when(mMockWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_ENABLED);
+ when(mMockWifiManager.isWpa3SaeSupported()).thenReturn(true);
+ when(mMockWifiManager.isWpa3SuiteBSupported()).thenReturn(true);
+ when(mMockWifiManager.isEnhancedOpenSupported()).thenReturn(true);
when(mMockConnectivityManager.getNetworkInfo(any())).thenReturn(mMockNetworkInfo);
when(mMockClock.millis()).thenReturn(START_MILLIS);
when(mMockWifiInfo.getNetworkId()).thenReturn(WifiConfiguration.INVALID_NETWORK_ID);
@@ -138,6 +156,9 @@ public class WifiPickerTrackerTest {
when(mMockContext.getResources()).thenReturn(mMockResources);
when(mMockContext.getSystemService(Context.NETWORK_SCORE_SERVICE))
.thenReturn(mMockNetworkScoreManager);
+ when(mMockContext.getSystemService(Context.TELEPHONY_SERVICE))
+ .thenReturn(mMockTelephonyManager);
+ when(mMockResources.getString(anyInt())).thenReturn("");
}
/**
@@ -370,6 +391,35 @@ public class WifiPickerTrackerTest {
assertThat(wifiPickerTracker.getWifiEntries()).isEmpty();
}
+ @Test
+ public void testGetWifiEntries_differentSsidSameBssid_returnsDifferentEntries() {
+ final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
+ wifiPickerTracker.onStart();
+ verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
+ any(), any(), any());
+
+ when(mMockWifiManager.getScanResults()).thenReturn(Arrays.asList(
+ // Identical BSSID for 4 different SSIDs should return 4 entries.
+ buildScanResult("ssid0", "bssid0", START_MILLIS),
+ buildScanResult("ssid1", "bssid0", START_MILLIS),
+ buildScanResult("ssid2", "bssid0", START_MILLIS),
+ buildScanResult("ssid3", "bssid0", START_MILLIS),
+ // Another identical BSSID for 4 different SSIDs should return 4 more entries.
+ buildScanResult("ssid4", "bssid1", START_MILLIS),
+ buildScanResult("ssid5", "bssid1", START_MILLIS),
+ buildScanResult("ssid6", "bssid1", START_MILLIS),
+ buildScanResult("ssid7", "bssid1", START_MILLIS),
+ // Same SSID as the last for 2 different BSSIDs should not increase entries.
+ buildScanResult("ssid7", "bssid2", START_MILLIS),
+ buildScanResult("ssid7", "bssid3", START_MILLIS)));
+
+
+ mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
+ new Intent(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
+
+ assertThat(wifiPickerTracker.getWifiEntries()).hasSize(8);
+ }
+
/**
* Tests that a CONFIGURED_NETWORKS_CHANGED broadcast updates the correct WifiEntry from
* unsaved to saved.
@@ -391,11 +441,11 @@ public class WifiPickerTrackerTest {
final WifiConfiguration config = new WifiConfiguration();
config.SSID = "\"ssid\"";
+ when(mMockWifiManager.getPrivilegedConfiguredNetworks())
+ .thenReturn(Collections.singletonList(config));
mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
- new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION)
- .putExtra(WifiManager.EXTRA_WIFI_CONFIGURATION, config)
- .putExtra(WifiManager.EXTRA_CHANGE_REASON,
- WifiManager.CHANGE_REASON_ADDED));
+ new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION));
+ mTestLooper.dispatchAll();
assertThat(entry.isSaved()).isTrue();
}
@@ -409,6 +459,7 @@ public class WifiPickerTrackerTest {
final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
final WifiConfiguration config = new WifiConfiguration();
config.SSID = "\"ssid\"";
+ config.networkId = 1;
when(mMockWifiManager.getPrivilegedConfiguredNetworks())
.thenReturn(Collections.singletonList(config));
wifiPickerTracker.onStart();
@@ -424,11 +475,10 @@ public class WifiPickerTrackerTest {
assertThat(entry.isSaved()).isTrue();
+ when(mMockWifiManager.getPrivilegedConfiguredNetworks())
+ .thenReturn(Collections.emptyList());
mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
- new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION)
- .putExtra(WifiManager.EXTRA_WIFI_CONFIGURATION, config)
- .putExtra(WifiManager.EXTRA_CHANGE_REASON,
- WifiManager.CHANGE_REASON_REMOVED));
+ new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION));
assertThat(entry.isSaved()).isFalse();
}
@@ -519,14 +569,51 @@ public class WifiPickerTrackerTest {
}
/**
+ * Tests that the wifi state changing to something other than WIFI_STATE_ENABLED will update
+ * getConnectedEntry() to return null.
+ */
+ @Test
+ public void testGetConnectedEntry_wifiStateDisabled_returnsNull() {
+ 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)));
+ when(mMockWifiInfo.getNetworkId()).thenReturn(1);
+ when(mMockWifiInfo.getRssi()).thenReturn(-50);
+ when(mMockNetworkInfo.getDetailedState()).thenReturn(NetworkInfo.DetailedState.CONNECTED);
+ wifiPickerTracker.onStart();
+ verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
+ any(), any(), any());
+ mTestLooper.dispatchAll();
+
+ when(mMockWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_DISABLED);
+ mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
+ new Intent(WifiManager.WIFI_STATE_CHANGED_ACTION));
+
+ verify(mMockCallback, atLeastOnce()).onWifiEntriesChanged();
+ assertThat(wifiPickerTracker.getConnectedWifiEntry()).isNull();
+ }
+
+ /**
* Tests that a connected WifiEntry will return "Low quality" as the summary if Wifi is
* validated but cell is the default route.
*/
@Test
public void testGetConnectedEntry_wifiValidatedCellDefault_isLowQuality() {
+ final String summarySeparator = " / ";
final String lowQuality = "Low quality";
- when(mMockResources.getString(anyInt())).thenReturn("");
+ final String[] wifiStatusArray = new String[]{"", "Scanning", "Connecting",
+ "Authenticating", "Obtaining IP address", "Connected"};
+ when(mMockResources.getString(R.string.wifitrackerlib_summary_separator))
+ .thenReturn(summarySeparator);
when(mMockResources.getString(R.string.wifi_connected_low_quality)).thenReturn(lowQuality);
+ when(mMockResources.getStringArray(R.array.wifitrackerlib_wifi_status))
+ .thenReturn(wifiStatusArray);
+
final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
final WifiConfiguration config = new WifiConfiguration();
config.SSID = "\"ssid\"";
@@ -546,13 +633,37 @@ public class WifiPickerTrackerTest {
.registerDefaultNetworkCallback(mDefaultNetworkCallbackCaptor.capture(), any());
mTestLooper.dispatchAll();
- mNetworkCallbackCaptor.getValue().onCapabilitiesChanged(mMockNetwork,
- new NetworkCapabilities.Builder()
- .addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED).build());
+ // Set cellular to be the default network
mDefaultNetworkCallbackCaptor.getValue().onCapabilitiesChanged(mMockNetwork,
new NetworkCapabilities.Builder()
- .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR).build());
-
+ .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR).build());
+
+ // Trigger a validation callback for the non-primary Wifi network.
+ WifiInfo nonPrimaryWifiInfo = Mockito.mock(WifiInfo.class);
+ when(nonPrimaryWifiInfo.isPrimary()).thenReturn(false);
+ when(nonPrimaryWifiInfo.makeCopy(anyLong())).thenReturn(nonPrimaryWifiInfo);
+ NetworkCapabilities nonPrimaryCap = new NetworkCapabilities.Builder()
+ .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
+ .setTransportInfo(nonPrimaryWifiInfo)
+ .addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)
+ .build();
+ mNetworkCallbackCaptor.getValue().onCapabilitiesChanged(mMockNetwork, nonPrimaryCap);
+
+ // Non-primary Wifi network validation should be ignored.
+ assertThat(wifiPickerTracker.getConnectedWifiEntry().getSummary()).isNotEqualTo(lowQuality);
+
+ // Trigger a validation callback for the primary Wifi network.
+ WifiInfo primaryWifiInfo = Mockito.mock(WifiInfo.class);
+ when(primaryWifiInfo.isPrimary()).thenReturn(true);
+ when(primaryWifiInfo.makeCopy(anyLong())).thenReturn(primaryWifiInfo);
+ NetworkCapabilities primaryCap = new NetworkCapabilities.Builder()
+ .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
+ .setTransportInfo(primaryWifiInfo)
+ .addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)
+ .build();
+ mNetworkCallbackCaptor.getValue().onCapabilitiesChanged(mMockNetwork, primaryCap);
+
+ // Cell default + primary network validation should trigger low quality
assertThat(wifiPickerTracker.getConnectedWifiEntry().getSummary()).isEqualTo(lowQuality);
}
@@ -591,6 +702,54 @@ public class WifiPickerTrackerTest {
}
/**
+ * Tests that the same PasspointWifiEntry from getWifiEntries() is returned when it becomes the
+ * connected entry
+ */
+ @Test
+ public void testGetWifiEntries_connectToPasspoint_returnsSamePasspointWifiEntry() {
+ final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
+ final PasspointConfiguration passpointConfig = new PasspointConfiguration();
+ final HomeSp homeSp = new HomeSp();
+ homeSp.setFqdn("fqdn");
+ homeSp.setFriendlyName("friendlyName");
+ passpointConfig.setHomeSp(homeSp);
+ passpointConfig.setCredential(new Credential());
+ when(mMockWifiManager.getPasspointConfigurations())
+ .thenReturn(Collections.singletonList(passpointConfig));
+ final WifiConfiguration wifiConfig = spy(new WifiConfiguration());
+ when(wifiConfig.getKey()).thenReturn(passpointConfig.getUniqueId());
+ when(wifiConfig.isPasspoint()).thenReturn(true);
+ wifiConfig.networkId = 1;
+ final Map<Integer, List<ScanResult>> mapping = new HashMap<>();
+ mapping.put(WifiManager.PASSPOINT_HOME_NETWORK, Collections.singletonList(
+ buildScanResult("ssid", "bssid", START_MILLIS)));
+ List<Pair<WifiConfiguration, Map<Integer, List<ScanResult>>>> allMatchingWifiConfigs =
+ Collections.singletonList(new Pair<>(wifiConfig, mapping));
+ when(mMockWifiManager.getAllMatchingWifiConfigs(any())).thenReturn(allMatchingWifiConfigs);
+ when(mMockWifiManager.getPrivilegedConfiguredNetworks())
+ .thenReturn(Collections.singletonList(wifiConfig));
+ wifiPickerTracker.onStart();
+ verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
+ any(), any(), any());
+ mTestLooper.dispatchAll();
+ assertThat(wifiPickerTracker.getWifiEntries()).isNotEmpty();
+ final WifiEntry entry = wifiPickerTracker.getWifiEntries().get(0);
+
+ when(mMockWifiInfo.isPasspointAp()).thenReturn(true);
+ when(mMockWifiInfo.getPasspointFqdn()).thenReturn("fqdn");
+ when(mMockWifiInfo.getNetworkId()).thenReturn(1);
+ when(mMockWifiInfo.getRssi()).thenReturn(-50);
+ when(mMockNetworkInfo.getDetailedState()).thenReturn(NetworkInfo.DetailedState.CONNECTED);
+ mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
+ new Intent(WifiManager.NETWORK_STATE_CHANGED_ACTION)
+ .putExtra(WifiManager.EXTRA_NETWORK_INFO, mMockNetworkInfo));
+
+ assertThat(wifiPickerTracker.getWifiEntries()).isEmpty();
+ assertThat(wifiPickerTracker.getConnectedWifiEntry() == entry).isTrue();
+
+ }
+
+ /**
* Tests that a PasspointWifiEntry will disappear from getWifiEntries() once it is out of range.
*/
@Test
@@ -626,7 +785,69 @@ public class WifiPickerTrackerTest {
// getWifiEntries() should be empty now
assertThat(wifiPickerTracker.getWifiEntries()).isEmpty();
+ }
+
+ /**
+ * Tests that multiple wifi entries are returned for multiple suggestions for the same network.
+ */
+ @Test
+ public void testGetWifiEntries_multipleSuggestions_returnsMultipleEntries() {
+ WifiConfiguration savedConfig = new WifiConfiguration();
+ savedConfig.fromWifiNetworkSuggestion = false;
+ savedConfig.SSID = "\"ssid\"";
+ savedConfig.networkId = 1;
+ WifiConfiguration suggestionConfig1 = new WifiConfiguration(savedConfig);
+ suggestionConfig1.networkId = 2;
+ suggestionConfig1.creatorName = "creator1";
+ suggestionConfig1.carrierId = 1;
+ suggestionConfig1.subscriptionId = 1;
+ suggestionConfig1.fromWifiNetworkSuggestion = true;
+ WifiConfiguration suggestionConfig2 = new WifiConfiguration(savedConfig);
+ suggestionConfig2.networkId = 3;
+ suggestionConfig1.creatorName = "creator2";
+ suggestionConfig1.carrierId = 2;
+ suggestionConfig1.subscriptionId = 2;
+ suggestionConfig2.fromWifiNetworkSuggestion = true;
+ // Initial entries
+ when(mMockWifiManager.getPrivilegedConfiguredNetworks()).thenReturn(
+ Arrays.asList(suggestionConfig1, suggestionConfig2));
+ when(mMockWifiManager.getScanResults()).thenReturn(Collections.singletonList(
+ buildScanResult("ssid", "bssid", START_MILLIS)));
+ when(mMockWifiManager.getWifiConfigForMatchedNetworkSuggestionsSharedWithUser(any()))
+ .thenReturn(Arrays.asList(suggestionConfig1, suggestionConfig2));
+ final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
+ wifiPickerTracker.onStart();
+ verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
+ any(), any(), any());
+ mTestLooper.dispatchAll();
+
+ // 2 suggestion entries, no unsaved entry
+ assertThat(wifiPickerTracker.getWifiEntries().size()).isEqualTo(2);
+ for (WifiEntry entry : wifiPickerTracker.getWifiEntries()) {
+ assertThat(entry.getTitle()).isEqualTo("ssid");
+ }
+ assertThat(wifiPickerTracker.getWifiEntries().stream()
+ .filter(WifiEntry::isSuggestion)
+ .count()).isEqualTo(2);
+ // Add a saved entry
+ when(mMockWifiManager.getPrivilegedConfiguredNetworks()).thenReturn(
+ Arrays.asList(savedConfig, suggestionConfig1, suggestionConfig2));
+ mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
+ new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION));
+
+ // Saved entry should appear alongside suggestions
+ assertThat(wifiPickerTracker.getWifiEntries().size()).isEqualTo(3);
+ for (WifiEntry entry : wifiPickerTracker.getWifiEntries()) {
+ assertThat(entry.getTitle()).isEqualTo("ssid");
+ }
+ assertThat(wifiPickerTracker.getWifiEntries().stream()
+ .filter(WifiEntry::isSuggestion)
+ .count())
+ .isEqualTo(2);
+ assertThat(wifiPickerTracker.getWifiEntries().stream()
+ .filter(WifiEntry::isSaved)
+ .count()).isEqualTo(1);
}
@Test
@@ -649,6 +870,7 @@ public class WifiPickerTrackerTest {
config.networkId = networkId;
config.allowedKeyManagement = new BitSet();
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.SUITE_B_192);
+ config.subscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
when(config.isPasspoint()).thenReturn(true);
when(config.getKey()).thenReturn(passpointConfig.getUniqueId());
when(mMockWifiManager.getPrivilegedConfiguredNetworks())
@@ -689,6 +911,7 @@ public class WifiPickerTrackerTest {
config.networkId = networkId;
config.allowedKeyManagement = new BitSet();
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.SUITE_B_192);
+ config.subscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
when(config.isPasspoint()).thenReturn(true);
when(config.getKey()).thenReturn(passpointConfig.getUniqueId());
when(mMockWifiManager.getPrivilegedConfiguredNetworks())
@@ -715,6 +938,52 @@ public class WifiPickerTrackerTest {
}
/**
+ * Tests that getConnectedEntry will return the correct network request if there are multiple
+ * active requests
+ */
+ @Test
+ public void testGetConnectedEntry_multipleNetworkRequests_returnsConnectedRequest() {
+ final WifiConfiguration requestConfig1 = new WifiConfiguration();
+ requestConfig1.SSID = "\"ssid1\"";
+ requestConfig1.networkId = 1;
+ requestConfig1.fromWifiNetworkSpecifier = true;
+ final WifiConfiguration requestConfig2 = new WifiConfiguration();
+ requestConfig2.SSID = "\"ssid2\"";
+ requestConfig2.networkId = 2;
+ requestConfig2.fromWifiNetworkSpecifier = true;
+ when(mMockWifiManager.getPrivilegedConfiguredNetworks()).thenReturn(
+ Arrays.asList(requestConfig1, requestConfig2));
+ when(mMockWifiInfo.getNetworkId()).thenReturn(1);
+ when(mMockWifiInfo.getRssi()).thenReturn(-50);
+ when(mMockNetworkInfo.getDetailedState()).thenReturn(NetworkInfo.DetailedState.CONNECTED);
+
+ final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
+ wifiPickerTracker.onStart();
+ verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
+ any(), any(), any());
+ mTestLooper.dispatchAll();
+
+ // WifiInfo has network id 1, so the connected entry should correspond to request 1
+ assertThat(wifiPickerTracker.getConnectedWifiEntry().getSsid()).isEqualTo("ssid1");
+
+ when(mMockWifiInfo.getNetworkId()).thenReturn(2);
+ mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
+ new Intent(WifiManager.NETWORK_STATE_CHANGED_ACTION)
+ .putExtra(WifiManager.EXTRA_NETWORK_INFO, mMockNetworkInfo));
+
+ // WifiInfo has network id 2, so the connected entry should correspond to request 2
+ assertThat(wifiPickerTracker.getConnectedWifiEntry().getSsid()).isEqualTo("ssid2");
+
+ when(mMockWifiInfo.getNetworkId()).thenReturn(-1);
+ mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
+ new Intent(WifiManager.NETWORK_STATE_CHANGED_ACTION)
+ .putExtra(WifiManager.EXTRA_NETWORK_INFO, mMockNetworkInfo));
+
+ // WifiInfo matches no request configs, so the connected entry should be null
+ assertThat(wifiPickerTracker.getConnectedWifiEntry()).isNull();
+ }
+
+ /**
* Tests that SCAN_RESULTS_AVAILABLE_ACTION calls WifiManager#getMatchingOsuProviders()
*/
@Test
@@ -731,4 +1000,248 @@ public class WifiPickerTrackerTest {
verify(mMockWifiManager, atLeastOnce()).getMatchingOsuProviders(any());
}
+
+ /**
+ * Tests that a connected MergedCarrierEntry is returned if the current WifiInfo has a matching
+ * subscription id.
+ */
+ @Test
+ public void testGetMergedCarrierEntry_wifiInfoHasMatchingSubId_entryIsConnected() {
+ final int subId = 1;
+ when(mMockWifiInfo.isCarrierMerged()).thenReturn(true);
+ when(mMockWifiInfo.getSubscriptionId()).thenReturn(subId);
+ when(mMockNetworkInfo.getDetailedState()).thenReturn(NetworkInfo.DetailedState.CONNECTED);
+ final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
+ wifiPickerTracker.onStart();
+ mTestLooper.dispatchAll();
+ verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
+ any(), any(), any());
+
+ final Intent intent = new Intent(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
+ intent.putExtra("subscription", subId);
+ mBroadcastReceiverCaptor.getValue().onReceive(mMockContext, intent);
+
+ assertThat(wifiPickerTracker.getMergedCarrierEntry().getConnectedState())
+ .isEqualTo(WifiEntry.CONNECTED_STATE_CONNECTED);
+ }
+
+ /**
+ * Tests that getMergedCarrierEntry returns a new MergedCarrierEntry with the correct
+ * subscription ID if the default subscription ID changes.
+ */
+ @Test
+ public void testGetMergedCarrierEntry_subscriptionIdChanges_entryChanges() {
+ final int subId1 = 1;
+ final int subId2 = 2;
+ final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
+ wifiPickerTracker.onStart();
+ mTestLooper.dispatchAll();
+ verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
+ any(), any(), any());
+ final Intent intent1 =
+ new Intent(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
+ intent1.putExtra("subscription", subId1);
+ mBroadcastReceiverCaptor.getValue().onReceive(mMockContext, intent1);
+
+ final Intent intent2 =
+ new Intent(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
+ intent2.putExtra("subscription", subId2);
+ mBroadcastReceiverCaptor.getValue().onReceive(mMockContext, intent2);
+
+ assertThat(wifiPickerTracker.getMergedCarrierEntry().getSubscriptionId())
+ .isEqualTo(subId2);
+ }
+
+ /**
+ * Tests that getWifiEntries returns separate WifiEntries for each security family for scans
+ * with the same SSID
+ */
+ @Test
+ public void testGetWifiEntries_sameSsidDifferentSecurity_entriesMergedBySecurityFamily() {
+ final ArrayList scanList = new ArrayList();
+ final String ssid = "ssid";
+ final String bssid = "bssid";
+ int bssidNum = 0;
+ for (String capabilities : Arrays.asList(
+ "",
+ "[OWE]",
+ "[OWE_TRANSITION]",
+ "[WEP]",
+ "[PSK]",
+ "[SAE]",
+ "[PSK][SAE]",
+ "[EAP/SHA1]",
+ "[RSN-EAP/SHA1+EAP/SHA256][MFPC]",
+ "[RSN-EAP/SHA256][MFPC][MFPR]",
+ "[RSN-SUITE_B_192][MFPR]"
+ )) {
+ final ScanResult scan = buildScanResult(ssid, bssid + bssidNum++, START_MILLIS);
+ scan.capabilities = capabilities;
+ scanList.add(scan);
+ }
+ when(mMockWifiManager.getScanResults()).thenReturn(scanList);
+
+ final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
+ wifiPickerTracker.onStart();
+ mTestLooper.dispatchAll();
+ verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
+ any(), any(), any());
+
+ // Open/OWE, PSK/SAE, EAP/EAP-WPA3 should be merged to a single entry
+ List<WifiEntry> wifiEntries = wifiPickerTracker.getWifiEntries();
+ assertThat(wifiEntries.size()).isEqualTo(5);
+ assertThat(wifiEntries.stream()
+ .map(entry -> entry.getSecurityTypes())
+ .collect(Collectors.toList()))
+ .containsExactly(
+ Arrays.asList(WifiInfo.SECURITY_TYPE_OPEN, WifiInfo.SECURITY_TYPE_OWE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_WEP),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_PSK, WifiInfo.SECURITY_TYPE_SAE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_EAP,
+ WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT));
+
+ // Use a PSK config, EAP config, and Open config, and see that the security types returned
+ // for those grouped entries change to reflect the available configs.
+ WifiConfiguration openConfig = buildWifiConfiguration(ssid);
+ openConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
+ openConfig.networkId = 1;
+ WifiConfiguration pskConfig = buildWifiConfiguration(ssid);
+ pskConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
+ pskConfig.networkId = 2;
+ WifiConfiguration eapConfig = buildWifiConfiguration(ssid);
+ eapConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
+ eapConfig.networkId = 3;
+ when(mMockWifiManager.getPrivilegedConfiguredNetworks()).thenReturn(
+ Arrays.asList(openConfig, pskConfig, eapConfig));
+ mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
+ new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION));
+ mTestLooper.dispatchAll();
+
+ // Open/OWE becomes Open, PSK/SAE becomes PSK, EAP/EAP-WPA3 does not change since EAP config
+ // also works for EAP-WPA3.
+ wifiEntries = wifiPickerTracker.getWifiEntries();
+ assertThat(wifiEntries.size()).isEqualTo(5);
+ assertThat(wifiEntries.stream()
+ .map(entry -> entry.getSecurityTypes())
+ .collect(Collectors.toList()))
+ .containsExactly(
+ Arrays.asList(WifiInfo.SECURITY_TYPE_OPEN),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_WEP),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_PSK),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_EAP,
+ WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT));
+
+ // Use SAE config, EAP-WPA3 config, and OWE config
+ WifiConfiguration oweConfig = buildWifiConfiguration(ssid);
+ oweConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
+ oweConfig.networkId = 1;
+ WifiConfiguration saeConfig = buildWifiConfiguration(ssid);
+ saeConfig.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
+ saeConfig.networkId = 2;
+ WifiConfiguration eapWpa3Config = buildWifiConfiguration(ssid);
+ eapWpa3Config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
+ eapWpa3Config.networkId = 3;
+ when(mMockWifiManager.getPrivilegedConfiguredNetworks()).thenReturn(
+ Arrays.asList(oweConfig, saeConfig, eapWpa3Config));
+ mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
+ new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION));
+ mTestLooper.dispatchAll();
+
+ // Open/OWE becomes OWE, PSK/SAE becomes SAE, EAP/EAP-WPA3 becomes EAP-WPA3
+ wifiEntries = wifiPickerTracker.getWifiEntries();
+ assertThat(wifiEntries.size()).isEqualTo(5);
+ assertThat(wifiEntries.stream()
+ .map(entry -> entry.getSecurityTypes())
+ .collect(Collectors.toList()))
+ .containsExactly(
+ Arrays.asList(WifiInfo.SECURITY_TYPE_OWE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_WEP),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_SAE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT));
+
+ // Now use configs for all the security types in the family
+ when(mMockWifiManager.getPrivilegedConfiguredNetworks()).thenReturn(
+ Arrays.asList(openConfig, oweConfig, pskConfig, saeConfig, eapConfig,
+ eapWpa3Config));
+ mBroadcastReceiverCaptor.getValue().onReceive(mMockContext,
+ new Intent(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION));
+ mTestLooper.dispatchAll();
+
+ // All of the security types in the family should be returned.
+ wifiEntries = wifiPickerTracker.getWifiEntries();
+ assertThat(wifiEntries.size()).isEqualTo(5);
+ assertThat(wifiEntries.stream()
+ .map(entry -> entry.getSecurityTypes())
+ .collect(Collectors.toList()))
+ .containsExactly(
+ Arrays.asList(WifiInfo.SECURITY_TYPE_OPEN, WifiInfo.SECURITY_TYPE_OWE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_WEP),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_PSK, WifiInfo.SECURITY_TYPE_SAE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_EAP,
+ WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE),
+ Arrays.asList(WifiInfo.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT));
+ }
+
+ /**
+ * Tests that getNumSavedNetworks() returns the correct number of networks based on number of
+ * unique network IDs even for split configs which may have the same network ID but different
+ * security types.
+ */
+ @Test
+ public void testGetNumSavedNetworks_splitConfigs_returnsNetworkIdCount() {
+ WifiConfiguration openConfig = buildWifiConfiguration("ssid");
+ openConfig.networkId = 1;
+ // PSK + SAE split config with the same network ID
+ WifiConfiguration pskConfig = buildWifiConfiguration("ssid");
+ pskConfig.setSecurityParams(WifiInfo.SECURITY_TYPE_PSK);
+ pskConfig.networkId = 2;
+ WifiConfiguration saeConfig = buildWifiConfiguration("ssid");
+ saeConfig.setSecurityParams(WifiInfo.SECURITY_TYPE_SAE);
+ saeConfig.networkId = 2;
+ when(mMockWifiManager.getPrivilegedConfiguredNetworks())
+ .thenReturn(Arrays.asList(openConfig, pskConfig, saeConfig));
+ final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
+ wifiPickerTracker.onStart();
+ mTestLooper.dispatchAll();
+
+ // 1 open config + 2 split configs with same network ID should be treated as 2 networks.
+ assertThat(wifiPickerTracker.getNumSavedNetworks()).isEqualTo(2);
+ }
+
+ /**
+ * Tests that the MergedCarrierEntry is the default network when it is connected and Wifi is
+ * the default network.
+ */
+ @Test
+ public void testGetMergedCarrierEntry_wifiIsDefault_entryIsDefaultNetwork() {
+ final int subId = 1;
+ when(mMockWifiInfo.isCarrierMerged()).thenReturn(true);
+ when(mMockWifiInfo.getSubscriptionId()).thenReturn(subId);
+ when(mMockNetworkInfo.getDetailedState()).thenReturn(NetworkInfo.DetailedState.CONNECTED);
+ final WifiPickerTracker wifiPickerTracker = createTestWifiPickerTracker();
+ wifiPickerTracker.onStart();
+ mTestLooper.dispatchAll();
+ verify(mMockContext).registerReceiver(mBroadcastReceiverCaptor.capture(),
+ any(), any(), any());
+ final Intent intent = new Intent(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
+ intent.putExtra("subscription", subId);
+ mBroadcastReceiverCaptor.getValue().onReceive(mMockContext, intent);
+ verify(mMockConnectivityManager)
+ .registerDefaultNetworkCallback(mDefaultNetworkCallbackCaptor.capture(), any());
+ MergedCarrierEntry mergedCarrierEntry = wifiPickerTracker.getMergedCarrierEntry();
+ assertThat(mergedCarrierEntry.getConnectedState())
+ .isEqualTo(WifiEntry.CONNECTED_STATE_CONNECTED);
+ // Wifi isn't default yet, so isDefaultNetwork returns false
+ assertThat(mergedCarrierEntry.isDefaultNetwork()).isFalse();
+
+ mDefaultNetworkCallbackCaptor.getValue().onCapabilitiesChanged(mMockNetwork,
+ new NetworkCapabilities.Builder()
+ .addTransportType(NetworkCapabilities.TRANSPORT_WIFI).build());
+
+ // Now Wifi is default, so isDefaultNetwork returns true
+ assertThat(mergedCarrierEntry.isDefaultNetwork()).isTrue();
+ }
}
diff --git a/libwifi_hal/Android.mk b/libwifi_hal/Android.mk
index 6d100b179..8df53b56e 100644
--- a/libwifi_hal/Android.mk
+++ b/libwifi_hal/Android.mk
@@ -59,6 +59,9 @@ endif
ifdef WIFI_DRIVER_STATE_OFF
wifi_hal_cflags += -DWIFI_DRIVER_STATE_OFF=\"$(WIFI_DRIVER_STATE_OFF)\"
endif
+ifeq ($(WIFI_MULTIPLE_VENDOR_HALS), true)
+wifi_hal_cflags += -DWIFI_MULTIPLE_VENDOR_HALS
+endif
# Common code shared between the HALs.
# ============================================================
@@ -89,28 +92,37 @@ include $(BUILD_STATIC_LIBRARY)
# Pick a vendor provided HAL implementation library.
# ============================================================
-LIB_WIFI_HAL := libwifi-hal-fallback
-VENDOR_LOCAL_SHARED_LIBRARIES :=
-ifeq ($(BOARD_WLAN_DEVICE), bcmdhd)
- LIB_WIFI_HAL := libwifi-hal-bcm
- VENDOR_LOCAL_SHARED_LIBRARIES := libcrypto
-else ifeq ($(BOARD_WLAN_DEVICE), qcwcn)
- LIB_WIFI_HAL := libwifi-hal-qcom
- VENDOR_LOCAL_SHARED_LIBRARIES := libcld80211
-else ifeq ($(BOARD_WLAN_DEVICE), mrvl)
- # this is commented because none of the nexus devices
- # that sport Marvell's wifi have support for HAL
- # LIB_WIFI_HAL := libwifi-hal-mrvl
-else ifeq ($(BOARD_WLAN_DEVICE), MediaTek)
- # support MTK WIFI HAL
- LIB_WIFI_HAL := libwifi-hal-mt66xx
-else ifeq ($(BOARD_WLAN_DEVICE), realtek)
- # support Realtek WIFI HAL
- LIB_WIFI_HAL := libwifi-hal-rtk
-else ifeq ($(BOARD_WLAN_DEVICE), emulator)
- LIB_WIFI_HAL := libwifi-hal-emu
-else ifeq ($(BOARD_WLAN_DEVICE), slsi)
- LIB_WIFI_HAL := libwifi-hal-slsi
+ifeq ($(WIFI_MULTIPLE_VENDOR_HALS), true)
+ # vendor HALs are loaded dynamically and not linked here
+ LIB_WIFI_HAL :=
+else
+ LIB_WIFI_HAL ?= libwifi-hal-fallback
+ VENDOR_LOCAL_SHARED_LIBRARIES :=
+ ifeq ($(BOARD_WLAN_DEVICE), bcmdhd)
+ LIB_WIFI_HAL := libwifi-hal-bcm
+ VENDOR_LOCAL_SHARED_LIBRARIES := libcrypto
+ifneq ($(wildcard vendor/google/libraries/GoogleWifiConfigLib),)
+ VENDOR_LOCAL_SHARED_LIBRARIES += \
+ google_wifi_firmware_config_version_c_wrapper
+endif
+ else ifeq ($(BOARD_WLAN_DEVICE), qcwcn)
+ LIB_WIFI_HAL := libwifi-hal-qcom
+ VENDOR_LOCAL_SHARED_LIBRARIES := libcld80211
+ else ifeq ($(BOARD_WLAN_DEVICE), mrvl)
+ # this is commented because none of the nexus devices
+ # that sport Marvell's wifi have support for HAL
+ # LIB_WIFI_HAL := libwifi-hal-mrvl
+ else ifeq ($(BOARD_WLAN_DEVICE), MediaTek)
+ # support MTK WIFI HAL
+ LIB_WIFI_HAL := libwifi-hal-mt66xx
+ else ifeq ($(BOARD_WLAN_DEVICE), realtek)
+ # support Realtek WIFI HAL
+ LIB_WIFI_HAL := libwifi-hal-rtk
+ else ifeq ($(BOARD_WLAN_DEVICE), emulator)
+ LIB_WIFI_HAL := libwifi-hal-emu
+ else ifeq ($(BOARD_WLAN_DEVICE), slsi)
+ LIB_WIFI_HAL := libwifi-hal-slsi
+ endif
endif
# The WiFi HAL that you should be linking.
diff --git a/libwifi_hal/hal_tool.cpp b/libwifi_hal/hal_tool.cpp
index aa319476d..49652554c 100644
--- a/libwifi_hal/hal_tool.cpp
+++ b/libwifi_hal/hal_tool.cpp
@@ -562,6 +562,7 @@ bool init_wifi_stub_hal_func_table(wifi_hal_fn* hal_fn) {
} // namespace
bool HalTool::InitFunctionTable(wifi_hal_fn* hal_fn) {
+#ifndef WIFI_MULTIPLE_VENDOR_HALS
if (!init_wifi_stub_hal_func_table(hal_fn)) {
LOG(ERROR) << "Can not initialize the basic function pointer table";
return false;
@@ -573,6 +574,11 @@ bool HalTool::InitFunctionTable(wifi_hal_fn* hal_fn) {
}
return true;
+#else
+ // vendor HAL library are dynamically loaded from the WIFI HAL.
+ LOG(ERROR) << "InitFunctionTable no longer supported.";
+ return false;
+#endif
}
bool HalTool::CanGetValidChannels(wifi_hal_fn* hal_fn) {
diff --git a/libwifi_hal/wifi_hal_common.cpp b/libwifi_hal/wifi_hal_common.cpp
index 0d8e0fbe0..5c956f2ff 100644
--- a/libwifi_hal/wifi_hal_common.cpp
+++ b/libwifi_hal/wifi_hal_common.cpp
@@ -19,6 +19,7 @@
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
+#include <time.h>
#include <android-base/logging.h>
#include <cutils/misc.h>
@@ -52,6 +53,10 @@ static const char DRIVER_MODULE_ARG[] = WIFI_DRIVER_MODULE_ARG;
static const char MODULE_FILE[] = "/proc/modules";
#endif
+#ifdef WIFI_DRIVER_STATE_CTRL_PARAM
+int kDriverStateAccessRetrySleepMillis = 200;
+#endif
+
static int insmod(const char *filename, const char *args) {
int ret;
int fd;
@@ -94,8 +99,22 @@ int wifi_change_driver_state(const char *state) {
int len;
int fd;
int ret = 0;
+ struct timespec req;
+ req.tv_sec = 0;
+ req.tv_nsec = kDriverStateAccessRetrySleepMillis * 1000000L;
+ int count = 5; /* wait at most 1 second for completion. */
if (!state) return -1;
+ do {
+ if (access(WIFI_DRIVER_STATE_CTRL_PARAM, W_OK) == 0)
+ break;
+ nanosleep(&req, (struct timespec *)NULL);
+ } while (--count > 0);
+ if (count == 0) {
+ PLOG(ERROR) << "Failed to access driver state control param "
+ << strerror(errno) << ", " << errno;
+ return -1;
+ }
fd = TEMP_FAILURE_RETRY(open(WIFI_DRIVER_STATE_CTRL_PARAM, O_WRONLY));
if (fd < 0) {
PLOG(ERROR) << "Failed to open driver state control param";
diff --git a/libwifi_system_iface/include/wifi_system/interface_tool.h b/libwifi_system_iface/include/wifi_system/interface_tool.h
index a22c5280e..f31e4e56c 100644
--- a/libwifi_system_iface/include/wifi_system/interface_tool.h
+++ b/libwifi_system_iface/include/wifi_system/interface_tool.h
@@ -50,6 +50,20 @@ class InterfaceTool {
// Get the factory MAC address of the |if_name| interface.
// Returns all-zero address on error.
virtual std::array<uint8_t, ETH_ALEN> GetFactoryMacAddress(const char* if_name);
+
+ // Create a bridge
+ virtual bool createBridge(const std::string& br_name);
+
+ // Delete a bridge
+ virtual bool deleteBridge(const std::string& br_name);
+
+ // Add interface to bridge
+ virtual bool addIfaceToBridge(const std::string& br_name,
+ const std::string& if_name);
+
+ // Remove interface from bridge
+ virtual bool removeIfaceFromBridge(const std::string& br_name,
+ const std::string& if_name);
}; // class InterfaceTool
} // namespace wifi_system
diff --git a/libwifi_system_iface/interface_tool.cpp b/libwifi_system_iface/interface_tool.cpp
index 17895d6ef..f7158cd64 100644
--- a/libwifi_system_iface/interface_tool.cpp
+++ b/libwifi_system_iface/interface_tool.cpp
@@ -16,10 +16,14 @@
#include "wifi_system/interface_tool.h"
+#include <net/if.h>
#include <net/if_arp.h>
#include <netinet/in.h>
#include <sys/socket.h>
+#include <linux/if_bridge.h>
+#include <string.h>
+
#include <linux/ethtool.h>
/* We need linux/if.h for flags like IFF_UP. Sadly, it forward declares
struct sockaddr and must be included after sys/socket.h. */
@@ -28,6 +32,8 @@
#include <android-base/logging.h>
#include <android-base/unique_fd.h>
+#define IFNAMSIZ 16
+
namespace android {
namespace wifi_system {
namespace {
@@ -169,5 +175,70 @@ std::array<uint8_t, ETH_ALEN> InterfaceTool::GetFactoryMacAddress(const char* if
return paddr;
}
+bool InterfaceTool::createBridge(const std::string& br_name) {
+ base::unique_fd sock(socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0));
+
+ if (TEMP_FAILURE_RETRY(ioctl(sock, SIOCBRADDBR, br_name.c_str())) != 0) {
+ LOG(ERROR) << "Could not add bridge " << br_name.c_str()
+ << " (" << strerror(errno) << ")";
+ return false;
+ }
+
+ return true;
+}
+
+bool InterfaceTool::deleteBridge(const std::string& br_name) {
+ base::unique_fd sock(socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0));
+
+ if (TEMP_FAILURE_RETRY(ioctl(sock, SIOCBRDELBR, br_name.c_str())) != 0) {
+ LOG(ERROR) << "Could not remove bridge " << br_name.c_str()
+ << " (" << strerror(errno) << ")";
+ return false;
+ }
+ return true;
+}
+
+bool InterfaceTool::addIfaceToBridge(const std::string& br_name, const std::string& if_name) {
+ struct ifreq ifr;
+ memset(&ifr, 0, sizeof(ifr));
+
+ ifr.ifr_ifindex = if_nametoindex(if_name.c_str());
+ if (ifr.ifr_ifindex == 0) {
+ LOG(ERROR) << "Interface is not exist: " << if_name.c_str();
+ return false;
+ }
+ strlcpy(ifr.ifr_name, br_name.c_str(), IFNAMSIZ);
+
+ base::unique_fd sock(socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0));
+ if (TEMP_FAILURE_RETRY(ioctl(sock, SIOCBRADDIF, &ifr)) != 0) {
+ LOG(ERROR) << "Could not add interface " << if_name.c_str()
+ << " into bridge " << ifr.ifr_name
+ << " (" << strerror(errno) << ")";
+ return false;
+ }
+ return true;
+}
+
+bool InterfaceTool::removeIfaceFromBridge(const std::string& br_name, const std::string& if_name) {
+ struct ifreq ifr;
+ memset(&ifr, 0, sizeof(ifr));
+
+ ifr.ifr_ifindex = if_nametoindex(if_name.c_str());
+ if (ifr.ifr_ifindex == 0) {
+ LOG(ERROR) << "Interface is not exist: " << if_name.c_str();
+ return false;
+ }
+ strlcpy(ifr.ifr_name, br_name.c_str(), IFNAMSIZ);
+
+ base::unique_fd sock(socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0));
+ if (TEMP_FAILURE_RETRY(ioctl(sock, SIOCBRDELIF, &ifr)) != 0) {
+ LOG(ERROR) << "Could not remove interface " << if_name.c_str()
+ << " from bridge " << ifr.ifr_name
+ << " (" << strerror(errno) << ")";
+ return false;
+ }
+
+ return true;
+}
} // namespace wifi_system
} // namespace android