Merge "Update tablet help article link (1/2)" into udc-dev am: a4f67e02c8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23695285
Change-Id: I67be253b5b2560bdbe9869376bfa394772fadf3f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 6689645..2c3e7f3 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -864,6 +864,7 @@
<activity
android:name="Settings$LongBackgroundTasksActivity"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true"
android:label="@string/long_background_tasks_label">
<intent-filter android:priority="1">
@@ -1545,6 +1546,7 @@
<activity
android:name="Settings$ManageApplicationsActivity"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true"
android:label="@string/applications_settings">
<intent-filter android:priority="1">
@@ -1607,6 +1609,7 @@
<activity
android:name="Settings$HighPowerApplicationsActivity"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true"
android:label="@string/high_power_apps">
<intent-filter android:priority="1">
@@ -1665,6 +1668,7 @@
This is for compatibility with old shortcuts. -->
<activity-alias android:name=".RunningServices"
android:label="@string/runningservices_settings_title"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true"
android:targetActivity="Settings$ManageApplicationsActivity">
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -1677,6 +1681,7 @@
This is for compatibility with old shortcuts. -->
<activity-alias android:name=".applications.StorageUse"
android:label="@string/storageuse_settings_title"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true"
android:targetActivity="Settings$ManageApplicationsActivity">
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
@@ -1743,6 +1748,7 @@
<!-- Provide direct entry into manage apps showing running services. -->
<activity android:name="Settings$RunningServicesActivity"
android:exported="true"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:label="@string/runningservices_settings_title">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -1761,6 +1767,7 @@
<!-- Provide direct entry into manage apps showing storage usage of apps. -->
<activity
android:name="Settings$StorageUseActivity"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true"
android:label="@string/storageuse_settings_title">
<intent-filter android:priority="1">
@@ -2105,6 +2112,7 @@
<activity
android:name="Settings$UsageAccessSettingsActivity"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true"
android:label="@string/usage_access_title">
<intent-filter android:priority="1">
@@ -3483,6 +3491,7 @@
<activity
android:name="Settings$TurnScreenOnSettingsActivity"
android:exported="true"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:label="@string/turn_screen_on_title">
<intent-filter android:priority="1">
<action android:name="android.settings.TURN_SCREEN_ON_SETTINGS" />
@@ -3662,6 +3671,7 @@
<activity android:name="Settings$NotificationAppListActivity"
android:label="@string/app_notifications_title"
android:icon="@drawable/ic_notifications"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true">
<intent-filter android:priority="1">
<action android:name="android.settings.ALL_APPS_NOTIFICATION_SETTINGS" />
@@ -3676,6 +3686,7 @@
<!-- Displays a list of apps available for cloning on the device -->
<activity android:name=".Settings$ClonedAppsListActivity"
android:label="@string/cloned_apps_dashboard_title"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true">
<intent-filter android:priority="1">
<action android:name="android.settings.MANAGE_CLONED_APPS_SETTINGS" />
@@ -3941,6 +3952,7 @@
<activity
android:name="Settings$OverlaySettingsActivity"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true"
android:label="@string/draw_overlay">
<intent-filter android:priority="1">
@@ -3978,6 +3990,7 @@
<activity
android:name="Settings$WriteSettingsActivity"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true"
android:label="@string/write_settings_title">
<intent-filter android:priority="1">
@@ -4011,6 +4024,7 @@
<activity
android:name="Settings$AlarmsAndRemindersActivity"
android:exported="true"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:label="@string/alarms_and_reminders_label">
<intent-filter android:priority="1">
<action android:name="android.settings.REQUEST_SCHEDULE_EXACT_ALARM" />
@@ -4041,6 +4055,7 @@
<activity
android:name="Settings$ManageExternalSourcesActivity"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true"
android:label="@string/install_other_apps">
<intent-filter android:priority="1">
@@ -4095,6 +4110,7 @@
<activity
android:name="Settings$ManageExternalStorageActivity"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true"
android:label="@string/manage_external_storage_title">
<intent-filter android:priority="1">
@@ -4126,6 +4142,7 @@
<activity
android:name="Settings$MediaManagementAppsActivity"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="true"
android:label="@string/media_management_apps_title">
<intent-filter android:priority="1">
@@ -4881,6 +4898,7 @@
<activity
android:name=".spa.SpaActivity"
android:configChanges="orientation|screenLayout|screenSize|smallestScreenSize"
+ android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
android:exported="false" />
<activity android:name=".spa.SpaBridgeActivity" android:exported="false"/>
<activity android:name=".spa.SpaAppBridgeActivity" android:exported="false"/>
diff --git a/res/layout/preference_external_action_icon.xml b/res/layout/preference_external_action_icon.xml
new file mode 100644
index 0000000..fcec430
--- /dev/null
+++ b/res/layout/preference_external_action_icon.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 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.
+-->
+
+<ImageView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:src="@drawable/ic_chevron_right_24dp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginHorizontal="8dp" />
\ No newline at end of file
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 1831b39..1dcfcce 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android-sekuriteitopdatering"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Hardewareweergawe"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Toerusting-ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Basisbandweergawe"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernweergawe"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 0e9d8f4..4e4468a 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"የAndroid ደህንነት ዝማኔ"</string>
<string name="model_info" msgid="8997566254717810904">"ሞዴል"</string>
<string name="hardware_revision" msgid="3454709180861965025">"የሃርድዌር ስሪት"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"የመሣሪያ መታወቂያ"</string>
<string name="baseband_version" msgid="2600182227599835857">"የቤዝባንድ ሥሪት"</string>
<string name="kernel_version" msgid="3513538109381366881">"የከርነል ሥሪት"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index aa0713f..4fad1be 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"تحديث أمان نظام Android"</string>
<string name="model_info" msgid="8997566254717810904">"الطراز"</string>
<string name="hardware_revision" msgid="3454709180861965025">"إصدار الجهاز"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"معرّف الجهاز"</string>
<string name="baseband_version" msgid="2600182227599835857">"إصدار النطاق الأساسي"</string>
<string name="kernel_version" msgid="3513538109381366881">"إصدار النواة"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 175daa2..acb3abc 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android সুৰক্ষা আপডে’ট"</string>
<string name="model_info" msgid="8997566254717810904">"মডেল"</string>
<string name="hardware_revision" msgid="3454709180861965025">"হাৰ্ডৱেৰৰ সংস্কৰণ"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"সঁজুলিৰ ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"বেইছবেণ্ডৰ সংস্কৰণ"</string>
<string name="kernel_version" msgid="3513538109381366881">"কাৰ্ণেলৰ সংস্কৰণ"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index b9b4237..3b9fc27 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android güvənlik güncəllənməsi"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Avadanlıq versiyası"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Avadanlıq ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Baseband versiyası"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel versiyası"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 0d33b0d..f64ce0f 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Bezbednosno ažuriranje za Android"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Verzija hardvera"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID opreme"</string>
<string name="baseband_version" msgid="2600182227599835857">"Verzija osnovnog propusnog opsega"</string>
<string name="kernel_version" msgid="3513538109381366881">"Verzija jezgra"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 0c04c46..39ad460 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Абнаўленне сістэмы бяспекі Android"</string>
<string name="model_info" msgid="8997566254717810904">"Мадэль"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Версія апаратнага забеспячэння"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Iдэнтыфiкатар абсталявання"</string>
<string name="baseband_version" msgid="2600182227599835857">"Версія модуля сувязі"</string>
<string name="kernel_version" msgid="3513538109381366881">"Версія ядра"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 4263efb..e0a8779 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Актуализация за сигурността на Android"</string>
<string name="model_info" msgid="8997566254717810904">"Модел"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Версия на хардуера"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Идент. № на оборудването"</string>
<string name="baseband_version" msgid="2600182227599835857">"Версия на базовия диапазон"</string>
<string name="kernel_version" msgid="3513538109381366881">"Версия на ядрото"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 32a06a5..926d70d 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android-এর নিরাপত্তা সংক্রান্ত আপডেট"</string>
<string name="model_info" msgid="8997566254717810904">"মডেল"</string>
<string name="hardware_revision" msgid="3454709180861965025">"হার্ডওয়্যার ভার্সন"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"টুল ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"বেসব্যান্ড ভার্সন"</string>
<string name="kernel_version" msgid="3513538109381366881">"কার্নেল ভার্সন"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 4058dbb..b87df9e 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Sigurnosno ažuriranje za Android"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Verzija hardvera"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID opreme"</string>
<string name="baseband_version" msgid="2600182227599835857">"Verzija nemoduliranog signala"</string>
<string name="kernel_version" msgid="3513538109381366881">"Osnovna verzija"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 0179b72..e0b6d4a 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Actualització de seguretat d\'Android"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Versió del maquinari"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Id. de l\'equip"</string>
<string name="baseband_version" msgid="2600182227599835857">"Versió de banda base"</string>
<string name="kernel_version" msgid="3513538109381366881">"Versió de kernel"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index f91d7ca..a7da6bd 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Aktualizace zabezpečení Androidu"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Verze hardwaru"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID zařízení"</string>
<string name="baseband_version" msgid="2600182227599835857">"Verze základního pásma"</string>
<string name="kernel_version" msgid="3513538109381366881">"Verze jádra"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 4ad1daeb..61950fd 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Sikkerhedsopdatering til Android"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Hardwareversion"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Udstyrs-id"</string>
<string name="baseband_version" msgid="2600182227599835857">"Basebandversion"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernesystem"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 734742a..596ccc9 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android-Sicherheitsupdate"</string>
<string name="model_info" msgid="8997566254717810904">"Modell"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Hardwareversion"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Geräte-ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Baseband-Version"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel-Version"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 089debc..d60cf13 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Ενημέρωση ασφαλείας Android"</string>
<string name="model_info" msgid="8997566254717810904">"Μοντέλο"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Έκδοση εξοπλισμού"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Αναγνωριστικό εξοπλισμού"</string>
<string name="baseband_version" msgid="2600182227599835857">"Έκδοση βασικού φάσματος"</string>
<string name="kernel_version" msgid="3513538109381366881">"Έκδοση Kernel"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 845c738..73cea4a 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android security update"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Hardware version"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Equipment ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Baseband version"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel version"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 4b2511f..e4a579c 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android security update"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Hardware version"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Equipment ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Baseband version"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel version"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 2c94084..15b2ee9 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android security update"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Hardware version"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Equipment ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Baseband version"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel version"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index faae611..4756fd7 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android security update"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Hardware version"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Equipment ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Baseband version"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel version"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 922834b..ced5804 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android security update"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Hardware version"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Equipment ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Baseband version"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel version"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 3fd3f41..ab633d9 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Actualización de seguridad de Android"</string>
<string name="model_info" msgid="8997566254717810904">"Modelo"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Versión de hardware"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID del equipo"</string>
<string name="baseband_version" msgid="2600182227599835857">"Versión de banda base"</string>
<string name="kernel_version" msgid="3513538109381366881">"Versión de kernel"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 31be1c4..458a510 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Actualización de seguridad de Android"</string>
<string name="model_info" msgid="8997566254717810904">"Modelo"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Versión de hardware"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID de equipo"</string>
<string name="baseband_version" msgid="2600182227599835857">"Versión de la banda base"</string>
<string name="kernel_version" msgid="3513538109381366881">"Versión del kernel"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index ccc7ba4..76a9883 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Androidi turvavärskendus"</string>
<string name="model_info" msgid="8997566254717810904">"Mudel"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Riistvara versioon"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Seadme ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Põhiribaversioon"</string>
<string name="kernel_version" msgid="3513538109381366881">"Tuuma versioon"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index b3a612b..ba39b65 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android-en segurtasun-eguneratzea"</string>
<string name="model_info" msgid="8997566254717810904">"Modeloa"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Hardware-bertsioa"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Ekipoaren IDa"</string>
<string name="baseband_version" msgid="2600182227599835857">"Oinarri-bandaren bertsioa"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel bertsioa"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index a2a0d22..1eaa6aa 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"بهروزرسانی امنیتی Android"</string>
<string name="model_info" msgid="8997566254717810904">"مدل"</string>
<string name="hardware_revision" msgid="3454709180861965025">"نسخه سختافزار"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"شناسه دستگاه"</string>
<string name="baseband_version" msgid="2600182227599835857">"نسخهٔ باند پایه"</string>
<string name="kernel_version" msgid="3513538109381366881">"نسخهٔ اصلی"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index a7fbde4..ebe0f3f 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Androidin tietoturvapäivitys"</string>
<string name="model_info" msgid="8997566254717810904">"Malli"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Laitteistoversio"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Varustetunnus"</string>
<string name="baseband_version" msgid="2600182227599835857">"Baseband-versio"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel-versio"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 4b75896..c4c0b36 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Mise à jour de sécurité Android"</string>
<string name="model_info" msgid="8997566254717810904">"Modèle"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Version du matériel"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Equipment ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Version de bande de base"</string>
<string name="kernel_version" msgid="3513538109381366881">"Version du noyau"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 71ad0a0..b5a9a20 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Mise à jour de sécurité Android"</string>
<string name="model_info" msgid="8997566254717810904">"Modèle"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Version du matériel"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID de l\'équipement"</string>
<string name="baseband_version" msgid="2600182227599835857">"Version de bande de base"</string>
<string name="kernel_version" msgid="3513538109381366881">"Version de noyau"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 4085e0f..0acb29c 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Actualización de seguranza de Android"</string>
<string name="model_info" msgid="8997566254717810904">"Modelo"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Versión do hardware"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID de equipamento"</string>
<string name="baseband_version" msgid="2600182227599835857">"Versión de banda base"</string>
<string name="kernel_version" msgid="3513538109381366881">"Versión de kernel"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index a966ef0..4d5b6f7 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android માટે સુરક્ષા અપડેટ"</string>
<string name="model_info" msgid="8997566254717810904">"મૉડલ"</string>
<string name="hardware_revision" msgid="3454709180861965025">"હાર્ડવેર વર્ઝન"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"સાધન ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"બેઝબૅન્ડ વર્ઝન"</string>
<string name="kernel_version" msgid="3513538109381366881">"કર્નલ વર્ઝન"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 529d95b..264145d 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android की सुरक्षा से जुड़ा अपडेट"</string>
<string name="model_info" msgid="8997566254717810904">"मॉडल"</string>
<string name="hardware_revision" msgid="3454709180861965025">"हार्डवेयर वर्शन"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"डिवाइस आईडी"</string>
<string name="baseband_version" msgid="2600182227599835857">"मोबाइल रेडियो (बेसबैंड वर्शन)"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel वर्शन"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index a268c92..c674cfa 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Sigurnosno ažuriranje za Android"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Verzija hardvera"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID opreme"</string>
<string name="baseband_version" msgid="2600182227599835857">"Osnovna verzija"</string>
<string name="kernel_version" msgid="3513538109381366881">"Verzija jezgre"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 4c6011f..82cfa1a 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android biztonsági frissítés"</string>
<string name="model_info" msgid="8997566254717810904">"Modell"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Hardververzió"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Eszközazonosító"</string>
<string name="baseband_version" msgid="2600182227599835857">"Alapsáv verziója"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel verziója"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index c775ab1..21777a7 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android-ի անվտանգության համակարգի թարմացում"</string>
<string name="model_info" msgid="8997566254717810904">"Մոդելը"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Սարքակազմի տարբերակը"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Սարքավորման ID-ն"</string>
<string name="baseband_version" msgid="2600182227599835857">"Baseband-ի տարբերակը"</string>
<string name="kernel_version" msgid="3513538109381366881">"Միջուկի տարբերակը"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index ae10a36..aa251d4 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Update keamanan Android"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Versi hardware"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID Peralatan"</string>
<string name="baseband_version" msgid="2600182227599835857">"Versi pita basis"</string>
<string name="kernel_version" msgid="3513538109381366881">"Versi kernel"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 416747f..c26c96b 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Öryggisuppfærsla fyrir Android"</string>
<string name="model_info" msgid="8997566254717810904">"Gerð"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Vélbúnaðarútgáfa"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Auðkenni búnaðar"</string>
<string name="baseband_version" msgid="2600182227599835857">"Grunnbandsútgáfa"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kjarnaútgáfa"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 594afba..8b0e834 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Aggiornamento della sicurezza Android"</string>
<string name="model_info" msgid="8997566254717810904">"Modello"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Versione hardware"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID attrezzatura"</string>
<string name="baseband_version" msgid="2600182227599835857">"Versione banda di base"</string>
<string name="kernel_version" msgid="3513538109381366881">"Versione kernel"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index b59de03..f4d8160 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"עדכון אבטחה ל-Android"</string>
<string name="model_info" msgid="8997566254717810904">"דגם"</string>
<string name="hardware_revision" msgid="3454709180861965025">"גרסת חומרה"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"זיהוי ציוד"</string>
<string name="baseband_version" msgid="2600182227599835857">"גרסת פס בסיס"</string>
<string name="kernel_version" msgid="3513538109381366881">"גרסת ליבה"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index ae1869b..e0fd81f 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android セキュリティ アップデート"</string>
<string name="model_info" msgid="8997566254717810904">"モデル"</string>
<string name="hardware_revision" msgid="3454709180861965025">"ハードウェア バージョン"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"装置ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"ベースバンド バージョン"</string>
<string name="kernel_version" msgid="3513538109381366881">"カーネル バージョン"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 77d2016..f6e73f0 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android-ის უსაფრთხოების განახლება"</string>
<string name="model_info" msgid="8997566254717810904">"მოდელი"</string>
<string name="hardware_revision" msgid="3454709180861965025">"აპარატურის ვერსია"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"მოწყობილობის ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Baseband-ის ვერსია"</string>
<string name="kernel_version" msgid="3513538109381366881">"kernel-ის ვერსია"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 88e0a6f..a3e04fc 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android қауіпсіздік жүйесін жаңарту"</string>
<string name="model_info" msgid="8997566254717810904">"Моделі"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Жабдық нұсқасы"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Жабдық ЖА"</string>
<string name="baseband_version" msgid="2600182227599835857">"Радиомодуль нұсқасы"</string>
<string name="kernel_version" msgid="3513538109381366881">"Ядро нұсқасы"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 0a6e825..eb53c39 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"កំណែសុវត្ថិភាពថ្មីរបស់ Android"</string>
<string name="model_info" msgid="8997566254717810904">"ម៉ូដែល"</string>
<string name="hardware_revision" msgid="3454709180861965025">"កំណែហាតវែរ"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"លេខសម្គាល់បរិក្ខារ"</string>
<string name="baseband_version" msgid="2600182227599835857">"កំណែមូលដ្ឋាន"</string>
<string name="kernel_version" msgid="3513538109381366881">"កំណែខឺណែល"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index e258878..9687e55 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android ಭದ್ರತೆ ಅಪ್ಡೇಟ್"</string>
<string name="model_info" msgid="8997566254717810904">"ಮಾಡೆಲ್"</string>
<string name="hardware_revision" msgid="3454709180861965025">"ಹಾರ್ಡ್ವೇರ್ ಆವೃತ್ತಿ"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ಸಲಕರಣೆ ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"ಬೇಸ್ಬ್ಯಾಂಡ್ ಆವೃತ್ತಿ"</string>
<string name="kernel_version" msgid="3513538109381366881">"ಕೆರ್ನಲ್ ಆವೃತ್ತಿ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 059ddb6..f973cea 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android 보안 업데이트"</string>
<string name="model_info" msgid="8997566254717810904">"모델"</string>
<string name="hardware_revision" msgid="3454709180861965025">"하드웨어 버전"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"장비 ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"베이스밴드 버전"</string>
<string name="kernel_version" msgid="3513538109381366881">"커널 버전"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index efbbb58..636015e 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android\'дин коопсуздук системасын жаңыртуу"</string>
<string name="model_info" msgid="8997566254717810904">"Үлгүсү"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Аппараттын версиясы"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Жабдуунун ID\'си"</string>
<string name="baseband_version" msgid="2600182227599835857">"Радиомодуль версиясы"</string>
<string name="kernel_version" msgid="3513538109381366881">"Өзөктүн версиясы"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 88155c3..b550079 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"ອັບເດດຄວາມປອດໄພ Android"</string>
<string name="model_info" msgid="8997566254717810904">"ໂມເດວ"</string>
<string name="hardware_revision" msgid="3454709180861965025">"ເວີຊັນຂອງຮາດແວ"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ໝາຍເລກອຸປະກອນ"</string>
<string name="baseband_version" msgid="2600182227599835857">"ເວີຊັນເບສແບນ"</string>
<string name="kernel_version" msgid="3513538109381366881">"ເວີຊັນຂອງເຄີນເນວ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 44906a1..6b0d6fd 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"„Android“ saugos naujinys"</string>
<string name="model_info" msgid="8997566254717810904">"Modelis"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Aparatinės įrangos versija"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Įrangos ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Nemoduliuojamo perdavimo versija"</string>
<string name="kernel_version" msgid="3513538109381366881">"„Kernel“ versija"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index f2c15e8..d26f8a8 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android drošības atjauninājums"</string>
<string name="model_info" msgid="8997566254717810904">"Modelis"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Aparatūras versija"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Iekārtas ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Pamatjoslas versija"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel versija"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index ca5549a..0a5126c 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Безбедносно ажурирање на Android"</string>
<string name="model_info" msgid="8997566254717810904">"Модел"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Верзија на хардвер"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID на опрема"</string>
<string name="baseband_version" msgid="2600182227599835857">"Верзија на немодулиран опсег"</string>
<string name="kernel_version" msgid="3513538109381366881">"Верзија на кернел"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index d6e3f86..18f07df 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android സുരക്ഷാ അപ്ഡേറ്റ്"</string>
<string name="model_info" msgid="8997566254717810904">"മോഡല്"</string>
<string name="hardware_revision" msgid="3454709180861965025">"ഹാർഡ്വെയർ പതിപ്പ്"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ഉപകരണ ഐഡി"</string>
<string name="baseband_version" msgid="2600182227599835857">"ബെയിസ്ബാൻഡ് പതിപ്പ്"</string>
<string name="kernel_version" msgid="3513538109381366881">"പ്രധാന പതിപ്പ്"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 84905a0..87fbaa9 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android-н аюулгүй байдлын шинэчлэлт"</string>
<string name="model_info" msgid="8997566254717810904">"Загвар"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Техник хангамжийн хувилбар"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Төхөөрөмжийн ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Долгион баригчийн хувилбар"</string>
<string name="kernel_version" msgid="3513538109381366881">"Кернел хувилбар"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index bd1510e..aa0ebf6 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android सुरक्षा अपडेट"</string>
<string name="model_info" msgid="8997566254717810904">"मॉडेल"</string>
<string name="hardware_revision" msgid="3454709180861965025">"हार्डवेअर आवृत्ती"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"उपकरण आयडी"</string>
<string name="baseband_version" msgid="2600182227599835857">"बेसबँड आवृत्ती"</string>
<string name="kernel_version" msgid="3513538109381366881">"कर्नेल आवृत्ती"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 7949d9b..54fa403 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Kemaskinian keselamatan Android"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Versi perkakasan"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID Peralatan"</string>
<string name="baseband_version" msgid="2600182227599835857">"Versi jalur asas"</string>
<string name="kernel_version" msgid="3513538109381366881">"Versi inti"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 848f58f..06c95a4 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android လုံခြုံရေးအပ်ဒိတ်"</string>
<string name="model_info" msgid="8997566254717810904">"မော်ဒယ်"</string>
<string name="hardware_revision" msgid="3454709180861965025">"စက်ပစ္စည်းဗားရှင်း"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"စက်ပစ္စည်း အမှတ်"</string>
<string name="baseband_version" msgid="2600182227599835857">"Baseband ဗားရှင်း"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel ဗားရှင်း"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 21d6d7d..3e3e242 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Sikkerhetsoppdatering for Android"</string>
<string name="model_info" msgid="8997566254717810904">"Modell"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Maskinvareversjon"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Utstyrs-ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Basisbåndversjon"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kjerneversjon"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 07c8b38..08ec5ce 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android को सुरक्षासम्बन्धी अपडेट"</string>
<string name="model_info" msgid="8997566254717810904">"मोडेल"</string>
<string name="hardware_revision" msgid="3454709180861965025">"हार्डवेयरको संस्करण"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"उपकरण ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"बेसब्यान्डको संस्करण"</string>
<string name="kernel_version" msgid="3513538109381366881">"कर्नेलको संस्करण"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index f1180ac..8327fc5 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android-beveiligingsupdate"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Hardwareversie"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Apparatuur-ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Smalbandversie"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel-versie"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index d70583b..c1bfd50 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android ସୁରକ୍ଷା ଅପଡେଟ୍"</string>
<string name="model_info" msgid="8997566254717810904">"ମଡେଲ"</string>
<string name="hardware_revision" msgid="3454709180861965025">"ହାର୍ଡୱେର ସଂସ୍କରଣ"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ଉପକରଣ ଆଇଡି"</string>
<string name="baseband_version" msgid="2600182227599835857">"ବେସ୍ବ୍ୟାଣ୍ଡ ଭର୍ସନ୍"</string>
<string name="kernel_version" msgid="3513538109381366881">"କର୍ଣ୍ଣେଲ ସଂସ୍କରଣ"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 29c3e27..d1672c5 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android ਸੁਰੱਖਿਆ ਅੱਪਡੇਟ"</string>
<string name="model_info" msgid="8997566254717810904">"ਮਾਡਲ"</string>
<string name="hardware_revision" msgid="3454709180861965025">"ਹਾਰਡਵੇਅਰ ਵਰਜਨ"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ਉਪਕਰਨ ਆਈ.ਡੀ."</string>
<string name="baseband_version" msgid="2600182227599835857">"ਬੇਸਬੈਂਡ ਵਰਜਨ"</string>
<string name="kernel_version" msgid="3513538109381366881">"ਕਰਨਲ ਵਰਜਨ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 45c10a5..27c7220 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Aktualizacja zabezpieczeń Androida"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Wersja sprzętu"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Identyfikator sprzętu"</string>
<string name="baseband_version" msgid="2600182227599835857">"Wersja pasma podstawowego"</string>
<string name="kernel_version" msgid="3513538109381366881">"Wersja jądra"</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 519cc96..8ff8103 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Atualização de segurança do Android"</string>
<string name="model_info" msgid="8997566254717810904">"Modelo"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Versão do hardware"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID do equipamento"</string>
<string name="baseband_version" msgid="2600182227599835857">"Versão da banda de base"</string>
<string name="kernel_version" msgid="3513538109381366881">"Versão do kernel"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index c2b9405..cea607b 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Atualização de segurança do Android"</string>
<string name="model_info" msgid="8997566254717810904">"Modelo"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Versão do hardware"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID do Equipamento"</string>
<string name="baseband_version" msgid="2600182227599835857">"Versão de banda base"</string>
<string name="kernel_version" msgid="3513538109381366881">"Versão do kernel"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 519cc96..8ff8103 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Atualização de segurança do Android"</string>
<string name="model_info" msgid="8997566254717810904">"Modelo"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Versão do hardware"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID do equipamento"</string>
<string name="baseband_version" msgid="2600182227599835857">"Versão da banda de base"</string>
<string name="kernel_version" msgid="3513538109381366881">"Versão do kernel"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 31ff916..9a7903a 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Actualizare de securitate Android"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Versiune de hardware"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID echipament"</string>
<string name="baseband_version" msgid="2600182227599835857">"Versiunea benzii de bază"</string>
<string name="kernel_version" msgid="3513538109381366881">"Versiune nucleu"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 5d913a2..7ef6ed0 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Обновление системы безопасности Android"</string>
<string name="model_info" msgid="8997566254717810904">"Модель"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Версия аппаратного обеспечения"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Идентификатор оборудования"</string>
<string name="baseband_version" msgid="2600182227599835857">"Прошивка модуля связи"</string>
<string name="kernel_version" msgid="3513538109381366881">"Версия ядра"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 5c0f747..2625a6b 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android ආරක්ෂක යාවත්කාලීනය"</string>
<string name="model_info" msgid="8997566254717810904">"මාදිලිය"</string>
<string name="hardware_revision" msgid="3454709180861965025">"දෘඨාංග අනුවාදය"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"උපකරණ ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"පාදම් කලාප අනුවාදය"</string>
<string name="kernel_version" msgid="3513538109381366881">"කර්නලයේ අනුවාදය"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 965bb5f..a981723 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Aktualizácia zabezpečenia Androidu"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Hardvérová verzia"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID zariadenia"</string>
<string name="baseband_version" msgid="2600182227599835857">"Verzia základného pásma"</string>
<string name="kernel_version" msgid="3513538109381366881">"Verzia jadra"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index e90d105..46b7b79 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Varnostna posodobitev za Android"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Različica strojne opreme"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID opreme"</string>
<string name="baseband_version" msgid="2600182227599835857">"Različica radijske programske opreme"</string>
<string name="kernel_version" msgid="3513538109381366881">"Različica jedra"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index ab16afe..5a97667 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Përditësim sigurie për Android"</string>
<string name="model_info" msgid="8997566254717810904">"Modeli"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Versioni i harduerit"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID-ja e pajsjes"</string>
<string name="baseband_version" msgid="2600182227599835857">"Versioni i brezit të bazës"</string>
<string name="kernel_version" msgid="3513538109381366881">"Versioni i bërthamës"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 6f386df..b1689e5 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Безбедносно ажурирање за Android"</string>
<string name="model_info" msgid="8997566254717810904">"Модел"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Верзија хардвера"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ИД опреме"</string>
<string name="baseband_version" msgid="2600182227599835857">"Верзија основног пропусног опсега"</string>
<string name="kernel_version" msgid="3513538109381366881">"Верзија језгра"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 79ae03e..63ddaf3 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Säkerhetsuppdatering för Android"</string>
<string name="model_info" msgid="8997566254717810904">"Modell"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Maskinvaruversion"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Utrustnings-ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"Basbandsversion"</string>
<string name="kernel_version" msgid="3513538109381366881">"Kernel-version"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 3322c27..970cada 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Sasisho la usalama la Android"</string>
<string name="model_info" msgid="8997566254717810904">"Muundo"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Toleo la maunzi"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Kitambulisho cha Kifaa"</string>
<string name="baseband_version" msgid="2600182227599835857">"Toleo la Baseband"</string>
<string name="kernel_version" msgid="3513538109381366881">"Toleo la kiini"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index deeaea6..a414bc1 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android பாதுகாப்புப் புதுப்பிப்பு"</string>
<string name="model_info" msgid="8997566254717810904">"மாடல்"</string>
<string name="hardware_revision" msgid="3454709180861965025">"வன்பொருள் பதிப்பு"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"உபகரணத்தின் ஐடி"</string>
<string name="baseband_version" msgid="2600182227599835857">"பேஸ்பேண்ட் பதிப்பு"</string>
<string name="kernel_version" msgid="3513538109381366881">"கர்னல் பதிப்பு"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index df45294..9f44ebe 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android సెక్యూరిటీ అప్డేట్"</string>
<string name="model_info" msgid="8997566254717810904">"మోడల్"</string>
<string name="hardware_revision" msgid="3454709180861965025">"హార్డ్వేర్ వెర్షన్"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ఉపకరణం ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"బేస్బ్యాండ్ వెర్షన్"</string>
<string name="kernel_version" msgid="3513538109381366881">"కెర్నల్ వెర్షన్"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index e451dc1..6022cf6 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"การอัปเดตความปลอดภัยของ Android"</string>
<string name="model_info" msgid="8997566254717810904">"รุ่น"</string>
<string name="hardware_revision" msgid="3454709180861965025">"เวอร์ชันฮาร์ดแวร์"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"รหัสอุปกรณ์"</string>
<string name="baseband_version" msgid="2600182227599835857">"เวอร์ชันเบสแบนด์"</string>
<string name="kernel_version" msgid="3513538109381366881">"เวอร์ชันเคอร์เนล"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index d39f19b..4d88ad3 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Update sa seguridad ng Android"</string>
<string name="model_info" msgid="8997566254717810904">"Modelo"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Bersyon ng hardware"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID ng Kagamitan"</string>
<string name="baseband_version" msgid="2600182227599835857">"Bersyon ng baseband"</string>
<string name="kernel_version" msgid="3513538109381366881">"Bersyon ng kernel"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index af3fa4e..e345135 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android güvenlik güncellemesi"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Donanım sürümü"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Cihaz Kimliği"</string>
<string name="baseband_version" msgid="2600182227599835857">"Ana bant sürümü"</string>
<string name="kernel_version" msgid="3513538109381366881">"Çekirdek sürümü"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index cb408c5..09fe83b 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Оновлення системи безпеки Android"</string>
<string name="model_info" msgid="8997566254717810904">"Модель"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Версія апаратного забезпечення"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Ідентифікатор обладнання"</string>
<string name="baseband_version" msgid="2600182227599835857">"Версія модуля зв’язку"</string>
<string name="kernel_version" msgid="3513538109381366881">"Версія ядра"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 9134e7f..3d1c576 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android سیکیورٹی اپ ڈیٹ"</string>
<string name="model_info" msgid="8997566254717810904">"ماڈل"</string>
<string name="hardware_revision" msgid="3454709180861965025">"ہارڈ ویئر کا ورژن"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"آلہ ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"بیس بینڈ ورژن"</string>
<string name="kernel_version" msgid="3513538109381366881">"کرنل ورژن"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index ead3ac6..b614299 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android xavfsizlik yangilanishi"</string>
<string name="model_info" msgid="8997566254717810904">"Model"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Apparat versiyasi"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"Jihozning nomi"</string>
<string name="baseband_version" msgid="2600182227599835857">"Aloqa moduli versiyasi"</string>
<string name="kernel_version" msgid="3513538109381366881">"Yadro versiyasi"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 58bc629..f24c2bd 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Bản cập nhật bảo mật Android"</string>
<string name="model_info" msgid="8997566254717810904">"Kiểu máy"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Phiên bản phần cứng"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"ID thiết bị"</string>
<string name="baseband_version" msgid="2600182227599835857">"Phiên bản dải tần cơ sở"</string>
<string name="kernel_version" msgid="3513538109381366881">"Phiên bản Kernel"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 4300e5e..f1568c9 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android 安全更新"</string>
<string name="model_info" msgid="8997566254717810904">"型号"</string>
<string name="hardware_revision" msgid="3454709180861965025">"硬件版本"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"设备 ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"基带版本"</string>
<string name="kernel_version" msgid="3513538109381366881">"内核版本"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index b520c61..c9b366a 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android 安全性更新"</string>
<string name="model_info" msgid="8997566254717810904">"型號"</string>
<string name="hardware_revision" msgid="3454709180861965025">"硬件版本"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"設備編號"</string>
<string name="baseband_version" msgid="2600182227599835857">"基帶版本"</string>
<string name="kernel_version" msgid="3513538109381366881">"核心版本"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index cf00655..8060f06 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Android 安全性更新"</string>
<string name="model_info" msgid="8997566254717810904">"型號"</string>
<string name="hardware_revision" msgid="3454709180861965025">"硬體版本"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"設備 ID"</string>
<string name="baseband_version" msgid="2600182227599835857">"基頻版本"</string>
<string name="kernel_version" msgid="3513538109381366881">"核心版本"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index c18bc52..e17fb28 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -1117,8 +1117,6 @@
<string name="security_patch" msgid="4071756145347865382">"Isibuyekezo sokuvikela kwe-Android"</string>
<string name="model_info" msgid="8997566254717810904">"Imodeli"</string>
<string name="hardware_revision" msgid="3454709180861965025">"Inguqulo yezingxenyekazi zekhompuyutha"</string>
- <!-- no translation found for manufactured_year (3401517138700926475) -->
- <skip />
<string name="fcc_equipment_id" msgid="6596668314025646129">"I-ID yempahla"</string>
<string name="baseband_version" msgid="2600182227599835857">"Inguqulo ye-Baseband"</string>
<string name="kernel_version" msgid="3513538109381366881">"Inguqulo ye-Kernel"</string>
diff --git a/res/values/config.xml b/res/values/config.xml
index 334d4e5..0c5c7a0 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -364,7 +364,7 @@
<bool name="config_show_wifi_hotspot_settings">true</bool>
<!-- Whether Wi-Fi hotspot speed should be shown or not. -->
- <bool name="config_show_wifi_hotspot_speed">false</bool>
+ <bool name="config_show_wifi_hotspot_speed">true</bool>
<!-- Whether toggle_airplane is available or not. -->
<bool name="config_show_toggle_airplane">true</bool>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ddbd5f2..cb33e7f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -744,6 +744,10 @@
<string name="security_settings_face_settings_remove_dialog_details">Your face model will be permanently and securely deleted.\n\nAfter deletion, you will need your PIN, pattern, or password to unlock your phone or for authentication in apps.</string>
<!-- Dialog contents shown when the user removes an enrollment when configured as a convenience [CHAR LIMIT=NONE] -->
<string name="security_settings_face_settings_remove_dialog_details_convenience">Your face model will be permanently and securely deleted.\n\nAfter deletion, you will need your PIN, pattern, or password to unlock your phone.</string>
+ <!-- Dialog contents shown when the user removes an enrollment [CHAR LIMIT=NONE] -->
+ <string name="security_settings_face_remove_dialog_details_fingerprint">Your face model will be permanently and securely deleted.\n\nAfter deletion, you will need your fingerprint, PIN, pattern, or password to unlock your phone or for authentication in apps.</string>
+ <!-- Dialog contents shown when the user removes an enrollment when configured as a convenience [CHAR LIMIT=NONE] -->
+ <string name="security_settings_face_remove_dialog_details_fingerprint_conv">Your face model will be permanently and securely deleted.\n\nAfter deletion, you will need your fingerprint, PIN, pattern, or password to unlock your phone.</string>
<!-- Subtitle shown for contextual setting face enrollment [CHAR LIMIT=NONE] -->
<string name="security_settings_face_settings_context_subtitle">Use Face Unlock to unlock your phone</string>
diff --git a/src/com/android/settings/biometrics/face/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java
index 979faa2..54775f8 100644
--- a/src/com/android/settings/biometrics/face/FaceSettings.java
+++ b/src/com/android/settings/biometrics/face/FaceSettings.java
@@ -208,6 +208,10 @@
mRemoveButton = findPreference(FaceSettingsRemoveButtonPreferenceController.KEY);
mEnrollButton = findPreference(FaceSettingsEnrollButtonPreferenceController.KEY);
+ final boolean hasEnrolled = mFaceManager.hasEnrolledTemplates(mUserId);
+ mEnrollButton.setVisible(!hasEnrolled);
+ mRemoveButton.setVisible(hasEnrolled);
+
// There is no better way to do this :/
for (AbstractPreferenceController controller : mControllers) {
if (controller instanceof FaceSettingsPreferenceController) {
@@ -233,8 +237,6 @@
public void onStart() {
super.onStart();
final boolean hasEnrolled = mFaceManager.hasEnrolledTemplates(mUserId);
- mEnrollButton.setVisible(!hasEnrolled);
- mRemoveButton.setVisible(hasEnrolled);
// When the user has face id registered but failed enrolling in device lock state,
// lead users directly to the confirm deletion dialog in Face Unlock settings.
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java
index 7db5958..1e74ad7 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java
@@ -21,6 +21,7 @@
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.DialogInterface;
+import android.content.pm.PackageManager;
import android.hardware.face.Face;
import android.hardware.face.FaceManager;
import android.os.Bundle;
@@ -69,10 +70,22 @@
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ final PackageManager pm = getContext().getPackageManager();
+ final boolean hasFingerprint = pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT);
+ final int dialogMessageRes;
+
+ if (hasFingerprint) {
+ dialogMessageRes = mIsConvenience
+ ? R.string.security_settings_face_remove_dialog_details_fingerprint_conv
+ : R.string.security_settings_face_remove_dialog_details_fingerprint;
+ } else {
+ dialogMessageRes = mIsConvenience
+ ? R.string.security_settings_face_settings_remove_dialog_details_convenience
+ : R.string.security_settings_face_settings_remove_dialog_details;
+ }
+
builder.setTitle(R.string.security_settings_face_settings_remove_dialog_title)
- .setMessage(mIsConvenience
- ? R.string.security_settings_face_settings_remove_dialog_details_convenience
- : R.string.security_settings_face_settings_remove_dialog_details)
+ .setMessage(dialogMessageRes)
.setPositiveButton(R.string.delete, mOnClickListener)
.setNegativeButton(R.string.cancel, mOnClickListener);
AlertDialog dialog = builder.create();
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index 7e76405..f653942 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -265,6 +265,12 @@
updateUdfpsEnrollView(udfpsEnrollView, props.get(0));
switch (rotation) {
case Surface.ROTATION_90:
+ final View sudContent = layout.findViewById(R.id.sud_layout_content);
+ if (sudContent != null) {
+ sudContent.setPadding(sudContent.getPaddingLeft(), 0,
+ sudContent.getPaddingRight(), sudContent.getPaddingBottom());
+ }
+
final LinearLayout layoutContainer = layout.findViewById(
R.id.layout_container);
final LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index be090e3..fb3319c 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -623,9 +623,9 @@
return; // Activity went away
}
- final Preference addPreference = findPreference(KEY_FINGERPRINT_ADD);
+ mAddFingerprintPreference = findPreference(KEY_FINGERPRINT_ADD);
- if (addPreference == null) {
+ if (mAddFingerprintPreference == null) {
return; // b/275519315 Skip if updateAddPreference() invoke before addPreference()
}
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
index 724947c..701967b 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
@@ -96,12 +96,6 @@
protected void init(PreferenceScreen screen) {
mProfilesContainer = (PreferenceCategory)screen.findPreference(getPreferenceKey());
mProfilesContainer.setLayoutResource(R.layout.preference_bluetooth_profile_category);
- mIsLeContactSharingEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
- SettingsUIDeviceConfig.BT_LE_AUDIO_CONTACT_SHARING_ENABLED, true);
- mIsLeAudioToggleEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
- SettingsUIDeviceConfig.BT_LE_AUDIO_DEVICE_DETAIL_ENABLED, false)
- || DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_BLUETOOTH,
- CONFIG_LE_AUDIO_ENABLED_BY_DEFAULT, false);
// Call refresh here even though it will get called later in onResume, to avoid the
// list of switches appearing to "pop" into the page.
refresh();
@@ -151,8 +145,8 @@
profilePref.setEnabled(!mCachedDevice.isBusy());
}
- if (profile instanceof LeAudioProfile && !mIsLeAudioToggleEnabled) {
- profilePref.setVisible(false);
+ if (profile instanceof LeAudioProfile) {
+ profilePref.setVisible(mIsLeAudioToggleEnabled);
}
if (profile instanceof MapProfile) {
@@ -437,6 +431,7 @@
@Override
public void onResume() {
+ updateLeAudioConfig();
for (CachedBluetoothDevice item : mAllOfCachedDevices) {
item.registerCallback(this);
}
@@ -444,6 +439,20 @@
refresh();
}
+ private void updateLeAudioConfig() {
+ mIsLeContactSharingEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
+ SettingsUIDeviceConfig.BT_LE_AUDIO_CONTACT_SHARING_ENABLED, true);
+ boolean isLeDeviceDetailEnabled = DeviceConfig.getBoolean(
+ DeviceConfig.NAMESPACE_SETTINGS_UI,
+ SettingsUIDeviceConfig.BT_LE_AUDIO_DEVICE_DETAIL_ENABLED, true);
+ boolean isLeEnabledByDefault = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_BLUETOOTH,
+ CONFIG_LE_AUDIO_ENABLED_BY_DEFAULT, false);
+ mIsLeAudioToggleEnabled = isLeDeviceDetailEnabled || isLeEnabledByDefault;
+ Log.d(TAG, "BT_LE_AUDIO_CONTACT_SHARING_ENABLED:" + mIsLeContactSharingEnabled
+ + ", BT_LE_AUDIO_DEVICE_DETAIL_ENABLED:" + isLeDeviceDetailEnabled
+ + ", CONFIG_LE_AUDIO_ENABLED_BY_DEFAULT:" + isLeEnabledByDefault);
+ }
+
@Override
public void onDeviceAttributesChanged() {
for (CachedBluetoothDevice item : mAllOfCachedDevices) {
diff --git a/src/com/android/settings/bluetooth/ForgetDeviceDialogFragment.java b/src/com/android/settings/bluetooth/ForgetDeviceDialogFragment.java
index 1da8672..60d63c6 100644
--- a/src/com/android/settings/bluetooth/ForgetDeviceDialogFragment.java
+++ b/src/com/android/settings/bluetooth/ForgetDeviceDialogFragment.java
@@ -23,6 +23,7 @@
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
+import android.util.Log;
import androidx.annotation.VisibleForTesting;
import androidx.appcompat.app.AlertDialog;
@@ -63,6 +64,13 @@
@Override
public Dialog onCreateDialog(Bundle inState) {
+ Context context = getContext();
+ mDevice = getDevice(context);
+ if (mDevice == null) {
+ Log.e(TAG, "onCreateDialog: Device is null.");
+ return null;
+ }
+
DialogInterface.OnClickListener onConfirm = (dialog, which) -> {
mDevice.unpair();
Activity activity = getActivity();
@@ -70,9 +78,6 @@
activity.finish();
}
};
- Context context = getContext();
- mDevice = getDevice(context);
-
AlertDialog dialog = new AlertDialog.Builder(context)
.setPositiveButton(R.string.bluetooth_unpair_dialog_forget_confirm_button,
onConfirm)
diff --git a/src/com/android/settings/bluetooth/QrCodeScanModeActivity.java b/src/com/android/settings/bluetooth/QrCodeScanModeActivity.java
index 92786c9..a0b249d 100644
--- a/src/com/android/settings/bluetooth/QrCodeScanModeActivity.java
+++ b/src/com/android/settings/bluetooth/QrCodeScanModeActivity.java
@@ -98,7 +98,7 @@
BluetoothBroadcastUtils.TAG_FRAGMENT_QR_CODE_SCANNER);
if (fragment == null) {
- fragment = new QrCodeScanModeFragment(mIsGroupOp, mSink);
+ fragment = new QrCodeScanModeFragment();
} else {
if (fragment.isVisible()) {
return;
diff --git a/src/com/android/settings/bluetooth/QrCodeScanModeFragment.java b/src/com/android/settings/bluetooth/QrCodeScanModeFragment.java
index f89dac6..80aedd7 100644
--- a/src/com/android/settings/bluetooth/QrCodeScanModeFragment.java
+++ b/src/com/android/settings/bluetooth/QrCodeScanModeFragment.java
@@ -18,7 +18,6 @@
import android.app.Activity;
import android.app.settings.SettingsEnums;
-import android.bluetooth.BluetoothDevice;
import android.content.Context;
import android.content.Intent;
import android.graphics.Matrix;
@@ -71,9 +70,7 @@
public static final String KEY_BROADCAST_METADATA = "key_broadcast_metadata";
- private boolean mIsGroupOp;
private int mCornerRadius;
- private BluetoothDevice mSink;
private String mBroadcastMetadata;
private Context mContext;
private QrCamera mCamera;
@@ -81,11 +78,6 @@
private TextView mSummary;
private TextView mErrorMessage;
- public QrCodeScanModeFragment(boolean isGroupOp, BluetoothDevice sink) {
- mIsGroupOp = isGroupOp;
- mSink = sink;
- }
-
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
index 4dc8f1a..578493a 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
@@ -33,6 +33,7 @@
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_TITLE;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_TITLE_URI;
+import android.app.PendingIntent;
import android.app.settings.SettingsEnums;
import android.content.ComponentName;
import android.content.Context;
@@ -75,6 +76,8 @@
import com.android.settingslib.utils.ThreadUtils;
import com.android.settingslib.widget.AdaptiveIcon;
+import com.google.common.collect.Iterables;
+
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -152,7 +155,14 @@
}
bindIcon(pref, tile, forceRoundedIcon);
- if (tile instanceof ActivityTile) {
+ if (tile.hasPendingIntent()) {
+ // Pending intent cannot be launched within the settings app panel, and will thus always
+ // be executed directly.
+ pref.setOnPreferenceClickListener(preference -> {
+ launchPendingIntentOrSelectProfile(activity, tile, fragment.getMetricsCategory());
+ return true;
+ });
+ } else if (tile instanceof ActivityTile) {
final int sourceMetricsCategory = fragment.getMetricsCategory();
final Bundle metadata = tile.getMetaData();
String clsName = null;
@@ -441,6 +451,33 @@
preference.setIcon(iconDrawable);
}
+ private void launchPendingIntentOrSelectProfile(FragmentActivity activity, Tile tile,
+ int sourceMetricCategory) {
+ ProfileSelectDialog.updatePendingIntentsIfNeeded(mContext, tile);
+
+ if (tile.pendingIntentMap.isEmpty()) {
+ Log.w(TAG, "Cannot resolve pendingIntent, skipping. " + tile.getIntent());
+ return;
+ }
+
+ mMetricsFeatureProvider.logSettingsTileClick(tile.getKey(mContext), sourceMetricCategory);
+
+ // Launch the pending intent directly if there's only one available.
+ if (tile.pendingIntentMap.size() == 1) {
+ PendingIntent pendingIntent = Iterables.getOnlyElement(tile.pendingIntentMap.values());
+ try {
+ pendingIntent.send();
+ } catch (PendingIntent.CanceledException e) {
+ Log.w(TAG, "Failed executing pendingIntent. " + pendingIntent.getIntent(), e);
+ }
+ return;
+ }
+
+ ProfileSelectDialog.show(activity.getSupportFragmentManager(), tile,
+ sourceMetricCategory, /* onShowListener= */ null,
+ /* onDismissListener= */ null, /* onCancelListener= */ null);
+ }
+
private void launchIntentOrSelectProfile(FragmentActivity activity, Tile tile, Intent intent,
int sourceMetricCategory, TopLevelHighlightMixin highlightMixin,
boolean isDuplicateClick) {
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index 6076a25..f8a5d76 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -31,6 +31,7 @@
import androidx.annotation.VisibleForTesting;
import androidx.lifecycle.LifecycleObserver;
import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
@@ -47,7 +48,6 @@
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.drawer.DashboardCategory;
-import com.android.settingslib.drawer.ProviderTile;
import com.android.settingslib.drawer.Tile;
import com.android.settingslib.search.Indexable;
@@ -55,6 +55,7 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -504,6 +505,10 @@
// Install dashboard tiles and collect pending observers.
final boolean forceRoundedIcons = shouldForceRoundedIcon();
final List<DynamicDataObserver> pendingObservers = new ArrayList<>();
+
+ // Move group tiles to the beginning of the list to ensure they are created before the
+ // other tiles.
+ tiles.sort(Comparator.comparingInt(tile -> tile.getType() == Tile.Type.GROUP ? 0 : 1));
for (Tile tile : tiles) {
final String key = mDashboardFeatureProvider.getDashboardKeyForTile(tile);
if (TextUtils.isEmpty(key)) {
@@ -526,7 +531,14 @@
observers = mDashboardFeatureProvider.bindPreferenceToTileAndGetObservers(
getActivity(), this, forceRoundedIcons, pref, tile, key,
mPlaceholderPreferenceController.getOrder());
- screen.addPreference(pref);
+ if (tile.hasGroupKey() && mDashboardTilePrefKeys.containsKey(tile.getGroupKey())) {
+ final Preference group = screen.findPreference(tile.getGroupKey());
+ if (group instanceof PreferenceCategory) {
+ ((PreferenceCategory) group).addPreference(pref);
+ }
+ } else {
+ screen.addPreference(pref);
+ }
registerDynamicDataObservers(observers);
mDashboardTilePrefKeys.put(key, observers);
}
@@ -569,11 +581,28 @@
}
protected Preference createPreference(Tile tile) {
- return tile instanceof ProviderTile
- ? new SwitchPreference(getPrefContext())
- : tile.hasSwitch()
- ? new PrimarySwitchPreference(getPrefContext())
- : new Preference(getPrefContext());
+ switch (tile.getType()) {
+ case EXTERNAL_ACTION:
+ Preference externalActionPreference = new Preference(getPrefContext());
+ externalActionPreference
+ .setWidgetLayoutResource(R.layout.preference_external_action_icon);
+ return externalActionPreference;
+ case SWITCH:
+ return new SwitchPreference(getPrefContext());
+ case SWITCH_WITH_ACTION:
+ return new PrimarySwitchPreference(getPrefContext());
+ case GROUP:
+ mMetricsFeatureProvider.action(
+ mMetricsFeatureProvider.getAttribution(getActivity()),
+ SettingsEnums.ACTION_SETTINGS_GROUP_TILE_ADDED_TO_SCREEN,
+ getMetricsCategory(),
+ tile.getKey(getContext()),
+ /* value= */ 0);
+ return new PreferenceCategory((getPrefContext()));
+ case ACTION:
+ default:
+ return new Preference(getPrefContext());
+ }
}
@VisibleForTesting
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
index ef6ad83..58a51cb 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
@@ -17,6 +17,7 @@
package com.android.settings.dashboard.profileselector;
import android.app.Dialog;
+import android.app.PendingIntent;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
@@ -127,13 +128,25 @@
@Override
public void onClick(int position) {
final UserHandle user = mSelectedTile.userHandle.get(position);
- // Show menu on top level items.
- final Intent intent = new Intent(mSelectedTile.getIntent());
- FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
- .logStartedIntentWithProfile(intent, mSourceMetricCategory,
- position == 1 /* isWorkProfile */);
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
- getActivity().startActivityAsUser(intent, user);
+ if (!mSelectedTile.hasPendingIntent()) {
+ final Intent intent = new Intent(mSelectedTile.getIntent());
+ FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+ .logStartedIntentWithProfile(intent, mSourceMetricCategory,
+ position == 1 /* isWorkProfile */);
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ getActivity().startActivityAsUser(intent, user);
+ } else {
+ PendingIntent pendingIntent = mSelectedTile.pendingIntentMap.get(user);
+ FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+ .logSettingsTileClickWithProfile(mSelectedTile.getKey(getContext()),
+ mSourceMetricCategory,
+ position == 1 /* isWorkProfile */);
+ try {
+ pendingIntent.send();
+ } catch (PendingIntent.CanceledException e) {
+ Log.w(TAG, "Failed executing pendingIntent. " + pendingIntent.getIntent(), e);
+ }
+ }
dismiss();
}
@@ -178,4 +191,36 @@
}
}
}
+
+ /**
+ * Checks the userHandle and pendingIntentMap in the provided tile, and remove the invalid
+ * entries if any.
+ */
+ public static void updatePendingIntentsIfNeeded(Context context, Tile tile) {
+ if (tile.userHandle == null || tile.userHandle.size() <= 1
+ || tile.pendingIntentMap.size() <= 1) {
+ return;
+ }
+ for (UserHandle userHandle : List.copyOf(tile.userHandle)) {
+ if (!tile.pendingIntentMap.containsKey(userHandle)) {
+ if (DEBUG) {
+ Log.d(TAG, "Delete the user without pending intent: "
+ + userHandle.getIdentifier());
+ }
+ tile.userHandle.remove(userHandle);
+ }
+ }
+
+ final UserManager userManager = UserManager.get(context);
+ for (UserHandle userHandle : List.copyOf(tile.pendingIntentMap.keySet())) {
+ UserInfo userInfo = userManager.getUserInfo(userHandle.getIdentifier());
+ if (userInfo == null || userInfo.isCloneProfile()) {
+ if (DEBUG) {
+ Log.d(TAG, "Delete the user: " + userHandle.getIdentifier());
+ }
+ tile.userHandle.remove(userHandle);
+ tile.pendingIntentMap.remove(userHandle);
+ }
+ }
+ }
}
diff --git a/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceController.java b/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceController.java
index a54c594..298ced0 100644
--- a/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceController.java
@@ -40,6 +40,7 @@
private static final String PREFERENCE_KEY = "bluetooth_show_leaudio_device_details";
private static final String CONFIG_LE_AUDIO_ENABLED_BY_DEFAULT = "le_audio_enabled_by_default";
+ private static final boolean LE_AUDIO_DEVICE_DETAIL_DEFAULT_VALUE = true;
static int sLeAudioSupportedStateCache = BluetoothStatusCodes.ERROR_UNKNOWN;
@VisibleForTesting
@@ -75,7 +76,7 @@
DeviceConfig.setProperty(
DeviceConfig.NAMESPACE_SETTINGS_UI,
SettingsUIDeviceConfig.BT_LE_AUDIO_DEVICE_DETAIL_ENABLED,
- isEnabled ? "true" : "false", false);
+ isEnabled ? "true" : "false", LE_AUDIO_DEVICE_DETAIL_DEFAULT_VALUE);
return true;
}
@@ -87,7 +88,8 @@
final boolean leAudioDeviceDetailEnabled = DeviceConfig.getBoolean(
DeviceConfig.NAMESPACE_SETTINGS_UI,
- SettingsUIDeviceConfig.BT_LE_AUDIO_DEVICE_DETAIL_ENABLED, false);
+ SettingsUIDeviceConfig.BT_LE_AUDIO_DEVICE_DETAIL_ENABLED,
+ LE_AUDIO_DEVICE_DETAIL_DEFAULT_VALUE);
final boolean leAudioEnabledByDefault = DeviceConfig.getBoolean(
DeviceConfig.NAMESPACE_BLUETOOTH, CONFIG_LE_AUDIO_ENABLED_BY_DEFAULT, false);
@@ -102,6 +104,7 @@
// Reset the toggle to null when the developer option is disabled
DeviceConfig.setProperty(
DeviceConfig.NAMESPACE_SETTINGS_UI,
- SettingsUIDeviceConfig.BT_LE_AUDIO_DEVICE_DETAIL_ENABLED, "null", false);
+ SettingsUIDeviceConfig.BT_LE_AUDIO_DEVICE_DETAIL_ENABLED, "null",
+ LE_AUDIO_DEVICE_DETAIL_DEFAULT_VALUE);
}
}
diff --git a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java
index 5908ecd..8f59f0e 100644
--- a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java
+++ b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java
@@ -23,6 +23,7 @@
import android.telephony.TelephonyManager;
import android.telephony.data.ApnSetting;
+import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.settings.network.MobileDataContentObserver;
@@ -31,21 +32,20 @@
import com.android.settingslib.core.lifecycle.events.OnStop;
/**
- * Preference controller for "Mobile data"
+ * Preference controller for "MMS messages"
*/
public class MmsMessagePreferenceController extends TelephonyTogglePreferenceController implements
LifecycleObserver, OnStart, OnStop {
private TelephonyManager mTelephonyManager;
- private SubscriptionManager mSubscriptionManager;
private MobileDataContentObserver mMobileDataContentObserver;
private PreferenceScreen mScreen;
+ private Preference mPreference;
public MmsMessagePreferenceController(Context context, String key) {
super(context, key);
- mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
mMobileDataContentObserver = new MobileDataContentObserver(
new Handler(Looper.getMainLooper()));
- mMobileDataContentObserver.setOnMobileDataChangedListener(()->refreshPreference());
+ mMobileDataContentObserver.setOnMobileDataChangedListener(() -> refreshPreference());
}
@Override
@@ -63,6 +63,7 @@
public void onStart() {
if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
mMobileDataContentObserver.register(mContext, mSubId);
+ updateState(mPreference);
}
}
@@ -77,6 +78,7 @@
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mScreen = screen;
+ mPreference = screen.findPreference(getPreferenceKey());
}
@@ -88,12 +90,15 @@
@Override
public boolean setChecked(boolean isChecked) {
+ if (mTelephonyManager == null) {
+ return false;
+ }
mTelephonyManager.setMobileDataPolicyEnabled(
TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, isChecked);
- return isChecked == mTelephonyManager.isMobileDataPolicyEnabled(
- TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED);
+ return true;
}
+
@Override
public boolean isChecked() {
return mTelephonyManager != null && mTelephonyManager.isDataEnabledForApn(
diff --git a/src/com/android/settings/network/tether/TetherSettings.java b/src/com/android/settings/network/tether/TetherSettings.java
index 6f6ba8e..5398e9b 100644
--- a/src/com/android/settings/network/tether/TetherSettings.java
+++ b/src/com/android/settings/network/tether/TetherSettings.java
@@ -148,12 +148,13 @@
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ // Even when the UI is restricted, addPreferencesFromResource cannot be omitted.
+ addPreferencesFromResource(R.xml.tether_prefs);
setIfOnlyAvailableForAdmins(true);
if (isUiRestricted()) {
return;
}
- addPreferencesFromResource(R.xml.tether_prefs);
mContext = getContext();
mDataSaverBackend = new DataSaverBackend(mContext);
mDataSaverEnabled = mDataSaverBackend.isDataSaverEnabled();
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
index 0c3d769..3890ddf 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
@@ -94,7 +94,6 @@
private ListWithEntrySummaryPreference mButtonWfcRoamingMode;
private Preference mUpdateAddress;
- private boolean mValidListener = false;
private boolean mEditableWfcMode = true;
private boolean mEditableWfcRoamingMode = true;
private boolean mUseWfcHomeModeForRoaming = false;
@@ -104,7 +103,7 @@
private ProvisioningManager mProvisioningManager;
private TelephonyManager mTelephonyManager;
- private final PhoneTelephonyCallback mTelephonyCallback = new PhoneTelephonyCallback();
+ private PhoneTelephonyCallback mTelephonyCallback;
private class PhoneTelephonyCallback extends TelephonyCallback implements
TelephonyCallback.CallStateListener {
@@ -418,27 +417,20 @@
@Override
public void onResume() {
super.onResume();
-
updateBody();
-
- final Context context = getActivity();
- if (queryImsState(mSubId).isWifiCallingSupported()) {
+ Context context = getActivity();
+ if (mTelephonyCallback == null && queryImsState(mSubId).isWifiCallingSupported()) {
+ mTelephonyCallback = new PhoneTelephonyCallback();
getTelephonyManagerForSub(mSubId).registerTelephonyCallback(
context.getMainExecutor(), mTelephonyCallback);
-
mSwitchBar.addOnSwitchChangeListener(this);
-
- mValidListener = true;
}
-
context.registerReceiver(mIntentReceiver, mIntentFilter,
Context.RECEIVER_EXPORTED_UNAUDITED);
-
final Intent intent = getActivity().getIntent();
if (intent.getBooleanExtra(Phone.EXTRA_KEY_ALERT_SHOW, false)) {
showAlert(intent);
}
-
// Register callback for provisioning changes.
registerProvisioningChangedCallback();
}
@@ -446,19 +438,13 @@
@Override
public void onPause() {
super.onPause();
-
- final Context context = getActivity();
-
- if (mValidListener) {
- mValidListener = false;
-
+ Context context = getActivity();
+ if (mTelephonyCallback != null) {
getTelephonyManagerForSub(mSubId).unregisterTelephonyCallback(mTelephonyCallback);
-
+ mTelephonyCallback = null;
mSwitchBar.removeOnSwitchChangeListener(this);
}
-
context.unregisterReceiver(mIntentReceiver);
-
// Remove callback for provisioning changes.
unregisterProvisioningChangedCallback();
}
diff --git a/src/com/android/settings/wifi/repository/WifiHotspotRepository.java b/src/com/android/settings/wifi/repository/WifiHotspotRepository.java
index 6764214..af8eb47 100644
--- a/src/com/android/settings/wifi/repository/WifiHotspotRepository.java
+++ b/src/com/android/settings/wifi/repository/WifiHotspotRepository.java
@@ -623,9 +623,11 @@
@VisibleForTesting
class SoftApCallback implements WifiManager.SoftApCallback {
+ private static final String TAG = "SoftApCallback";
+
@Override
public void onStateChanged(int state, int failureReason) {
- log("onStateChanged(), state:" + state + ", failureReason:" + failureReason);
+ Log.d(TAG, "onStateChanged(), state:" + state + ", failureReason:" + failureReason);
mWifiApState = state;
if (!mIsRestarting) {
return;
diff --git a/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettings.java b/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettings.java
index f5066bd..a5e12d8 100644
--- a/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettings.java
@@ -108,15 +108,17 @@
if (radioButton == null) {
continue;
}
- if (radioButton.isChecked() != speedInfo.mIsChecked) {
- radioButton.setChecked(speedInfo.mIsChecked);
+ if (!speedInfo.mIsVisible) {
+ radioButton.setVisible(false);
+ continue;
}
- if (radioButton.isEnabled() != speedInfo.mIsEnabled) {
- radioButton.setEnabled(speedInfo.mIsEnabled);
+ radioButton.setEnabled(speedInfo.mIsEnabled);
+ radioButton.setChecked(speedInfo.mIsChecked);
+ if (speedInfo.mSummary != null) {
+ radioButton.setSummary(speedInfo.mSummary);
}
- if (radioButton.isVisible() != speedInfo.mIsVisible) {
- radioButton.setVisible(speedInfo.mIsVisible);
- }
+ // setVisible at the end to avoid UI flickering
+ radioButton.setVisible(true);
}
}
diff --git a/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModel.java b/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModel.java
index f04669a..e7eb3a6 100644
--- a/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModel.java
+++ b/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModel.java
@@ -22,12 +22,15 @@
import static com.android.settings.wifi.repository.WifiHotspotRepository.SPEED_6GHZ;
import android.app.Application;
+import android.util.Log;
+import androidx.annotation.VisibleForTesting;
import androidx.lifecycle.AndroidViewModel;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.Observer;
+import com.android.settings.R;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.wifi.repository.WifiHotspotRepository;
@@ -41,6 +44,12 @@
*/
public class WifiHotspotSpeedViewModel extends AndroidViewModel {
private static final String TAG = "WifiHotspotSpeedViewModel";
+ @VisibleForTesting
+ static final int RES_SPEED_5G_SUMMARY = R.string.wifi_hotspot_speed_5g_summary;
+ @VisibleForTesting
+ static final int RES_SPEED_6G_SUMMARY = R.string.wifi_hotspot_speed_6g_summary;
+ @VisibleForTesting
+ static final int RES_SUMMARY_UNAVAILABLE = R.string.wifi_hotspot_speed_summary_unavailable;
protected final WifiHotspotRepository mWifiHotspotRepository;
protected Map<Integer, SpeedInfo> mSpeedInfoMap = new HashMap<>();
@@ -75,14 +84,18 @@
}
protected void on6gAvailableChanged(Boolean available) {
- log("on6gAvailableChanged(), available:" + available);
+ Log.d(TAG, "on6gAvailableChanged(), available:" + available);
mSpeedInfo6g.mIsEnabled = available;
+ mSpeedInfo6g.mSummary = getApplication()
+ .getString(available ? RES_SPEED_6G_SUMMARY : RES_SUMMARY_UNAVAILABLE);
updateSpeedInfoMapData();
}
protected void on5gAvailableChanged(Boolean available) {
- log("on5gAvailableChanged(), available:" + available);
+ Log.d(TAG, "on5gAvailableChanged(), available:" + available);
mSpeedInfo5g.mIsEnabled = available;
+ mSpeedInfo5g.mSummary = getApplication()
+ .getString(available ? RES_SPEED_5G_SUMMARY : RES_SUMMARY_UNAVAILABLE);
boolean showDualBand = mWifiHotspotRepository.isDualBand() && available;
log("on5gAvailableChanged(), showDualBand:" + showDualBand);
@@ -144,6 +157,7 @@
Boolean mIsChecked;
boolean mIsEnabled;
boolean mIsVisible;
+ String mSummary;
public SpeedInfo(boolean isChecked, boolean isEnabled, boolean isVisible) {
this.mIsChecked = isChecked;
@@ -157,6 +171,7 @@
.append("isChecked:").append(mIsChecked)
.append(",isEnabled:").append(mIsEnabled)
.append(",isVisible:").append(mIsVisible)
+ .append(",mSummary:").append(mSummary)
.append('}').toString();
}
}
diff --git a/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
index 5dc5758..0b6d533 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
@@ -20,19 +20,29 @@
import android.net.wifi.SoftApConfiguration;
import android.net.wifi.WifiManager;
+import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.wifi.repository.WifiHotspotRepository;
public class WifiTetherAutoOffPreferenceController extends BasePreferenceController implements
Preference.OnPreferenceChangeListener {
private final WifiManager mWifiManager;
private boolean mSettingsOn;
+ @VisibleForTesting
+ boolean mNeedShutdownSecondarySap;
public WifiTetherAutoOffPreferenceController(Context context, String preferenceKey) {
super(context, preferenceKey);
+ WifiHotspotRepository wifiHotspotRepository = FeatureFactory.getFactory(context)
+ .getWifiFeatureProvider().getWifiHotspotRepository();
+ if (wifiHotspotRepository.isSpeedFeatureAvailable() && wifiHotspotRepository.isDualBand()) {
+ mNeedShutdownSecondarySap = true;
+ }
mWifiManager = context.getSystemService(WifiManager.class);
}
@@ -51,14 +61,15 @@
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
- final boolean settingsOn = (Boolean) newValue;
- SoftApConfiguration softApConfiguration = mWifiManager.getSoftApConfiguration();
- SoftApConfiguration newSoftApConfiguration =
- new SoftApConfiguration.Builder(softApConfiguration)
- .setAutoShutdownEnabled(settingsOn)
- .build();
+ boolean settingsOn = (Boolean) newValue;
+ SoftApConfiguration.Builder configBuilder =
+ new SoftApConfiguration.Builder(mWifiManager.getSoftApConfiguration());
+ configBuilder.setAutoShutdownEnabled(settingsOn);
+ if (mNeedShutdownSecondarySap) {
+ configBuilder.setBridgedModeOpportunisticShutdownEnabled(settingsOn);
+ }
mSettingsOn = settingsOn;
- return mWifiManager.setSoftApConfiguration(newSoftApConfiguration);
+ return mWifiManager.setSoftApConfiguration(configBuilder.build());
}
public boolean isEnabled() {
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
index 4ba6eae..f7a940f 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
@@ -43,6 +43,7 @@
import static org.mockito.Mockito.verifyNoInteractions;
import static org.mockito.Mockito.when;
+import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
@@ -57,6 +58,7 @@
import android.os.UserManager;
import android.util.Pair;
+import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
@@ -200,6 +202,27 @@
}
@Test
+ public void bindPreference_providerTileWithPendingIntent_shouldBindIntent() {
+ final Preference preference = new SwitchPreference(RuntimeEnvironment.application);
+ Bundle metaData = new Bundle();
+ metaData.putInt(META_DATA_PREFERENCE_TITLE, R.string.settings_label);
+ metaData.putInt(META_DATA_PREFERENCE_SUMMARY, R.string.about_settings_summary);
+ metaData.putInt(META_DATA_KEY_ORDER, 10);
+ metaData.putString(META_DATA_PREFERENCE_KEYHINT, KEY);
+ final Tile tile = new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE, metaData);
+ PendingIntent pendingIntent =
+ PendingIntent.getActivity(RuntimeEnvironment.application, 0, new Intent("test"), 0);
+ tile.pendingIntentMap.put(UserHandle.CURRENT, pendingIntent);
+
+ mImpl.bindPreferenceToTileAndGetObservers(mActivity, mFragment, mForceRoundedIcon,
+ preference, tile, "123", Preference.DEFAULT_ORDER);
+
+ assertThat(preference.getFragment()).isNull();
+ assertThat(preference.getOnPreferenceClickListener()).isNotNull();
+ assertThat(preference.getOrder()).isEqualTo(tile.getOrder());
+ }
+
+ @Test
public void bindPreference_noFragmentMetadata_shouldBindIntent() {
final Preference preference = new Preference(RuntimeEnvironment.application);
mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
@@ -631,6 +654,55 @@
}
@Test
+ public void clickPreference_providerTileWithPendingIntent_singleUser_executesPendingIntent() {
+ final Preference preference = new SwitchPreference(RuntimeEnvironment.application);
+ Bundle metaData = new Bundle();
+ metaData.putInt(META_DATA_PREFERENCE_TITLE, R.string.settings_label);
+ metaData.putInt(META_DATA_PREFERENCE_SUMMARY, R.string.about_settings_summary);
+ metaData.putInt(META_DATA_KEY_ORDER, 10);
+ metaData.putString(META_DATA_PREFERENCE_KEYHINT, KEY);
+ final Tile tile = new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE, metaData);
+ PendingIntent pendingIntent =
+ PendingIntent.getActivity(RuntimeEnvironment.application, 0, new Intent("test"), 0);
+ tile.pendingIntentMap.put(UserHandle.CURRENT, pendingIntent);
+
+ mImpl.bindPreferenceToTileAndGetObservers(mActivity, mFragment, mForceRoundedIcon,
+ preference, tile, "123", Preference.DEFAULT_ORDER);
+ preference.performClick();
+
+ Intent nextStartedActivity =
+ Shadows.shadowOf(RuntimeEnvironment.application).peekNextStartedActivity();
+ assertThat(nextStartedActivity).isNotNull();
+ assertThat(nextStartedActivity.getAction()).isEqualTo("test");
+ }
+
+ @Test
+ public void clickPreference_providerTileWithPendingIntent_multiUser_showsProfileDialog() {
+ final Preference preference = new SwitchPreference(RuntimeEnvironment.application);
+ Bundle metaData = new Bundle();
+ metaData.putInt(META_DATA_PREFERENCE_TITLE, R.string.settings_label);
+ metaData.putInt(META_DATA_PREFERENCE_SUMMARY, R.string.about_settings_summary);
+ metaData.putInt(META_DATA_KEY_ORDER, 10);
+ metaData.putString(META_DATA_PREFERENCE_KEYHINT, KEY);
+ final Tile tile = new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE, metaData);
+ PendingIntent pendingIntent =
+ PendingIntent.getActivity(RuntimeEnvironment.application, 0, new Intent("test"), 0);
+ tile.pendingIntentMap.put(UserHandle.CURRENT, pendingIntent);
+ tile.pendingIntentMap.put(new UserHandle(10), pendingIntent);
+
+ mImpl.bindPreferenceToTileAndGetObservers(mActivity, mFragment, mForceRoundedIcon,
+ preference, tile, "123", Preference.DEFAULT_ORDER);
+ preference.performClick();
+
+ Fragment dialogFragment =
+ mActivity.getSupportFragmentManager().findFragmentByTag("select_profile");
+ assertThat(dialogFragment).isNotNull();
+ Intent nextStartedActivity =
+ Shadows.shadowOf(RuntimeEnvironment.application).peekNextStartedActivity();
+ assertThat(nextStartedActivity).isNull();
+ }
+
+ @Test
public void openTileIntent_profileSelectionDialog_shouldShow() {
ShadowUserManager.getShadow().addUser(10, "Someone", 0);
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
index 0739294..ecaf36f 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
@@ -16,7 +16,9 @@
package com.android.settings.dashboard;
import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.DASHBOARD_CONTAINER;
+import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_GROUP_KEY;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT;
+import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_PENDING_INTENT;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SWITCH_URI;
import static com.google.common.truth.Truth.assertThat;
@@ -30,6 +32,7 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.app.PendingIntent;
import android.app.settings.SettingsEnums;
import android.content.ContentResolver;
import android.content.Context;
@@ -38,15 +41,18 @@
import android.content.pm.ProviderInfo;
import android.net.Uri;
import android.os.Bundle;
+import android.os.UserHandle;
import android.preference.PreferenceManager.OnActivityResultListener;
import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.slices.BlockingSlicePrefController;
import com.android.settings.testutils.FakeFeatureFactory;
@@ -57,6 +63,7 @@
import com.android.settingslib.drawer.ActivityTile;
import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.ProviderTile;
+import com.android.settingslib.drawer.Tile;
import org.junit.Before;
import org.junit.Ignore;
@@ -178,6 +185,43 @@
}
@Test
+ public void displayTilesAsPreference_withGroup_shouldAddTilesIntoGroup() {
+ final ProviderInfo providerInfo = new ProviderInfo();
+ providerInfo.packageName = "pkg";
+ providerInfo.name = "provider";
+ providerInfo.authority = "authority";
+ final Bundle groupTileMetaData = new Bundle();
+ groupTileMetaData.putString(META_DATA_PREFERENCE_KEYHINT, "injected_tile_group_key");
+ ProviderTile groupTile = new ProviderTile(providerInfo, mDashboardCategory.key,
+ groupTileMetaData);
+ mDashboardCategory.addTile(groupTile);
+
+ final Bundle subTileMetaData = new Bundle();
+ subTileMetaData.putString(META_DATA_PREFERENCE_KEYHINT, "injected_tile_key3");
+ subTileMetaData.putString(META_DATA_PREFERENCE_GROUP_KEY, "injected_tile_group_key");
+ subTileMetaData.putParcelable(
+ META_DATA_PREFERENCE_PENDING_INTENT,
+ PendingIntent.getActivity(mContext, 0, new Intent(), 0));
+ ProviderTile subTile = new ProviderTile(providerInfo, mDashboardCategory.key,
+ subTileMetaData);
+ mDashboardCategory.addTile(subTile);
+
+ PreferenceCategory groupPreference = mock(PreferenceCategory.class);
+ when(mFakeFeatureFactory.dashboardFeatureProvider
+ .getTilesForCategory(nullable(String.class)))
+ .thenReturn(mDashboardCategory);
+ when(mFakeFeatureFactory.dashboardFeatureProvider
+ .getDashboardKeyForTile(any(Tile.class)))
+ .then(invocation -> ((Tile) invocation.getArgument(0)).getKey(mContext));
+ when(mTestFragment.mScreen.findPreference("injected_tile_group_key"))
+ .thenReturn(groupPreference);
+ mTestFragment.onCreatePreferences(new Bundle(), "rootKey");
+
+ verify(mTestFragment.mScreen, times(3)).addPreference(nullable(Preference.class));
+ verify(groupPreference).addPreference(nullable(Preference.class));
+ }
+
+ @Test
public void displayTilesAsPreference_shouldNotAddTilesWithoutIntent() {
mTestFragment.onCreatePreferences(new Bundle(), "rootKey");
@@ -352,6 +396,16 @@
}
@Test
+ public void createPreference_isActivityTile_returnPreference() {
+ final Preference pref = mTestFragment.createPreference(mActivityTile);
+
+ assertThat(pref).isInstanceOf(Preference.class);
+ assertThat(pref).isNotInstanceOf(PrimarySwitchPreference.class);
+ assertThat(pref).isNotInstanceOf(SwitchPreference.class);
+ assertThat(pref.getWidgetLayoutResource()).isEqualTo(0);
+ }
+
+ @Test
public void createPreference_isActivityTileAndHasSwitch_returnPrimarySwitchPreference() {
mActivityTile.getMetaData().putString(META_DATA_PREFERENCE_SWITCH_URI, "uri");
@@ -361,6 +415,64 @@
}
@Test
+ public void createPreference_isProviderTileWithPendingIntent_returnPreferenceWithIcon() {
+ final ProviderInfo providerInfo = new ProviderInfo();
+ providerInfo.packageName = "pkg";
+ providerInfo.name = "provider";
+ providerInfo.authority = "authority";
+ final Bundle metaData = new Bundle();
+ metaData.putString(META_DATA_PREFERENCE_KEYHINT, "injected_tile_key2");
+ ProviderTile providerTile = new ProviderTile(providerInfo, mDashboardCategory.key,
+ metaData);
+ providerTile.pendingIntentMap.put(
+ UserHandle.CURRENT, PendingIntent.getActivity(mContext, 0, new Intent(), 0));
+
+ final Preference pref = mTestFragment.createPreference(providerTile);
+
+ assertThat(pref).isInstanceOf(Preference.class);
+ assertThat(pref).isNotInstanceOf(PrimarySwitchPreference.class);
+ assertThat(pref).isNotInstanceOf(SwitchPreference.class);
+ assertThat(pref.getWidgetLayoutResource())
+ .isEqualTo(R.layout.preference_external_action_icon);
+ }
+
+ @Test
+ public void createPreference_isProviderTileWithPendingIntentAndSwitch_returnPrimarySwitch() {
+ mProviderTile.pendingIntentMap.put(
+ UserHandle.CURRENT, PendingIntent.getActivity(mContext, 0, new Intent(), 0));
+
+ final Preference pref = mTestFragment.createPreference(mProviderTile);
+
+ assertThat(pref).isInstanceOf(PrimarySwitchPreference.class);
+ }
+
+ @Test
+ public void createPreference_isGroupTile_returnPreferenceCategory_logTileAdded() {
+ final ProviderInfo providerInfo = new ProviderInfo();
+ providerInfo.packageName = "pkg";
+ providerInfo.name = "provider";
+ providerInfo.authority = "authority";
+ final Bundle metaData = new Bundle();
+ metaData.putString(META_DATA_PREFERENCE_KEYHINT, "injected_tile_key2");
+ ProviderTile providerTile =
+ new ProviderTile(providerInfo, mDashboardCategory.key, metaData);
+ MetricsFeatureProvider metricsFeatureProvider =
+ mFakeFeatureFactory.getMetricsFeatureProvider();
+ when(metricsFeatureProvider.getAttribution(any())).thenReturn(123);
+
+ final Preference pref = mTestFragment.createPreference(providerTile);
+
+ assertThat(pref).isInstanceOf(PreferenceCategory.class);
+ verify(metricsFeatureProvider)
+ .action(
+ 123,
+ SettingsEnums.ACTION_SETTINGS_GROUP_TILE_ADDED_TO_SCREEN,
+ mTestFragment.getMetricsCategory(),
+ "injected_tile_key2",
+ 0);
+ }
+
+ @Test
public void onActivityResult_test() {
final int requestCode = 10;
final int resultCode = 1;
diff --git a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java
index 4e81cee..9a13961 100644
--- a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java
@@ -24,7 +24,9 @@
import static org.mockito.Mockito.when;
import android.app.Dialog;
+import android.app.PendingIntent;
import android.content.Context;
+import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.UserInfo;
import android.os.UserHandle;
@@ -119,6 +121,28 @@
}
@Test
+ public void updatePendingIntentsIfNeeded_removesUsersWithNoPendingIntentsAndCloneProfile() {
+ final UserInfo userInfo = new UserInfo(CLONE_USER.getIdentifier(), "clone_user", null,
+ UserInfo.FLAG_PROFILE, UserManager.USER_TYPE_PROFILE_CLONE);
+ when(mUserManager.getUserInfo(CLONE_USER.getIdentifier())).thenReturn(userInfo);
+ final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+ tile.userHandle.add(CLONE_USER);
+ tile.userHandle.add(NORMAL_USER);
+ tile.userHandle.add(new UserHandle(10));
+ PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(), 0);
+ tile.pendingIntentMap.put(CLONE_USER, pendingIntent);
+ tile.pendingIntentMap.put(NORMAL_USER, pendingIntent);
+
+ ProfileSelectDialog.updatePendingIntentsIfNeeded(mContext, tile);
+
+ assertThat(tile.userHandle).hasSize(1);
+ assertThat(tile.userHandle).containsExactly(NORMAL_USER);
+ assertThat(tile.pendingIntentMap).hasSize(1);
+ assertThat(tile.pendingIntentMap).containsKey(NORMAL_USER);
+ verify(mUserManager, times(1)).getUserInfo(CLONE_USER.getIdentifier());
+ }
+
+ @Test
public void createDialog_showsCorrectTitle() {
mContext.setTheme(R.style.Theme_AppCompat);
diff --git a/tests/robotests/src/com/android/settings/network/tether/TetherSettingsTest.java b/tests/robotests/src/com/android/settings/network/tether/TetherSettingsTest.java
index bf03e82..7fe1187 100644
--- a/tests/robotests/src/com/android/settings/network/tether/TetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/tether/TetherSettingsTest.java
@@ -131,10 +131,12 @@
@Test
@Config(shadows = ShadowRestrictedSettingsFragment.class)
public void onCreate_isUiRestricted_doNotSetupViewModel() {
+ doNothing().when(mTetherSettings).addPreferencesFromResource(anyInt());
when(mTetherSettings.isUiRestricted()).thenReturn(true);
mTetherSettings.onCreate(null);
+ verify(mTetherSettings).addPreferencesFromResource(anyInt());
verify(mTetherSettings, never()).setupViewModel();
}
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettingsTest.java
index 969f992..31f4c09 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettingsTest.java
@@ -25,8 +25,10 @@
import static com.android.settings.wifi.tether.WifiHotspotSpeedSettings.KEY_SPEED_5GHZ;
import static com.android.settings.wifi.tether.WifiHotspotSpeedSettings.KEY_SPEED_6GHZ;
+import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.anyBoolean;
import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -89,98 +91,156 @@
@Test
public void onSpeedInfoMapDataChanged_checkedSpeed2g_checkedToRadioButton2g() {
- mSpeedInfo2g = new WifiHotspotSpeedViewModel.SpeedInfo(false, true, false);
+ mSpeedInfo2g = new WifiHotspotSpeedViewModel.SpeedInfo(true, true, true);
updateSpeedInfoMap();
- mockRadioButton(true, false, true);
+ mockRadioButton(false, false, false);
mSettings.mSpeedPreferenceMap.put(SPEED_2GHZ, mRadioButton);
mSettings.onSpeedInfoMapDataChanged(mSpeedInfoMap);
- verifyRadioButton(false, true, false);
+ verifyRadioButton(true, true, true);
}
@Test
public void onSpeedInfoMapDataChanged_uncheckedSpeed2g_uncheckedToRadioButton2g() {
- mSpeedInfo2g = new WifiHotspotSpeedViewModel.SpeedInfo(true, false, true);
+ mSpeedInfo2g = new WifiHotspotSpeedViewModel.SpeedInfo(false, false, true);
updateSpeedInfoMap();
- mockRadioButton(false, true, false);
+ mockRadioButton(true, true, true);
mSettings.mSpeedPreferenceMap.put(SPEED_2GHZ, mRadioButton);
mSettings.onSpeedInfoMapDataChanged(mSpeedInfoMap);
- verifyRadioButton(true, false, true);
+ verifyRadioButton(false, false, true);
}
@Test
public void onSpeedInfoMapDataChanged_checkedSpeed5g_checkedToRadioButton5g() {
- mSpeedInfo5g = new WifiHotspotSpeedViewModel.SpeedInfo(false, true, false);
+ mSpeedInfo5g = new WifiHotspotSpeedViewModel.SpeedInfo(true, true, true);
updateSpeedInfoMap();
- mockRadioButton(true, false, true);
+ mockRadioButton(false, false, false);
mSettings.mSpeedPreferenceMap.put(SPEED_5GHZ, mRadioButton);
mSettings.onSpeedInfoMapDataChanged(mSpeedInfoMap);
- verifyRadioButton(false, true, false);
+ verifyRadioButton(true, true, true);
}
@Test
public void onSpeedInfoMapDataChanged_uncheckedSpeed5g_uncheckedToRadioButton5g() {
- mSpeedInfo5g = new WifiHotspotSpeedViewModel.SpeedInfo(true, false, true);
+ mSpeedInfo5g = new WifiHotspotSpeedViewModel.SpeedInfo(false, false, true);
updateSpeedInfoMap();
- mockRadioButton(false, true, false);
+ mockRadioButton(true, true, true);
mSettings.mSpeedPreferenceMap.put(SPEED_5GHZ, mRadioButton);
mSettings.onSpeedInfoMapDataChanged(mSpeedInfoMap);
- verifyRadioButton(true, false, true);
+ verifyRadioButton(false, false, true);
}
@Test
public void onSpeedInfoMapDataChanged_checkedSpeed2g5g_checkedToRadioButton2g5g() {
- mSpeedInfo2g5g = new WifiHotspotSpeedViewModel.SpeedInfo(false, true, false);
+ mSpeedInfo2g5g = new WifiHotspotSpeedViewModel.SpeedInfo(true, true, true);
updateSpeedInfoMap();
- mockRadioButton(true, false, true);
+ mockRadioButton(false, false, false);
mSettings.mSpeedPreferenceMap.put(SPEED_2GHZ_5GHZ, mRadioButton);
mSettings.onSpeedInfoMapDataChanged(mSpeedInfoMap);
- verifyRadioButton(false, true, false);
+ verifyRadioButton(true, true, true);
}
@Test
- public void onSpeedInfoMapDataChanged_uncheckedSpeed25g_uncheckedToRadioButton25g() {
- mSpeedInfo2g5g = new WifiHotspotSpeedViewModel.SpeedInfo(true, false, true);
+ public void onSpeedInfoMapDataChanged_uncheckedSpeed2g5g_uncheckedToRadioButton2g5g() {
+ mSpeedInfo2g5g = new WifiHotspotSpeedViewModel.SpeedInfo(false, false, true);
updateSpeedInfoMap();
- mockRadioButton(false, true, false);
+ mockRadioButton(true, true, true);
mSettings.mSpeedPreferenceMap.put(SPEED_2GHZ_5GHZ, mRadioButton);
mSettings.onSpeedInfoMapDataChanged(mSpeedInfoMap);
- verifyRadioButton(true, false, true);
+ verifyRadioButton(false, false, true);
}
@Test
public void onSpeedInfoMapDataChanged_checkedSpeed6g_checkedToRadioButton6g() {
- mSpeedInfo6g = new WifiHotspotSpeedViewModel.SpeedInfo(false, true, false);
+ mSpeedInfo6g = new WifiHotspotSpeedViewModel.SpeedInfo(true, true, true);
updateSpeedInfoMap();
+ mockRadioButton(false, false, false);
+ mSettings.mSpeedPreferenceMap.put(SPEED_6GHZ, mRadioButton);
+
+ mSettings.onSpeedInfoMapDataChanged(mSpeedInfoMap);
+
+ verifyRadioButton(true, true, true);
+ }
+
+ @Test
+ public void onSpeedInfoMapDataChanged_uncheckedSpeed6g_uncheckedToRadioButton6g() {
+ mSpeedInfo6g = new WifiHotspotSpeedViewModel.SpeedInfo(false, false, true);
+ updateSpeedInfoMap();
+ mockRadioButton(true, true, true);
+ mSettings.mSpeedPreferenceMap.put(SPEED_6GHZ, mRadioButton);
+
+ mSettings.onSpeedInfoMapDataChanged(mSpeedInfoMap);
+
+ verifyRadioButton(false, false, true);
+ }
+
+ @Test
+ public void onSpeedInfoMapDataChanged_setVisibleFalse_setVisibleOnly() {
+ mSpeedInfo6g = new WifiHotspotSpeedViewModel.SpeedInfo(true, true, false);
+ mSpeedInfo6g.mSummary = "summary";
+ mSpeedInfoMap.put(SPEED_6GHZ, mSpeedInfo6g);
+ mockRadioButton(true, true, true);
+ mSettings.mSpeedPreferenceMap.put(SPEED_6GHZ, mRadioButton);
+
+ mSettings.onSpeedInfoMapDataChanged(mSpeedInfoMap);
+
+ verify(mRadioButton).setVisible(false);
+ verify(mRadioButton, never()).setChecked(anyBoolean());
+ verify(mRadioButton, never()).setEnabled(anyBoolean());
+ verify(mRadioButton, never()).setSummary(anyString());
+ }
+
+ @Test
+ public void onSpeedInfoMapDataChanged_setVisibleTrue_setAllProperties() {
+ mSpeedInfo6g = new WifiHotspotSpeedViewModel.SpeedInfo(true, true, true);
+ mSpeedInfo6g.mSummary = "summary";
+ mSpeedInfoMap.put(SPEED_6GHZ, mSpeedInfo6g);
+ mockRadioButton(true, true, true);
+ mSettings.mSpeedPreferenceMap.put(SPEED_6GHZ, mRadioButton);
+
+ mSettings.onSpeedInfoMapDataChanged(mSpeedInfoMap);
+
+ verify(mRadioButton).setVisible(true);
+ verify(mRadioButton).setChecked(anyBoolean());
+ verify(mRadioButton).setEnabled(anyBoolean());
+ verify(mRadioButton).setSummary(anyString());
+ }
+
+ @Test
+ public void onSpeedInfoMapDataChanged_summaryIsNull_doNotSetSummary() {
+ mSpeedInfo6g = new WifiHotspotSpeedViewModel.SpeedInfo(true, true, true);
+ mSpeedInfo6g.mSummary = null;
+ mSpeedInfoMap.put(SPEED_6GHZ, mSpeedInfo6g);
+ mockRadioButton(true, true, true);
+ mSettings.mSpeedPreferenceMap.put(SPEED_6GHZ, mRadioButton);
+
+ mSettings.onSpeedInfoMapDataChanged(mSpeedInfoMap);
+
+ verify(mRadioButton, never()).setSummary(anyString());
+ }
+
+ @Test
+ public void onSpeedInfoMapDataChanged_summaryNotNull_setSummary() {
+ mSpeedInfo6g = new WifiHotspotSpeedViewModel.SpeedInfo(true, false, true);
+ mSpeedInfo6g.mSummary = "summary";
+ mSpeedInfoMap.put(SPEED_6GHZ, mSpeedInfo6g);
mockRadioButton(true, false, true);
mSettings.mSpeedPreferenceMap.put(SPEED_6GHZ, mRadioButton);
mSettings.onSpeedInfoMapDataChanged(mSpeedInfoMap);
- verifyRadioButton(false, true, false);
- }
-
- @Test
- public void onSpeedInfoMapDataChanged_uncheckedSpeed6g_uncheckedToRadioButton6g() {
- mSpeedInfo6g = new WifiHotspotSpeedViewModel.SpeedInfo(true, false, true);
- updateSpeedInfoMap();
- mockRadioButton(false, true, false);
- mSettings.mSpeedPreferenceMap.put(SPEED_6GHZ, mRadioButton);
-
- mSettings.onSpeedInfoMapDataChanged(mSpeedInfoMap);
-
- verifyRadioButton(true, false, true);
+ verify(mRadioButton).setSummary(mSpeedInfo6g.mSummary);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceControllerTest.java
index fbc4aaa..535e4ab 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceControllerTest.java
@@ -18,6 +18,7 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -28,6 +29,10 @@
import androidx.preference.SwitchPreference;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.wifi.factory.WifiFeatureProvider;
+import com.android.settings.wifi.repository.WifiHotspotRepository;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -54,6 +59,8 @@
mContext = spy(RuntimeEnvironment.application);
+ WifiFeatureProvider provider = FakeFeatureFactory.setupForTest().getWifiFeatureProvider();
+ when(provider.getWifiHotspotRepository()).thenReturn(mock(WifiHotspotRepository.class));
when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
mSoftApConfiguration = new SoftApConfiguration.Builder().build();
when(mWifiManager.getSoftApConfiguration()).thenReturn(mSoftApConfiguration);
@@ -101,6 +108,32 @@
assertThat(mSwitchPreference.isChecked()).isTrue();
}
+ @Test
+ public void onPreferenceChange_needShutdownSecondarySap_setSecondarySap() {
+ mController.mNeedShutdownSecondarySap = true;
+ setConfigShutdownSecondarySap(false);
+
+ mController.onPreferenceChange(mSwitchPreference, true);
+
+ ArgumentCaptor<SoftApConfiguration> config =
+ ArgumentCaptor.forClass(SoftApConfiguration.class);
+ verify(mWifiManager).setSoftApConfiguration(config.capture());
+ assertThat(config.getValue().isBridgedModeOpportunisticShutdownEnabled()).isTrue();
+ }
+
+ @Test
+ public void onPreferenceChange_noNeedShutdownSecondarySap_doNotSetSecondarySap() {
+ mController.mNeedShutdownSecondarySap = false;
+ setConfigShutdownSecondarySap(false);
+
+ mController.onPreferenceChange(mSwitchPreference, true);
+
+ ArgumentCaptor<SoftApConfiguration> config =
+ ArgumentCaptor.forClass(SoftApConfiguration.class);
+ verify(mWifiManager).setSoftApConfiguration(config.capture());
+ assertThat(config.getValue().isBridgedModeOpportunisticShutdownEnabled()).isFalse();
+ }
+
private boolean getAutoOffSetting() {
ArgumentCaptor<SoftApConfiguration> softApConfigCaptor =
ArgumentCaptor.forClass(SoftApConfiguration.class);
@@ -115,4 +148,12 @@
.build();
when(mWifiManager.getSoftApConfiguration()).thenReturn(mSoftApConfiguration);
}
+
+ private void setConfigShutdownSecondarySap(boolean enabled) {
+ mSoftApConfiguration =
+ new SoftApConfiguration.Builder(mSoftApConfiguration)
+ .setBridgedModeOpportunisticShutdownEnabled(enabled)
+ .build();
+ when(mWifiManager.getSoftApConfiguration()).thenReturn(mSoftApConfiguration);
+ }
}
diff --git a/tests/unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java
index a0219a0..127cdfd 100644
--- a/tests/unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java
@@ -21,15 +21,20 @@
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.anyBoolean;
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;
+import android.os.Looper;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.data.ApnSetting;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -63,7 +68,7 @@
when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager);
- mPreference = new SwitchPreference(mContext);
+ mPreference = spy(new SwitchPreference(mContext));
mController = new MmsMessagePreferenceController(mContext, "mms_message");
mController.init(SUB_ID);
mPreference.setKey(mController.getPreferenceKey());
@@ -118,4 +123,20 @@
verify(mTelephonyManager).setMobileDataPolicyEnabled(
TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, false);
}
+
+ @Test
+ public void onStart_updatePreferenceUiState() {
+ if (Looper.myLooper() == null) {
+ Looper.prepare();
+ }
+ PreferenceManager preferenceManager = new PreferenceManager(mContext);
+ PreferenceScreen preferenceScreen = preferenceManager.createPreferenceScreen(mContext);
+ preferenceScreen.addPreference(mPreference);
+ mController.displayPreference(preferenceScreen);
+
+ mController.onStart();
+
+ // First is preference initialization, and second is in onStart();
+ verify(mPreference, times(2)).setChecked(anyBoolean());
+ }
}
diff --git a/tests/unit/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModelTest.java b/tests/unit/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModelTest.java
index 3a1a927..f52478e 100644
--- a/tests/unit/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModelTest.java
+++ b/tests/unit/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModelTest.java
@@ -20,6 +20,9 @@
import static com.android.settings.wifi.repository.WifiHotspotRepository.SPEED_2GHZ_5GHZ;
import static com.android.settings.wifi.repository.WifiHotspotRepository.SPEED_5GHZ;
import static com.android.settings.wifi.repository.WifiHotspotRepository.SPEED_6GHZ;
+import static com.android.settings.wifi.tether.WifiHotspotSpeedViewModel.RES_SPEED_5G_SUMMARY;
+import static com.android.settings.wifi.tether.WifiHotspotSpeedViewModel.RES_SPEED_6G_SUMMARY;
+import static com.android.settings.wifi.tether.WifiHotspotSpeedViewModel.RES_SUMMARY_UNAVAILABLE;
import static com.google.common.truth.Truth.assertThat;
@@ -128,7 +131,9 @@
mViewModel.on6gAvailableChanged(true);
verify(mSpeedInfoMapData).setValue(mViewModel.mSpeedInfoMap);
- assertThat(mViewModel.mSpeedInfoMap.get(SPEED_6GHZ).mIsEnabled).isTrue();
+ WifiHotspotSpeedViewModel.SpeedInfo speedInfo = mViewModel.mSpeedInfoMap.get(SPEED_6GHZ);
+ assertThat(speedInfo.mIsEnabled).isTrue();
+ assertThat(speedInfo.mSummary).isEqualTo(mContext.getString(RES_SPEED_6G_SUMMARY));
}
@Test
@@ -139,7 +144,9 @@
mViewModel.on6gAvailableChanged(false);
verify(mSpeedInfoMapData).setValue(mViewModel.mSpeedInfoMap);
- assertThat(mViewModel.mSpeedInfoMap.get(SPEED_6GHZ).mIsEnabled).isFalse();
+ WifiHotspotSpeedViewModel.SpeedInfo speedInfo = mViewModel.mSpeedInfoMap.get(SPEED_6GHZ);
+ assertThat(speedInfo.mIsEnabled).isFalse();
+ assertThat(speedInfo.mSummary).isEqualTo(mContext.getString(RES_SUMMARY_UNAVAILABLE));
}
@Test
@@ -150,7 +157,9 @@
mViewModel.on5gAvailableChanged(true);
verify(mSpeedInfoMapData).setValue(mViewModel.mSpeedInfoMap);
- assertThat(mViewModel.mSpeedInfoMap.get(SPEED_5GHZ).mIsEnabled).isTrue();
+ WifiHotspotSpeedViewModel.SpeedInfo speedInfo = mViewModel.mSpeedInfoMap.get(SPEED_5GHZ);
+ assertThat(speedInfo.mIsEnabled).isTrue();
+ assertThat(speedInfo.mSummary).isEqualTo(mContext.getString(RES_SPEED_5G_SUMMARY));
}
@Test
@@ -161,7 +170,9 @@
mViewModel.on5gAvailableChanged(false);
verify(mSpeedInfoMapData).setValue(mViewModel.mSpeedInfoMap);
- assertThat(mViewModel.mSpeedInfoMap.get(SPEED_5GHZ).mIsEnabled).isFalse();
+ WifiHotspotSpeedViewModel.SpeedInfo speedInfo = mViewModel.mSpeedInfoMap.get(SPEED_5GHZ);
+ assertThat(speedInfo.mIsEnabled).isFalse();
+ assertThat(speedInfo.mSummary).isEqualTo(mContext.getString(RES_SUMMARY_UNAVAILABLE));
}
@Test