Merge "Skip authentication in Wifi sharing if the device is unlocked recently" into main
diff --git a/Android.bp b/Android.bp
index 5a1224c..2699c38 100644
--- a/Android.bp
+++ b/Android.bp
@@ -76,16 +76,20 @@
"android.hardware.dumpstate-V1.0-java",
"android.hardware.dumpstate-V1.1-java",
"android.nfc.flags-aconfig-java",
+ "android.view.accessibility.flags-aconfig-java",
+ "com_android_server_accessibility_flags_lib",
"net-utils-framework-common",
"notification_flags_lib",
"securebox",
// Settings dependencies
"FingerprintManagerInteractor",
+ "MediaDrmSettingsFlagsLib",
"Settings-change-ids",
"SettingsLib",
"SettingsLibActivityEmbedding",
"aconfig_settings_flags_lib",
+ "accessibility_settings_flags_lib",
"app-usage-event-protos-lite",
"battery-event-protos-lite",
"battery-usage-slot-protos-lite",
@@ -99,7 +103,6 @@
"settings-logtags",
"settings-telephony-protos-lite",
"statslog-settings",
- "com_android_server_accessibility_flags_lib",
],
plugins: ["androidx.room_room-compiler-plugin"],
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index a08bda3..75c6fbb 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -4943,6 +4943,16 @@
</activity>
<activity
+ android:name="com.android.settings.connecteddevice.audiosharing.audiostreams.qrcode.QrCodeScanModeActivity"
+ android:permission="android.permission.BLUETOOTH_CONNECT"
+ android:exported="false">
+ <intent-filter>
+ <action android:name="android.settings.BLUETOOTH_LE_AUDIO_QR_CODE_SCANNER"/>
+ <category android:name="android.intent.category.DEFAULT"/>
+ </intent-filter>
+ </activity>
+
+ <activity
android:name=".spa.SpaActivity"
android:configChanges="orientation|screenLayout|screenSize|smallestScreenSize"
android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
diff --git a/aconfig/Android.bp b/aconfig/Android.bp
index f485869..de6d0af 100644
--- a/aconfig/Android.bp
+++ b/aconfig/Android.bp
@@ -6,17 +6,7 @@
name: "aconfig_settings_flags",
package: "com.android.settings.flags",
srcs: [
- "settings_accessibility_flag_declarations.aconfig",
- "settings_connecteddevice_flag_declarations.aconfig",
- "settings_development_flag_declarations.aconfig",
- "settings_globalintl_flag_declarations.aconfig",
- "settings_experience_flag_declarations.aconfig",
- "settings_notification_flag_declarations.aconfig",
- "settings_onboarding_experience_flag_declarations.aconfig",
- "settings_telephony_flag_declarations.aconfig",
- "settings_biometrics_integration_declarations.aconfig",
- "settings_voice_activation_apps_flag_declarations.aconfig",
- "settings_biometrics_framework_flag_declarations.aconfig",
+ "*.aconfig",
],
}
@@ -35,3 +25,25 @@
name: "factory_reset_flags_lib",
aconfig_declarations: "factory_reset_flags",
}
+
+aconfig_declarations {
+ name: "media_drm_flags",
+ package: "com.android.settings.media_drm",
+ srcs: ["media_drm/*.aconfig"],
+}
+
+java_aconfig_library {
+ name: "MediaDrmSettingsFlagsLib",
+ aconfig_declarations: "media_drm_flags",
+}
+
+aconfig_declarations {
+ name: "accessibility_flags",
+ package: "com.android.settings.accessibility",
+ srcs: ["accessibility/*.aconfig"],
+}
+
+java_aconfig_library {
+ name: "accessibility_settings_flags_lib",
+ aconfig_declarations: "accessibility_flags",
+}
diff --git a/aconfig/accessibility/OWNERS b/aconfig/accessibility/OWNERS
new file mode 100644
index 0000000..7a76c21
--- /dev/null
+++ b/aconfig/accessibility/OWNERS
@@ -0,0 +1 @@
+include /src/com/android/settings/accessibility/OWNERS
diff --git a/aconfig/accessibility/accessibility_flags.aconfig b/aconfig/accessibility/accessibility_flags.aconfig
new file mode 100644
index 0000000..7f1f909
--- /dev/null
+++ b/aconfig/accessibility/accessibility_flags.aconfig
@@ -0,0 +1,10 @@
+package: "com.android.settings.accessibility"
+
+# NOTE: Keep alphabetized to help limit merge conflicts from multiple simultaneous editors.
+
+flag {
+ name: "remove_qs_tooltip_in_suw"
+ namespace: "accessibility"
+ description: "Don't show quick settings tooltip in SUW, since the user can't use quick settings there."
+ bug: "294560581"
+}
\ No newline at end of file
diff --git a/aconfig/media_drm/settings_mediadrm_flag_declarations.aconfig b/aconfig/media_drm/settings_mediadrm_flag_declarations.aconfig
new file mode 100644
index 0000000..06d75f1
--- /dev/null
+++ b/aconfig/media_drm/settings_mediadrm_flag_declarations.aconfig
@@ -0,0 +1,8 @@
+package: "com.android.settings.media_drm"
+
+flag {
+ name: "force_l3_enabled"
+ namespace: "media_drm"
+ description: "Feature flag of forcing L3"
+ bug: "301669353"
+}
\ No newline at end of file
diff --git a/aconfig/settings_accessibility_flag_declarations.aconfig b/aconfig/settings_accessibility_flag_declarations_legacy.aconfig
similarity index 86%
rename from aconfig/settings_accessibility_flag_declarations.aconfig
rename to aconfig/settings_accessibility_flag_declarations_legacy.aconfig
index 246f983..acdce96 100644
--- a/aconfig/settings_accessibility_flag_declarations.aconfig
+++ b/aconfig/settings_accessibility_flag_declarations_legacy.aconfig
@@ -1,5 +1,8 @@
package: "com.android.settings.flags"
+# NOTE: Don't add new accessibility flags here, since the package name doesn't follow
+# the best practice for setting's feature flag go/settings-trunk-stable
+
# NOTE: Keep alphabetized to help limit merge conflicts from multiple simultaneous editors.
# NOTE: All Settings flags share the same Flags class, so prefix our
diff --git a/aconfig/settings_flag_declarations.aconfig b/aconfig/settings_flag_declarations.aconfig
new file mode 100644
index 0000000..56c4b32
--- /dev/null
+++ b/aconfig/settings_flag_declarations.aconfig
@@ -0,0 +1,15 @@
+package: "com.android.settings.flags"
+
+flag {
+ name: "show_factory_reset_cancel_button"
+ namespace: "android_settings"
+ description: "This flag controls whether to show a Cancel button when factory reset"
+ bug: "300634367"
+}
+
+flag {
+ name: "mainline_module_explicit_intent"
+ namespace: "android_settings"
+ description: "Enabling will provide an explicit package name for Intent to update mainline modules"
+ bug: "278987474"
+}
diff --git a/aconfig/settings_panel_flag_declarations.aconfig b/aconfig/settings_panel_flag_declarations.aconfig
new file mode 100644
index 0000000..10eb655
--- /dev/null
+++ b/aconfig/settings_panel_flag_declarations.aconfig
@@ -0,0 +1,8 @@
+package: "com.android.settings.flags"
+
+flag {
+ name: "enable_volume_plus_quick_settings"
+ namespace: "pixel_cross_device_control"
+ description: "Gates whether to enable VolumePlus quick settings panel."
+ bug: "309052662"
+}
diff --git a/color-check-baseline.xml b/color-check-baseline.xml
index 7a5e80d..5a0e98e 100644
--- a/color-check-baseline.xml
+++ b/color-check-baseline.xml
@@ -2,18 +2,6 @@
<issues format="4">
<issue
- id="LintError"
- severity="Error"
- message="No `.class` files were found in project ".", so none of the classfile based checks could be run. Does the project need to be built first?"
- category="Lint"
- priority="10"
- summary="Lint Failure"
- explanation="This issue type represents a problem running lint itself. Examples include failure to find bytecode for source files (which means certain detectors could not be run), parsing errors in lint configuration files, etc.
These errors are not errors in your own code, but they are shown to make it clear that some checks were not completed.">
- <location
- file="."/>
- </issue>
-
- <issue
id="HardCodedColor"
severity="Error"
message="Avoid using hardcoded color"
@@ -661,12 +649,12 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" android:color="@color/notification_importance_button_unselected"/>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" android:textColor="@color/power_anomaly_primary_button_text_color""
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
- file="res/drawable/button_border_unselected.xml"
- line="21"
- column="9"/>
+ file="res/layout/battery_tips_card.xml"
+ line="57"
+ column="13"/>
</issue>
<issue
@@ -677,12 +665,12 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" android:color="@color/notification_importance_button_unselected"/>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" android:textColor="@color/power_anomaly_primary_button_text_color""
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
- file="res/drawable/button_border_unselected.xml"
- line="21"
- column="9"/>
+ file="res/layout/battery_tips_card.xml"
+ line="57"
+ column="13"/>
</issue>
<issue
@@ -693,8 +681,8 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="switchbar_switch_track_tint">#82000000</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="homepage_accessibility_background">#783BE5</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values-night/colors.xml"
line="19"
@@ -709,6 +697,22 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+ errorLine1=" <color name="homepage_support_background">#3F5FBD</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="res/values-night/colors.xml"
+ line="20"
+ column="5"/>
+ </issue>
+
+ <issue
+ id="HardCodedColor"
+ severity="Error"
+ message="Avoid using hardcoded color"
+ category="Correctness"
+ priority="4"
+ summary="Using hardcoded color"
+ explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
errorLine1=" <color name="setup_wizard_wifi_color_dark">#89ffffff</color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -725,22 +729,6 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="homepage_accessibility_background">#783BE5</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="res/values-night/colors.xml"
- line="21"
- column="5"/>
- </issue>
-
- <issue
- id="HardCodedColor"
- severity="Error"
- message="Avoid using hardcoded color"
- category="Correctness"
- priority="4"
- summary="Using hardcoded color"
- explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
errorLine1=" <color name="setup_wizard_wifi_color_light">#89000000</color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -757,11 +745,11 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="homepage_support_background">#3F5FBD</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="notification_importance_button_unselected">#5F6368</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values-night/colors.xml"
- line="22"
+ line="23"
column="5"/>
</issue>
@@ -805,22 +793,6 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="notification_importance_button_unselected">#5F6368</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="res/values-night/colors.xml"
- line="25"
- column="5"/>
- </issue>
-
- <issue
- id="HardCodedColor"
- severity="Error"
- message="Avoid using hardcoded color"
- category="Correctness"
- priority="4"
- summary="Using hardcoded color"
- explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
errorLine1=" <color name="icon_accent">#ffabffec</color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -917,6 +889,22 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+ errorLine1=" <color name="settings_dialog_colorError">#f28b82</color> <!-- Red 300 -->"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="res/values-night/colors.xml"
+ line="38"
+ column="5"/>
+ </issue>
+
+ <issue
+ id="HardCodedColor"
+ severity="Error"
+ message="Avoid using hardcoded color"
+ category="Correctness"
+ priority="4"
+ summary="Using hardcoded color"
+ explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
errorLine1=" <color name="timestamp_text_outgoing">#99323232</color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -949,10 +937,10 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="settings_dialog_colorError">#f28b82</color> <!-- Red 300 -->"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="message_bubble_incoming">#52534D</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
- file="res/values-night/colors.xml"
+ file="res/values/colors.xml"
line="40"
column="5"/>
</issue>
@@ -965,11 +953,11 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="message_bubble_incoming">#52534D</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="biometric_enroll_intro_color_bar">#5bb974</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
- file="res/values/colors.xml"
- line="40"
+ file="res/values-night/colors.xml"
+ line="41"
column="5"/>
</issue>
@@ -997,6 +985,22 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+ errorLine1=" <color name="biometric_enroll_intro_color_icon">#669df6</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="res/values-night/colors.xml"
+ line="42"
+ column="5"/>
+ </issue>
+
+ <issue
+ id="HardCodedColor"
+ severity="Error"
+ message="Avoid using hardcoded color"
+ category="Correctness"
+ priority="4"
+ summary="Using hardcoded color"
+ explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
errorLine1=" <color name="message_icon_background_incoming">#E6F451</color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -1013,8 +1017,8 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="biometric_enroll_intro_color_bar">#5bb974</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="biometric_enroll_intro_color_outline">#5e5e5e</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values-night/colors.xml"
line="43"
@@ -1045,8 +1049,8 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="biometric_enroll_intro_color_icon">#669df6</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="fingerprint_enrollment_finish_color_outline">#669df6</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values-night/colors.xml"
line="44"
@@ -1077,38 +1081,6 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="biometric_enroll_intro_color_outline">#5e5e5e</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="res/values-night/colors.xml"
- line="45"
- column="5"/>
- </issue>
-
- <issue
- id="HardCodedColor"
- severity="Error"
- message="Avoid using hardcoded color"
- category="Correctness"
- priority="4"
- summary="Using hardcoded color"
- explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="fingerprint_enrollment_finish_color_outline">#669df6</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="res/values-night/colors.xml"
- line="46"
- column="5"/>
- </issue>
-
- <issue
- id="HardCodedColor"
- severity="Error"
- message="Avoid using hardcoded color"
- category="Correctness"
- priority="4"
- summary="Using hardcoded color"
- explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
errorLine1=" <color name="usage_graph_dots">#B0BEC5</color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -1129,6 +1101,38 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values-night/colors.xml"
+ line="47"
+ column="5"/>
+ </issue>
+
+ <issue
+ id="HardCodedColor"
+ severity="Error"
+ message="Avoid using hardcoded color"
+ category="Correctness"
+ priority="4"
+ summary="Using hardcoded color"
+ explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+ errorLine1=" <color name="sfps_enrollment_fp_error_color">#fad2cf</color> <!-- Red 100 -->"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="res/values-night/colors.xml"
+ line="48"
+ column="5"/>
+ </issue>
+
+ <issue
+ id="HardCodedColor"
+ severity="Error"
+ message="Avoid using hardcoded color"
+ category="Correctness"
+ priority="4"
+ summary="Using hardcoded color"
+ explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+ errorLine1=" <color name="sfps_enrollment_progress_bar_bg_color">#3C4043</color> <!-- Gray 800 -->"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="res/values-night/colors.xml"
line="49"
column="5"/>
</issue>
@@ -1157,8 +1161,8 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="sfps_enrollment_fp_error_color">#fad2cf</color> <!-- Red 100 -->"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="sfps_enrollment_progress_bar_fill_color">#669df6</color> <!-- Blue 400 -->"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values-night/colors.xml"
line="50"
@@ -1173,8 +1177,8 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="sfps_enrollment_progress_bar_bg_color">#3C4043</color> <!-- Gray 800 -->"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="sfps_enrollment_progress_bar_error_color">#ee675c</color> <!-- Red 400 -->"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values-night/colors.xml"
line="51"
@@ -1189,22 +1193,6 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="sfps_enrollment_progress_bar_fill_color">#669df6</color> <!-- Blue 400 -->"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="res/values-night/colors.xml"
- line="52"
- column="5"/>
- </issue>
-
- <issue
- id="HardCodedColor"
- severity="Error"
- message="Avoid using hardcoded color"
- category="Correctness"
- priority="4"
- summary="Using hardcoded color"
- explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
errorLine1=" <color name="shortcut_background">#fff5f5f5</color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -1221,22 +1209,6 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="sfps_enrollment_progress_bar_error_color">#ee675c</color> <!-- Red 400 -->"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="res/values-night/colors.xml"
- line="53"
- column="5"/>
- </issue>
-
- <issue
- id="HardCodedColor"
- severity="Error"
- message="Avoid using hardcoded color"
- category="Correctness"
- priority="4"
- summary="Using hardcoded color"
- explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
errorLine1=" <color name="homepage_network_background">#2196F3</color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -1317,6 +1289,22 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+ errorLine1=" <color name="power_anomaly_app_warning_hint_color">#FDD663</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="res/values-night/colors.xml"
+ line="60"
+ column="5"/>
+ </issue>
+
+ <issue
+ id="HardCodedColor"
+ severity="Error"
+ message="Avoid using hardcoded color"
+ category="Correctness"
+ priority="4"
+ summary="Using hardcoded color"
+ explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
errorLine1=" <color name="homepage_sound_background">#01B1AF</color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -1333,6 +1321,22 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+ errorLine1=" <color name="power_anomaly_primary_button_text_color">#2E3300</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="res/values-night/colors.xml"
+ line="61"
+ column="5"/>
+ </issue>
+
+ <issue
+ id="HardCodedColor"
+ severity="Error"
+ message="Avoid using hardcoded color"
+ category="Correctness"
+ priority="4"
+ summary="Using hardcoded color"
+ explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
errorLine1=" <color name="homepage_storage_background">#C14CE6</color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -1365,22 +1369,6 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="udfps_enroll_icon">#7DA7F1</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="res/values-night/colors.xml"
- line="63"
- column="5"/>
- </issue>
-
- <issue
- id="HardCodedColor"
- severity="Error"
- message="Avoid using hardcoded color"
- category="Correctness"
- priority="4"
- summary="Using hardcoded color"
- explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
errorLine1=" <color name="homepage_accounts_background">#F15B8D</color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
@@ -1397,8 +1385,8 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="udfps_moving_target_fill">#475670</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="udfps_enroll_icon">#7DA7F1</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values-night/colors.xml"
line="64"
@@ -1429,10 +1417,10 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="homepage_system_background">#9E9E9E</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="udfps_moving_target_fill">#475670</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
- file="res/values/colors.xml"
+ file="res/values-night/colors.xml"
line="65"
column="5"/>
</issue>
@@ -1445,11 +1433,11 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="udfps_moving_target_fill_error">#80475670</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="homepage_system_background">#9E9E9E</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
- file="res/values-night/colors.xml"
- line="66"
+ file="res/values/colors.xml"
+ line="65"
column="5"/>
</issue>
@@ -1477,8 +1465,8 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="udfps_enroll_progress">#7DA7F1</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="udfps_moving_target_fill_error">#80475670</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values-night/colors.xml"
line="67"
@@ -1509,8 +1497,8 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="udfps_enroll_progress_help">#607DA7F1</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="udfps_enroll_progress">#7DA7F1</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values-night/colors.xml"
line="68"
@@ -1541,8 +1529,8 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="udfps_enroll_progress_help_with_talkback">#FFEE675C</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" <color name="udfps_enroll_progress_help">#607DA7F1</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values-night/colors.xml"
line="69"
@@ -1573,43 +1561,27 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+ errorLine1=" <color name="udfps_enroll_progress_help_with_talkback">#FFEE675C</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="res/values-night/colors.xml"
+ line="70"
+ column="5"/>
+ </issue>
+
+ <issue
+ id="HardCodedColor"
+ severity="Error"
+ message="Avoid using hardcoded color"
+ category="Correctness"
+ priority="4"
+ summary="Using hardcoded color"
+ explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
errorLine1=" <color name="screen_flash_color_button_outer_circle_stroke_color">#FFFFFF</color>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values-night/colors.xml"
- line="73"
- column="5"/>
- </issue>
-
- <issue
- id="HardCodedColor"
- severity="Error"
- message="Avoid using hardcoded color"
- category="Correctness"
- priority="4"
- summary="Using hardcoded color"
- explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="switch_bar_state_disabled_color">#1FE3E3E3</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="res/values-night/colors.xml"
- line="76"
- column="5"/>
- </issue>
-
- <issue
- id="HardCodedColor"
- severity="Error"
- message="Avoid using hardcoded color"
- category="Correctness"
- priority="4"
- summary="Using hardcoded color"
- explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <color name="switchbar_switch_track_tint">#BFFFFFFF</color>"
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
- <location
- file="res/values/colors.xml"
- line="76"
+ line="74"
column="5"/>
</issue>
@@ -1625,7 +1597,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="79"
+ line="75"
column="5"/>
</issue>
@@ -1641,7 +1613,23 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="80"
+ line="76"
+ column="5"/>
+ </issue>
+
+ <issue
+ id="HardCodedColor"
+ severity="Error"
+ message="Avoid using hardcoded color"
+ category="Correctness"
+ priority="4"
+ summary="Using hardcoded color"
+ explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+ errorLine1=" <color name="switch_bar_state_disabled_color">#1FE3E3E3</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="res/values-night/colors.xml"
+ line="77"
column="5"/>
</issue>
@@ -1657,7 +1645,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="83"
+ line="79"
column="5"/>
</issue>
@@ -1673,7 +1661,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="84"
+ line="80"
column="5"/>
</issue>
@@ -1689,7 +1677,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="85"
+ line="81"
column="5"/>
</issue>
@@ -1705,7 +1693,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="86"
+ line="82"
column="5"/>
</issue>
@@ -1721,7 +1709,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="87"
+ line="83"
column="5"/>
</issue>
@@ -1737,7 +1725,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="90"
+ line="86"
column="5"/>
</issue>
@@ -1753,7 +1741,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="91"
+ line="87"
column="5"/>
</issue>
@@ -1769,7 +1757,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="92"
+ line="88"
column="5"/>
</issue>
@@ -1785,7 +1773,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="95"
+ line="91"
column="5"/>
</issue>
@@ -1801,7 +1789,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="103"
+ line="99"
column="5"/>
</issue>
@@ -1817,7 +1805,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="105"
+ line="101"
column="5"/>
</issue>
@@ -1833,7 +1821,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="109"
+ line="105"
column="5"/>
</issue>
@@ -1849,7 +1837,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="110"
+ line="106"
column="5"/>
</issue>
@@ -1865,7 +1853,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="111"
+ line="107"
column="5"/>
</issue>
@@ -1881,7 +1869,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="112"
+ line="108"
column="5"/>
</issue>
@@ -1897,7 +1885,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="113"
+ line="109"
column="5"/>
</issue>
@@ -1913,7 +1901,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="114"
+ line="110"
column="5"/>
</issue>
@@ -1929,7 +1917,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="115"
+ line="111"
column="5"/>
</issue>
@@ -1945,7 +1933,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="116"
+ line="112"
column="5"/>
</issue>
@@ -1961,7 +1949,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="119"
+ line="115"
column="5"/>
</issue>
@@ -1977,7 +1965,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="120"
+ line="116"
column="5"/>
</issue>
@@ -1993,7 +1981,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="121"
+ line="117"
column="5"/>
</issue>
@@ -2009,7 +1997,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="122"
+ line="118"
column="5"/>
</issue>
@@ -2025,7 +2013,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="123"
+ line="119"
column="5"/>
</issue>
@@ -2041,7 +2029,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="124"
+ line="120"
column="5"/>
</issue>
@@ -2057,7 +2045,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="125"
+ line="121"
column="5"/>
</issue>
@@ -2073,7 +2061,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="126"
+ line="122"
column="5"/>
</issue>
@@ -2089,7 +2077,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="129"
+ line="125"
column="5"/>
</issue>
@@ -2105,7 +2093,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="130"
+ line="126"
column="5"/>
</issue>
@@ -2121,7 +2109,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="131"
+ line="127"
column="5"/>
</issue>
@@ -2137,7 +2125,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="132"
+ line="128"
column="5"/>
</issue>
@@ -2153,7 +2141,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="133"
+ line="129"
column="5"/>
</issue>
@@ -2169,7 +2157,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="134"
+ line="130"
column="5"/>
</issue>
@@ -2185,7 +2173,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="137"
+ line="133"
column="5"/>
</issue>
@@ -2201,7 +2189,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="138"
+ line="134"
column="5"/>
</issue>
@@ -2217,7 +2205,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="139"
+ line="135"
column="5"/>
</issue>
@@ -2233,7 +2221,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="140"
+ line="136"
column="5"/>
</issue>
@@ -2249,7 +2237,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="141"
+ line="137"
column="5"/>
</issue>
@@ -2265,7 +2253,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="142"
+ line="138"
column="5"/>
</issue>
@@ -2281,7 +2269,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="145"
+ line="141"
column="5"/>
</issue>
@@ -2297,7 +2285,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="146"
+ line="142"
column="5"/>
</issue>
@@ -2313,7 +2301,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="147"
+ line="143"
column="5"/>
</issue>
@@ -2329,7 +2317,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="148"
+ line="144"
column="5"/>
</issue>
@@ -2345,7 +2333,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="150"
+ line="146"
column="5"/>
</issue>
@@ -2361,7 +2349,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="152"
+ line="148"
column="5"/>
</issue>
@@ -2377,7 +2365,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="155"
+ line="151"
column="5"/>
</issue>
@@ -2393,7 +2381,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="158"
+ line="154"
column="5"/>
</issue>
@@ -2409,7 +2397,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="159"
+ line="155"
column="5"/>
</issue>
@@ -2425,7 +2413,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="160"
+ line="156"
column="5"/>
</issue>
@@ -2441,7 +2429,7 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="161"
+ line="157"
column="5"/>
</issue>
@@ -2457,7 +2445,39 @@
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/values/colors.xml"
- line="162"
+ line="158"
+ column="5"/>
+ </issue>
+
+ <issue
+ id="HardCodedColor"
+ severity="Error"
+ message="Avoid using hardcoded color"
+ category="Correctness"
+ priority="4"
+ summary="Using hardcoded color"
+ explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+ errorLine1=" <color name="power_anomaly_app_warning_hint_color">#D56E0C</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="res/values/colors.xml"
+ line="173"
+ column="5"/>
+ </issue>
+
+ <issue
+ id="HardCodedColor"
+ severity="Error"
+ message="Avoid using hardcoded color"
+ category="Correctness"
+ priority="4"
+ summary="Using hardcoded color"
+ explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+ errorLine1=" <color name="power_anomaly_primary_button_text_color">#FFFFFF</color>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="res/values/colors.xml"
+ line="174"
column="5"/>
</issue>
@@ -4581,12 +4601,12 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" android:tint="#4F8438""
- errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ errorLine1=" android:tint="#4F8438""
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
<location
file="res/layout/locale_dialog.xml"
- line="36"
- column="13"/>
+ line="45"
+ column="17"/>
</issue>
<issue
@@ -6105,7 +6125,7 @@
errorLine2=" ^">
<location
file="res/values/styles.xml"
- line="930"
+ line="944"
column="43"/>
</issue>
@@ -6121,7 +6141,7 @@
errorLine2=" ^">
<location
file="res/values/styles.xml"
- line="930"
+ line="944"
column="43"/>
</issue>
@@ -6137,7 +6157,7 @@
errorLine2=" ^">
<location
file="res/values/styles.xml"
- line="931"
+ line="945"
column="49"/>
</issue>
@@ -6153,7 +6173,7 @@
errorLine2=" ^">
<location
file="res/values/styles.xml"
- line="931"
+ line="945"
column="49"/>
</issue>
@@ -6169,7 +6189,7 @@
errorLine2=" ^">
<location
file="res/values/styles.xml"
- line="932"
+ line="946"
column="54"/>
</issue>
@@ -6185,7 +6205,7 @@
errorLine2=" ^">
<location
file="res/values/styles.xml"
- line="932"
+ line="946"
column="54"/>
</issue>
@@ -6201,7 +6221,7 @@
errorLine2=" ^">
<location
file="res/values/styles.xml"
- line="933"
+ line="947"
column="47"/>
</issue>
@@ -6217,7 +6237,7 @@
errorLine2=" ^">
<location
file="res/values/styles.xml"
- line="933"
+ line="947"
column="47"/>
</issue>
@@ -6233,7 +6253,7 @@
errorLine2=" ^">
<location
file="res/values/styles.xml"
- line="934"
+ line="948"
column="51"/>
</issue>
@@ -6249,7 +6269,7 @@
errorLine2=" ^">
<location
file="res/values/styles.xml"
- line="934"
+ line="948"
column="51"/>
</issue>
@@ -6265,7 +6285,7 @@
errorLine2=" ^">
<location
file="res/values/styles.xml"
- line="935"
+ line="949"
column="63"/>
</issue>
@@ -6281,7 +6301,7 @@
errorLine2=" ^">
<location
file="res/values/styles.xml"
- line="935"
+ line="949"
column="63"/>
</issue>
@@ -6357,43 +6377,11 @@
priority="4"
summary="Using hardcoded color"
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <item name="android:trackTint">@color/switchbar_switch_track_tint</item>"
- errorLine2=" ^">
- <location
- file="res/values/themes.xml"
- line="115"
- column="40"/>
- </issue>
-
- <issue
- id="HardCodedColor"
- severity="Error"
- message="Avoid using hardcoded color"
- category="Correctness"
- priority="4"
- summary="Using hardcoded color"
- explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
- errorLine1=" <item name="android:trackTint">@color/switchbar_switch_track_tint</item>"
- errorLine2=" ^">
- <location
- file="res/values/themes.xml"
- line="115"
- column="40"/>
- </issue>
-
- <issue
- id="HardCodedColor"
- severity="Error"
- message="Avoid using hardcoded color"
- category="Correctness"
- priority="4"
- summary="Using hardcoded color"
- explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
errorLine1=" <item name="android:colorError">@color/settings_dialog_colorError</item>"
errorLine2=" ^">
<location
file="res/values/themes.xml"
- line="127"
+ line="119"
column="41"/>
</issue>
@@ -6409,7 +6397,7 @@
errorLine2=" ^">
<location
file="res/values/themes.xml"
- line="127"
+ line="119"
column="41"/>
</issue>
@@ -6425,7 +6413,7 @@
errorLine2=" ^">
<location
file="res/values/themes.xml"
- line="174"
+ line="168"
column="45"/>
</issue>
@@ -6441,7 +6429,7 @@
errorLine2=" ^">
<location
file="res/values/themes.xml"
- line="175"
+ line="169"
column="49"/>
</issue>
@@ -6457,7 +6445,7 @@
errorLine2=" ^">
<location
file="res/values/themes.xml"
- line="183"
+ line="177"
column="45"/>
</issue>
@@ -6473,7 +6461,7 @@
errorLine2=" ^">
<location
file="res/values/themes.xml"
- line="184"
+ line="178"
column="49"/>
</issue>
diff --git a/res/color/color_battery_anomaly_yellow_selector.xml b/res/color/color_battery_anomaly_app_warning_selector.xml
similarity index 90%
rename from res/color/color_battery_anomaly_yellow_selector.xml
rename to res/color/color_battery_anomaly_app_warning_selector.xml
index 0dd79c2..4ad78e6 100644
--- a/res/color/color_battery_anomaly_yellow_selector.xml
+++ b/res/color/color_battery_anomaly_app_warning_selector.xml
@@ -14,5 +14,5 @@
limitations under the License.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:color="@color/palette_list_color_yellow"/>
+ <item android:color="@color/power_anomaly_app_warning_hint_color"/>
</selector>
diff --git a/res/drawable/accessibility_text_reading_preview.xml b/res/drawable/accessibility_text_reading_preview.xml
index 040ccdf..1c9e752 100644
--- a/res/drawable/accessibility_text_reading_preview.xml
+++ b/res/drawable/accessibility_text_reading_preview.xml
@@ -20,5 +20,5 @@
android:shape="rectangle">
<corners android:radius="28dp" />
- <solid android:color="?androidprv:attr/materialColorSurfaceContainer" />
+ <solid android:color="@color/accessibility_text_reading_background" />
</shape>
diff --git a/res/drawable/ic_battery_tips_lightbulb.xml b/res/drawable/ic_battery_tips_lightbulb.xml
index 6fffefc..19b6ab8 100644
--- a/res/drawable/ic_battery_tips_lightbulb.xml
+++ b/res/drawable/ic_battery_tips_lightbulb.xml
@@ -17,9 +17,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
+ android:viewportWidth="960"
+ android:viewportHeight="960">
<path
android:fillColor="@color/color_accent_selector"
- android:pathData="M7,20h4c0,1.1 -0.9,2 -2,2S7,21.1 7,20zM5,19h8v-2H5V19zM16.5,9.5c0,3.82 -2.66,5.86 -3.77,6.5H5.27C4.16,15.36 1.5,13.32 1.5,9.5C1.5,5.36 4.86,2 9,2S16.5,5.36 16.5,9.5zM14.5,9.5C14.5,6.47 12.03,4 9,4S3.5,6.47 3.5,9.5c0,2.47 1.49,3.89 2.35,4.5h6.3C13.01,13.39 14.5,11.97 14.5,9.5zM21.37,7.37L20,8l1.37,0.63L22,10l0.63,-1.37L24,8l-1.37,-0.63L22,6L21.37,7.37zM19,6l0.94,-2.06L22,3l-2.06,-0.94L19,0l-0.94,2.06L16,3l2.06,0.94L19,6z"/>
+ android:pathData="M176,680Q114,643 77,580Q40,517 40,440Q40,323 121.5,241.5Q203,160 320,160Q437,160 518.5,241.5Q600,323 600,440Q600,517 563,580Q526,643 464,680L176,680ZM200,600L440,600Q478,571 499,529.5Q520,488 520,440Q520,357 461.5,298.5Q403,240 320,240Q237,240 178.5,298.5Q120,357 120,440Q120,488 141,529.5Q162,571 200,600ZM176,800L176,720L464,720L464,800L176,800ZM320,920Q287,920 263.5,896.5Q240,873 240,840L400,840Q400,873 376.5,896.5Q353,920 320,920ZM740,401Q740,326 687,273Q634,220 559,220Q634,220 687,167.5Q740,115 740,40Q740,115 792.5,167.5Q845,220 920,220Q845,220 792.5,273Q740,326 740,401ZM320,600Q320,600 320,600Q320,600 320,600Q320,600 320,600Q320,600 320,600Q320,600 320,600Q320,600 320,600Q320,600 320,600Q320,600 320,600L320,600Z"/>
</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_battery_tips_warning_icon.xml b/res/drawable/ic_battery_tips_warning_icon.xml
index c5df8a8..0dcfa6d 100644
--- a/res/drawable/ic_battery_tips_warning_icon.xml
+++ b/res/drawable/ic_battery_tips_warning_icon.xml
@@ -17,9 +17,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
+ android:viewportWidth="960"
+ android:viewportHeight="960">
<path
- android:fillColor="@color/color_battery_anomaly_yellow_selector"
- android:pathData="M1,21h22L12,2 1,21zM13,18h-2v-2h2v2zM13,14h-2v-4h2v4z"/>
+ android:fillColor="@color/color_battery_anomaly_app_warning_selector"
+ android:pathData="M40,840L480,80L920,840L40,840ZM178,760L782,760L480,240L178,760ZM480,720Q497,720 508.5,708.5Q520,697 520,680Q520,663 508.5,651.5Q497,640 480,640Q463,640 451.5,651.5Q440,663 440,680Q440,697 451.5,708.5Q463,720 480,720ZM440,600L520,600L520,400L440,400L440,600ZM480,500L480,500L480,500L480,500Z"/>
</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_calls_sms.xml b/res/drawable/ic_calls_sms.xml
deleted file mode 100644
index 2033e8f..0000000
--- a/res/drawable/ic_calls_sms.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<!--
- Copyright (C) 2020 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
- android:width="24dp"
- android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24"
- android:tint="?android:attr/colorControlNormal"
- >
-
- <path
- android:pathData="M 0 0 H 24 V 24 H 0 V 0 Z" />
- <path
- android:fillColor="#FF000000"
- android:pathData="M20.17,14.85l-3.26-0.65c-0.33-0.07-0.67,0.04-0.9,0.27l-2.62,2.62c-2.75-1.49-5.01-3.75-6.5-6.5l2.62-2.62 c0.24-0.24,0.34-0.58,0.27-0.9L9.13,3.82c-0.09-0.47-0.5-0.8-0.98-0.8H4c-0.56,0-1.03,0.47-1,1.03c0.17,2.91,1.04,5.63,2.43,8.01 c1.57,2.69,3.81,4.93,6.5,6.5c2.38,1.39,5.1,2.26,8.01,2.43c0.56,0.03,1.03-0.44,1.03-1v-4.15C20.97,15.36,20.64,14.95,20.17,14.85 L20.17,14.85z M12,3v10l3-3h6V3H12z M19,8h-5V5h5V8z" />
-</vector>
diff --git a/res/drawable/ic_settings_force_stop.xml b/res/drawable/ic_settings_force_stop.xml
index eda6079..4385b3e 100644
--- a/res/drawable/ic_settings_force_stop.xml
+++ b/res/drawable/ic_settings_force_stop.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2018 The Android Open Source Project
+ 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.
@@ -17,15 +17,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
- android:viewportWidth="24"
- android:viewportHeight="24">
+ android:viewportWidth="960"
+ android:viewportHeight="960">
<path
android:fillColor="#FF000000"
- android:pathData="M12,5.99L19.53,19H4.47L12,5.99M12,2L1,21h22L12,2L12,2z"/>
- <path
- android:fillColor="#FF000000"
- android:pathData="M13,16l-2,0l0,2l2,0l0,-2z"/>
- <path
- android:fillColor="#FF000000"
- android:pathData="M13,10l-2,0l0,4l2,0l0,-4z"/>
+ android:pathData="M480,680Q497,680 508.5,668.5Q520,657 520,640Q520,623 508.5,611.5Q497,600 480,600Q463,600 451.5,611.5Q440,623 440,640Q440,657 451.5,668.5Q463,680 480,680ZM440,520L520,520L520,280L440,280L440,520ZM330,840L120,630L120,330L330,120L630,120L840,330L840,630L630,840L330,840ZM364,760L596,760L760,596L760,364L596,200L364,200L200,364L200,596L364,760ZM480,480L480,480L480,480L480,480L480,480L480,480L480,480L480,480L480,480Z" />
</vector>
diff --git a/res/layout-v34/settingslib_main_switch_bar.xml b/res/layout-v34/settingslib_main_switch_bar.xml
new file mode 100644
index 0000000..3a44d2a
--- /dev/null
+++ b/res/layout-v34/settingslib_main_switch_bar.xml
@@ -0,0 +1,63 @@
+<?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.
+ -->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingTop="@dimen/settingslib_switchbar_margin"
+ android:paddingBottom="@dimen/settingslib_switchbar_margin"
+ android:orientation="vertical">
+
+ <LinearLayout
+ android:id="@+id/frame"
+ android:minHeight="@dimen/settingslib_min_switch_bar_height"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:paddingStart="@dimen/settingslib_switchbar_padding_left"
+ android:paddingEnd="@dimen/settingslib_switchbar_padding_right"
+ android:background="@drawable/settingslib_switch_bar_bg">
+
+ <TextView
+ android:id="@+id/switch_text"
+ android:layout_height="wrap_content"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_marginEnd="@dimen/settingslib_switch_title_margin"
+ android:layout_marginVertical="@dimen/settingslib_switch_title_margin"
+ android:layout_gravity="center_vertical"
+ android:ellipsize="end"
+ android:textAppearance="?android:attr/textAppearanceListItem"
+ android:hyphenationFrequency="normalFast"
+ android:lineBreakWordStyle="phrase"
+ style="@style/MainSwitchText.Settingslib" />
+
+ <com.google.android.material.materialswitch.MaterialSwitch
+ android:id="@android:id/switch_widget"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:background="@null"
+ android:clickable="false"
+ android:focusable="false"
+ android:theme="@style/Theme.Material3.DynamicColors.DayNight" />
+ </LinearLayout>
+
+</LinearLayout>
diff --git a/res/layout/accessibility_text_reading_preview.xml b/res/layout/accessibility_text_reading_preview.xml
index f76bb1c..95ea2e4 100644
--- a/res/layout/accessibility_text_reading_preview.xml
+++ b/res/layout/accessibility_text_reading_preview.xml
@@ -19,17 +19,17 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="@dimen/settingslib_illustration_padding"
- android:paddingEnd="@dimen/text_reading_preview_padding_end"
- android:paddingStart="@dimen/text_reading_preview_padding_start">
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart">
<LinearLayout
+ android:id="@+id/preview_background"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/accessibility_text_reading_preview"
android:clipChildren="true"
android:orientation="vertical"
- android:paddingVertical="@dimen/text_reading_preview_background_padding_vertical"
- android:paddingHorizontal="@dimen/text_reading_preview_background_padding_horizontal">
+ android:padding="18dp">
<TextView
android:id="@+id/preview_label"
diff --git a/res/layout/battery_tips_card.xml b/res/layout/battery_tips_card.xml
index c9a00bc..1a121ba 100644
--- a/res/layout/battery_tips_card.xml
+++ b/res/layout/battery_tips_card.xml
@@ -4,109 +4,58 @@
android:id="@+id/battery_tips_card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginStart="?android:attr/listPreferredItemPaddingStart"
+ android:layout_marginEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:background="@drawable/battery_tips_all_rounded_bg_ripple"
android:orientation="vertical"
- android:paddingStart="?android:attr/listPreferredItemPaddingStart"
- android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+ android:padding="20dp">
- <LinearLayout
- android:id="@+id/tips_card"
+ <ImageView
+ android:id="@+id/icon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical|start"
+ android:contentDescription="@string/battery_usage_anomaly_content_description"
+ android:src="@drawable/ic_battery_tips_lightbulb" />
+
+ <TextView
+ android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@drawable/battery_tips_all_rounded_bg_ripple"
- android:orientation="vertical"
- android:padding="24dp">
-
- <ImageView
- android:id="@+id/icon"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical|start"
- android:src="@drawable/ic_battery_tips_lightbulb" />
-
- <TextView
- android:id="@+id/title"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:textAlignment="viewStart"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:textColor="?android:attr/textColorPrimary" />
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:layout_marginTop="8dp"
- android:gravity="end">
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/dismiss_button"
- style="@style/Widget.Material3.Button.TextButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="end|center_vertical"
- android:paddingHorizontal="16dp"
- android:layout_marginEnd="8dp"
- android:text="@string/battery_tips_card_dismiss_button"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?android:attr/textColorPrimary" />
-
- <com.google.android.material.button.MaterialButton
- android:id="@+id/main_button"
- style="@style/Widget.Material3.Button.OutlinedButton"
- android:paddingHorizontal="16dp"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="end|center_vertical"
- android:text="@string/battery_tips_card_action_button"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?android:attr/textColorPrimary"
- app:strokeColor="@color/color_accent_selector"
- app:strokeWidth="1dp" />
- </LinearLayout>
- </LinearLayout>
-
- <Space
- android:layout_width="0dp"
- android:layout_height="1dp"/>
+ android:layout_marginTop="8dp"
+ android:textAlignment="viewStart"
+ android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
+ android:textColor="?android:attr/textColorPrimary" />
<LinearLayout
- android:id="@+id/feedback_card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@drawable/battery_tips_half_rounded_bottom_bg"
- android:gravity="center_vertical|start"
- android:orientation="horizontal"
- android:paddingHorizontal="24dp"
- android:paddingVertical="16dp"
- android:visibility="gone">
+ android:layout_marginTop="8dp"
+ android:gravity="end"
+ android:orientation="horizontal">
- <TextView
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_marginStart="0dp"
- android:layout_marginEnd="20dp"
- android:layout_weight="1"
- android:text="@string/battery_tips_card_feedback_info"
- android:textAlignment="viewStart"
- android:textColor="?android:attr/textColorPrimary"
- android:textStyle="bold"/>
-
- <ImageButton
- android:id="@+id/thumb_up"
- style="@style/Banner.Dismiss.SettingsLib"
+ <com.google.android.material.button.MaterialButton
+ android:id="@+id/dismiss_button"
+ style="@style/Widget.Material3.Button.TextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="center_vertical|end"
- android:layout_marginEnd="20dp"
- android:src="@drawable/ic_battery_tips_thumb_up" />
+ android:layout_gravity="end|center_vertical"
+ android:layout_marginEnd="8dp"
+ android:paddingHorizontal="16dp"
+ android:text="@string/battery_tips_card_dismiss_button"
+ android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle2"
+ android:textColor="@color/color_accent_selector" />
- <ImageButton
- android:id="@+id/thumb_down"
- style="@style/Banner.Dismiss.SettingsLib"
+ <com.google.android.material.button.MaterialButton
+ android:id="@+id/main_button"
+ style="@style/Widget.Material3.Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="center_vertical|end"
- android:src="@drawable/ic_battery_tips_thumb_down" />
+ android:layout_gravity="end|center_vertical"
+ android:paddingHorizontal="16dp"
+ android:text="@string/battery_tips_card_action_button"
+ android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle2"
+ android:textColor="@color/power_anomaly_primary_button_text_color"
+ app:backgroundTint="@color/color_accent_selector" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/content_protection_preference_fragment.xml b/res/layout/content_protection_preference_fragment.xml
index a412d86..8bf6582 100644
--- a/res/layout/content_protection_preference_fragment.xml
+++ b/res/layout/content_protection_preference_fragment.xml
@@ -17,6 +17,7 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
+ android:key="content_protection_preference_subpage"
android:title="@string/content_protection_preference_title">
<com.android.settingslib.widget.TopIntroPreference
@@ -36,10 +37,11 @@
settings:lottie_rawRes="@drawable/content_protection_preference_illustration"
settings:searchable="false" />
- <SwitchPreference
+ <com.android.settingslib.RestrictedSwitchPreference
android:key="content_protection_preference_user_consent_work_profile_switch"
android:title="@string/content_protection_preference_user_consent_work_profile_switch_title"
- settings:isPreferenceVisible="false" />
+ settings:restrictedSwitchSummary="@string/summary_placeholder"
+ settings:controller="com.android.settings.security.ContentProtectionWorkSwitchController"/>
<com.android.settingslib.widget.FooterPreference
android:key="content_protection_preference_subpage_footer"
diff --git a/res/layout/dialog_audio_sharing.xml b/res/layout/dialog_audio_sharing.xml
index 5f26f74..3b11020 100644
--- a/res/layout/dialog_audio_sharing.xml
+++ b/res/layout/dialog_audio_sharing.xml
@@ -46,4 +46,11 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"/>
+
+ <Button
+ android:id="@+id/cancel_btn"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:text="@string/cancel"/>
</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/dialog_audio_sharing_disconnect.xml b/res/layout/dialog_audio_sharing_disconnect.xml
new file mode 100644
index 0000000..09bac40
--- /dev/null
+++ b/res/layout/dialog_audio_sharing_disconnect.xml
@@ -0,0 +1,47 @@
+<?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.
+ -->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="24dp"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@+id/share_audio_disconnect_description"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAlignment="center"
+ android:layout_gravity="center"/>
+
+ <com.android.internal.widget.RecyclerView
+ android:visibility="visible"
+ android:id="@+id/device_btn_list"
+ android:nestedScrollingEnabled="false"
+ android:overScrollMode="never"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"/>
+
+ <Button
+ android:id="@+id/cancel_btn"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:text="@string/cancel"/>
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/dialog_audio_sharing_join.xml b/res/layout/dialog_audio_sharing_join.xml
new file mode 100644
index 0000000..42d964a
--- /dev/null
+++ b/res/layout/dialog_audio_sharing_join.xml
@@ -0,0 +1,53 @@
+<?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.
+ -->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="24dp"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@+id/share_audio_subtitle1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAlignment="center"
+ android:layout_gravity="center"/>
+
+ <TextView
+ android:id="@+id/share_audio_subtitle2"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAlignment="center"
+ android:layout_gravity="center"/>
+
+ <Button
+ android:id="@+id/share_btn"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:text=""/>
+
+ <Button
+ android:id="@+id/cancel_btn"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:text="@string/cancel"/>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/face_enroll_accessibility_toggle.xml b/res/layout/face_enroll_accessibility_toggle.xml
index a56655d..f2987db 100644
--- a/res/layout/face_enroll_accessibility_toggle.xml
+++ b/res/layout/face_enroll_accessibility_toggle.xml
@@ -16,70 +16,53 @@
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/face_layout_theme">
- <!-- Top divider -->
- <View
- android:layout_alignParentTop="true"
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:background="?android:attr/listDivider" />
-
<!-- Title -->
<com.google.android.setupdesign.view.RichTextView
android:id="@+id/title"
- android:paddingHorizontal="8dp"
- android:paddingTop="8dp"
- android:paddingBottom="4dp"
+ android:layout_marginBottom="4dp"
android:gravity="start"
android:layout_alignParentStart="true"
android:layout_toStartOf="@+id/toggle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="?android:attr/textColorPrimary"
- android:textSize="@dimen/sud_description_text_size"
+ android:textSize="22sp"
+ android:letterSpacing="0"
+ android:minHeight="28dp"
+ android:fontFamily="@string/sudFontSecondary"
/>
<!-- Subtitle -->
<TextView
android:id="@+id/subtitle"
- android:paddingHorizontal="8dp"
- android:paddingBottom="8dp"
android:layout_alignParentStart="true"
android:layout_toStartOf="@+id/toggle"
android:layout_below="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/security_settings_face_enroll_introduction_accessibility_expanded"
- android:textColor="?android:attr/textColorSecondary"/>
-
- <!-- Vertical divider -->
- <View
- android:layout_centerVertical="true"
- android:layout_alignTop="@+id/toggle"
- android:layout_alignBottom="@+id/toggle"
- android:layout_toStartOf="@+id/toggle"
- android:layout_width="1dp"
- android:layout_height="wrap_content"
- android:background="?android:attr/listDivider" />
+ android:textSize="14sp"
+ android:letterSpacing="0"
+ android:minHeight="20dp"
+ android:fontFamily="@string/sudFontSecondaryText"
+ android:textColor="?androidprv:attr/materialColorOnSurfaceVariant"/>
<!-- Toggle -->
- <Switch
+ <com.google.android.material.materialswitch.MaterialSwitch
android:layout_alignParentEnd="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_marginStart="16dp"
+ android:theme="@style/Theme.Material3.DynamicColors.DayNight"
+ android:background="@null"
android:id="@+id/toggle"
android:layout_centerVertical="true"
android:checked="true"/>
- <!-- Bottom divider -->
- <View
- android:layout_below="@+id/subtitle"
- android:layout_width="match_parent"
- android:layout_height="1dp"
- android:background="?android:attr/listDivider" />
-
</RelativeLayout>
diff --git a/res/layout/fingerprint_v2_enroll_introduction.xml b/res/layout/fingerprint_v2_enroll_introduction.xml
index 2fd1f9c..cf39206 100644
--- a/res/layout/fingerprint_v2_enroll_introduction.xml
+++ b/res/layout/fingerprint_v2_enroll_introduction.xml
@@ -24,6 +24,7 @@
<LinearLayout
style="@style/SudContentFrame"
+ android:id="@+id/enroll_intro_content_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false"
diff --git a/res/layout/preference_widget_lock.xml b/res/layout/preference_widget_lock.xml
new file mode 100644
index 0000000..a5ee455
--- /dev/null
+++ b/res/layout/preference_widget_lock.xml
@@ -0,0 +1,30 @@
+<?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.
+-->
+
+<!-- A lock icon for preference in the audio streams page. -->
+<ImageView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/lock_icon"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ android:paddingStart="24dp"
+ android:paddingEnd="24dp"
+ android:background="?android:attr/selectableItemBackground"
+ android:scaleType="center"
+ android:src="@drawable/ic_lock_closed"
+ android:importantForAccessibility="no" />
+
diff --git a/res/layout/privatespace_advancing_screen.xml b/res/layout/privatespace_advancing_screen.xml
index cebb6fa..5b69593 100644
--- a/res/layout/privatespace_advancing_screen.xml
+++ b/res/layout/privatespace_advancing_screen.xml
@@ -20,7 +20,6 @@
android:id="@+id/privatesapce_autoadvance_screen"
android:layout_width="match_parent"
android:layout_height="match_parent"
- app:sucHeaderText="@string/privatespace_lock_protected_title"
android:icon="@drawable/ic_privatespace_icon">
<LinearLayout style="@style/SudContentFrame"
android:layout_width="match_parent"
@@ -34,26 +33,14 @@
android:contentDescription="@null"
android:src="@drawable/privatespace_setup_flow_placeholder"/>
- <LinearLayout
- android:id="@+id/setup_progress"
+ <TextView
+ android:id="@+id/createMessage"
+ style="@style/PrivateSpaceSetupTextFontStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_gravity="bottom|right"
- android:layout_margin="16dp"
- android:orientation="horizontal">
- <ProgressBar
- android:id="@+id/progressBar_cyclic"
- style="?android:attr/progressBarStyleSmall"
- android:layout_width="20dp"
- android:layout_height="20dp"
- android:layout_gravity="center"/>
- <TextView
- android:id="@+id/createMessage"
- style="@style/PrivateSpaceSetupTextFontStyle"
- android:textSize="14sp"
- android:text="@string/privatespace_setting_up_text"
- android:layout_margin="8dp"/>
- </LinearLayout>
+ android:textSize="14sp"
+ android:text="@string/privatespace_setting_up_text"
+ android:layout_marginBottom="24dp"/>
</LinearLayout>
</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/vpn_dialog.xml b/res/layout/vpn_dialog.xml
index 892a176..062772e 100644
--- a/res/layout/vpn_dialog.xml
+++ b/res/layout/vpn_dialog.xml
@@ -66,25 +66,6 @@
<EditText style="@style/vpn_value"
android:id="@+id/server"/>
- <CheckBox style="@style/vpn_value"
- android:id="@+id/mppe"
- android:text="@string/vpn_mppe"
- android:visibility="gone"/>
-
- <LinearLayout android:id="@+id/l2tp"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:visibility="gone">
- <TextView style="@style/vpn_label"
- android:text="@string/vpn_l2tp_secret"
- android:labelFor="@+id/l2tp_secret"/>
- <EditText style="@style/vpn_value"
- android:id="@+id/l2tp_secret"
- android:password="true"
- android:hint="@string/vpn_not_used"/>
- </LinearLayout>
-
<LinearLayout android:id="@+id/options_ipsec_identity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -154,31 +135,6 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
- <LinearLayout android:id="@+id/network_options"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
- <TextView style="@style/vpn_label"
- android:text="@string/vpn_search_domains"
- android:labelFor="@+id/search_domains"/>
- <EditText style="@style/vpn_value"
- android:id="@+id/search_domains"
- android:hint="@string/vpn_not_used"/>
-
- <TextView style="@style/vpn_label"
- android:text="@string/vpn_dns_servers"
- android:labelFor="@+id/dns_servers"/>
- <EditText style="@style/vpn_value"
- android:id="@+id/dns_servers"
- android:hint="@string/vpn_not_used"/>
-
- <TextView style="@style/vpn_label"
- android:text="@string/vpn_routes"
- android:labelFor="@+id/routes"/>
- <EditText style="@style/vpn_value"
- android:id="@+id/routes"
- android:hint="@string/vpn_not_used"/>
- </LinearLayout>
<TextView android:id="@+id/vpn_proxy_settings_title"
style="@style/vpn_label"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 075c0bd..d6e46d1 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Oudiodeling"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Deel oudio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Oproepe en alarms"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Koppel aan ’n LE-oudiostroom"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Oudiostrome naby"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Oudiostrome"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Koppel aan ’n oudiostroom met gebruik van ’n QR-kode"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Geen oudiostroom is gevind nie."</string>
<string name="date_and_time" msgid="1788358029823431692">"Datum en tyd"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Instaanbediener"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Maak skoon"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Werkprofiel"</string>
<string name="private_space_title" msgid="7078627930195569767">"Privaat ruimte"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Versteek apps in ’n privaat vouer"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Ontsluit met skermslot"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Versteek apps in ’n privaat vouer waartoe net jy toegang kan kry"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Privaat Ruimte-slot"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Jy kan Privaat Ruimte ontsluit nes jy jou toestel ontsluit of jy kan ’n ander slot kies"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Gebruik toestelskermslot"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Gesig- en Vingerafdrukslot"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tik om op te stel"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Dieselfde as toestelskermslot"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Wil jy ’n nuwe slot vir Privaat Ruimte kies?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Versteek as dit gesluit is"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Versteek Privaat Ruimte as dit gesluit is"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Jy kan Privaat Ruimte op jou appslys versteek as jy nie wil hê ander mense moet weet dis op jou toestel nie"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Kry toegang tot Privaat Ruimte wanneer dit versteek is"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Soek na “Privaat Ruimte” in die soekbalk"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tik op die Privaat Ruimte-teël"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Ontsluit jou Privaat Ruimte"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Af"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Aan"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Stelsel"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Skep privaat ruimte"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Vee privaat ruimte uit"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Privaat ruimte is suksesvol geskep"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Privaat ruimte bestaan reeds"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Kon nie privaat ruimte skep nie"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Privaat ruimte is suksesvol uitgevee"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Kon nie privaat ruimte uitvee nie"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Stel ’n skermslot"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Stel ’n skermslot op dié toestel om Privaat Ruimte te gebruik."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Stel skermslot"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Kanselleer"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Kanselleer"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Stel op"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Stel Privaat Ruimte op"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Versteek privaat apps in ’n veilige ruimte waartoe net jy toegang het"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Hoe dit werk"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Jy kan van die onderkant van jou appslys af toegang tot Privaat Ruimte kry"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Apps in Privaat Ruimte word deur ’n slot beskerm"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Kennisgewings vanaf apps in Privaat Ruimte word versteek as dit gesluit is"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Privaat Ruimte-apps sal nie in toestemmingbestuurder, privaatheidkontroleskerm en ander instellings verskyn wanneer Privaat Ruimte gesluit is nie"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Stel tans Privaat Ruimte op …"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Gebruiksinligting vir Privaat Ruimte-apps is versteek wanneer dit gesluit is"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Verkry toegang tot Privaat Ruimte vanaf jou applysinskrywing"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Kon nie Privaat Ruimte opstel nie"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Probeer nou weer, of kom later terug"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Probeer weer"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Wil jy skermslot gebruik om te ontsluit?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Jy kan Privaat Ruimte ontsluit net soos jy jou toestel ontsluit, of ’n ander slot kies"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Gebruik skermslot"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Kies nuwe slot"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Gereed!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Klaar"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Rollees af om toegang to Privaat Ruimte te kry"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Meld aan om Privaat Ruimte op te stel"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Jy moet by ’n rekening aanmeld om Privaat Ruimte op te stel"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Om Privaat Ruimte te wys (nie finale UX nie)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Maak die Instellings-program oop"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Tik op Sekuriteit & privaatheid > Privaat Ruimte > Versteek Privaat Ruimte wanneer gesluit"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Skakel die wisselfunksie Privaat Ruimte wanneer gesluit af"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Nota aan Googlers: Die ontwikkeling van hierdie kenmerk is nog aan die gang"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Jy kan tot <xliff:g id="COUNT">%d</xliff:g> vingerafdrukke byvoeg"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Jy het die maksimum aantal vingerafdrukke bygevoeg"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Kan nie nog vingerafdrukke byvoeg nie"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Koppel"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Ontkoppel"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Bind saam en koppel"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Wanneer Bluetooth aangeskakel is, kan jou toestel met ander nabygeleë Bluetooth-toestelle kommunikeer."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Wanneer Bluetooth aangeskakel is, kan jou toestel met ander nabygeleë Bluetooth-toestelle kommunikeer"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Wanneer Bluetooth aangeskakel is, kan jou toestel met ander Bluetooth-toestelle in die omtrek kommunikeer.\n\nOm toestelervaring te verbeter, kan apps en dienste steeds enige tyd na toestelle in die omtrek soek, selfs wanneer Bluetooth af is. Dit kan byvoorbeeld gebruik word om ligginggegronde kenmerke en dienste te verbeter. Jy kan dit in Bluetooth-opsporinginstellings verander."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Verander"</string>
<string name="device_details_title" msgid="1155622417516195481">"Toestelbesonderhede"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Laat ART toe om greepkode vir ontfoutbare programme te verifieer"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Wys herlaaikoers"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Wys die huidige vertoonskermherlaaikoers"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Wys HDR/SDR-verhouding"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Wys die huidige HDR/SDR-verhouding"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Vereis toestelontsluiting vir NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Hou aan om apps te gebruik wanneer gevou"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Gladde Vertoning"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Verhoog die herlaaitempo vir sommige inhoud outomaties na <xliff:g id="ID_1">%1$d</xliff:g> Hz. Verhoog batterygebruik."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Dwing na hoogste herlaaikoers"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Hoogste herlaaikoers vir verbeterde raaksensitiwiteit en animasiegehalte. Verhoog batterygebruik."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Skermaandag"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Gemeenskaplike instellings"</string>
<string name="apn_settings" msgid="4295467389400441299">"Toegangspuntname"</string>
<string name="apn_edit" msgid="2003683641840248741">"Redigeer toegangspunt"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Voeg toegangspunt by"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nie gestel nie"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nie gestel nie"</string>
<string name="apn_name" msgid="6677695784108157953">"Naam"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Gebruik toeganklikheidknoppie om oop te maak"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hou volumesleutels om oop te maak"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Tripeltik op skerm om oop te maak"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Tweevinger- tripeltik op skerm om oop te maak"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Gebruik gebaar om oop te maak"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Gebruik toeganklikheidsgebaar"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Tik op die toeganklikheidknoppie <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> onderaan jou skerm om hierdie kenmerk te gebruik.\n\nRaak en hou die toeganklikheidknoppie om tussen kenmerke te wissel."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Tik op die toeganklikheidknoppie op jou skerm om hierdie kenmerke te gebruik."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Druk en hou albei volumesleutels om hierdie kenmerk te gebruik."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Tripeltik enige plek op jou skerm om vergroting te begin en te stop."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Tripeltik met twee vingers enige plek op jou skerm om vergroting te begin en te stop."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Swiep met 2 vingers van die onderkant van die skerm af op om hierdie kenmerk te gebruik.\n\nSwiep met 2 vingers op en hou om tussen kenmerke te wissel."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Swiep met 3 vingers van die onderkant van die skerm af op om hierdie kenmerk te gebruik.\n\nSwiep met 3 vingers op en hou om tussen kenmerke te wissel."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Swiep met 2 vingers van die onderkant van die skerm af op om \'n toeganklikheidkenmerk te gebruik.\n\nSwiep met 2 vingers op en hou om tussen kenmerke te wissel."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hou volumesleutels in"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hou volumesleutels"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Druk en hou albei volumesleutels"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Tweevinger- tripeltik op skerm"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"tweevinger- tripeltik op skerm"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Tik vinnig {0,number,integer} keer op die skerm met twee vingers"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tik 3 keer op skerm"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"tripeltik op skerm"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Tik {0,number,integer} keer vinnig op skerm. Hierdie kortpad kan jou toestel stadiger maak"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Dit kan jou interaksies met \'n app of \'n hardewaresensor naspoor en namens jou met apps interaksie hê."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Laat toe"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Weier"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Stop"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Kanselleer"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Stop <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"As jy op <xliff:g id="STOP">%1$s</xliff:g> tik, sal dit <xliff:g id="SERVICE">%2$s</xliff:g> stop."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Geen dienste geïnstalleer nie"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Geen diens is gekies nie"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Geen beskrywing verskaf nie."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"As jy agtergrondaktiwiteit vir \'n program beperk, kan dit verkeerd werk"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Hierdie program is nie gestel om batterykrag te optimeer nie en daarom kan jy dit nie beperk nie.\n\nOm die program te beperk, moet jy eers batterykrag-optimering aanskakel."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Bestuur batterygebruik"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Laat agtergrondgebruik toe"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Aktiveer vir intydse opdaterings, deaktiveer om battery te spaar"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Onbeperk"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Geoptimeer"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Beperk"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Naam"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tipe"</string>
<string name="vpn_server" msgid="2908816134941973935">"Bedieneradres"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP-enkripsie (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-geheim"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-identifiseerder"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec voorafgedeelde sleutel"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-gebruikersertifikaat"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-sertifikaat"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-bedienersertifikaat"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Wys gevorderde opsies"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-soekdomeine"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-bedieners (bv. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Aanstuurroetes (bv. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Gebruikernaam"</string>
<string name="vpn_password" msgid="1183746907642628127">"Wagwoord"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Stoor rekeninginligting"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(nie gebruik nie)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(moenie bediener verifieer nie)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(ontvang van bediener)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Dié VPN-tipe kan nie te alle tye gekoppel bly nie"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Altyd-aan VPN steun net numeriese bedieneradresse"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"\'n DNS-bediener moet gespesifiseer word vir altyd-aan VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS-bediener se adresse moet numeries wees vir altyd-aan VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Die inligting wat ingevoer is, steun nie altyd-aan VPN nie"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Kanselleer"</string>
<string name="vpn_done" msgid="5137858784289564985">"Maak toe"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blokkeer verbindings sonder VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Vereis VPN-verbinding?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nie veilig nie. Dateer op na \'n IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Kies \'n VPN-profiel om altyd aan gekoppel te bly. Netwerkverkeer sal net toegelaat word wanneer verbind aan hierdie VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Geen"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Altydaan-VPN vereis \'n IP-adres vir beide die bediener en DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Wys alle kennisgewinginhoud"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Wys sensitiewe inhoud net wanneer dit ontsluit is"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Moet glad nie kennisgewings wys nie"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hoe wil jy hê moet die sluitskerm lyk?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Wat wil jy hê moet jou sluitskerm wys?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Sluitskerm"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Wys alle werkkennisgewinginhoud"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Versteek sensitiewe werkinhoud"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Laat toegang toe om alle lêers te bestuur"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Laat hierdie program toe om alle lêers op hierdie toestel of enige gekoppelde bergingvolumes te lees, te wysig en uit te vee. Indien toestemming verleen word, kan die program sonder jou uitdruklike medewete by lêers ingaan."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Kan by alle lêers ingaan"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps met stemaktivering"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Laat stemaktivering toe"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Stemaktivering gebruik stemopdrag om goedgekeurde apps handvry aan te skakel. Ingeboude aanpasbare waarneming verseker dat data privaat bly net vir jou.\n\n"<a href="">"Meer oor beskermde aanpasbare waarneming"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Volskermkennisgewings"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Laat volskermkennisgewings van hierdie app af toe"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Laat hierdie app toe om kennisgewings te wys wat die volle skerm beslaan wanneer die toestel gesluit is. Apps kan dit gebruik om wekkers, inkomende oproepe en ander dringende kennisgewings uit te lig."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> het meer batterykrag as gewoonlik gebruik terwyl dit op die agtergrond was"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> het meer batterykrag gebruik terwyl dit op die voorgrond was"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> het meer batterykrag as gewoonlik gebruik terwyl dit op die voorgrond was"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Onreëlmatigheid met batterygebruik"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Hoë batterygebruik"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Hoë batterygebruik op die agtergrond"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Hoë batterygebruik op die voorgrond"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"stelselnavigasie, 2-knoppienavigasie, 3-knoppienavigasie, gebaarnavigasie, swiep"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitale assistent"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swiep om assistent op te roep"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swiep op van \'n onderste hoek af om digitale bystandprogram op te roep."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swiep op van ’n onderste hoek af om digitale bystandapp op te roep"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hou Tuis vir Assistent"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Druk en hou die tuisknoppie om digitaleasistentprogram op te roep."</string>
<string name="low_label" msgid="6525629096999711220">"Laag"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Kies grammatikale geslag"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Skandeer vir misleidende apps"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Gaan appaktiwiteit na vir uitvissing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Gebruik skandering"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Gebruik skandering vir werkapps"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Gebruik skandering vir misleidende apps"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Gebruik skandering vir misleidende werkapps"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 131b95a..85ca6af 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"ብሮስፌ"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ኦዲዮ ማጋራት"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ኦዲዮ ያጋሩ"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ጥሪዎች እና ማንቂያ ደወሎች"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"ከLE የኦዲዮ ዥረት ጋር ያገናኙ"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"በአቅራቢያ ያሉ ኦዲዮ ዥረቶች"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"ኦዲዮ ዥረቶች"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR ኮድ በመጠቀም ከኦዲዮ ዥረት ጋር ያገናኙ"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"በአቅራቢያ ያለ ምንም አይነት የኦዲዮ ዥረት አልተገኘም።"</string>
<string name="date_and_time" msgid="1788358029823431692">"ቀን እና ሰዓት"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"ተኪ"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"አጽዳ"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"የሥራ መገለጫ"</string>
<string name="private_space_title" msgid="7078627930195569767">"የግል ቦታ"</string>
<string name="private_space_summary" msgid="8237652417163408001">"በግል አቃፊ ውስጥ መተግበሪያዎችን ይደብቁ"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"ማያ ገጽ መቆለፊያን በመጠቀም ክፈት"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"እርስዎ ብቻ ሊደርሱበት በሚችሉት የግል አቃፊ ውስጥ መተግበሪያዎችን ይደብቁ"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"የግል ቦታ ቁልፍ"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"መሳሪያዎን እንደከፈቱት በተመሳሳይ መንገድ የግል ቦታ መክፈት ወይም የተለየ ቁልፍ መምረጥ ይችላሉ"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"የመሣሪያ ማያ ገጽ መቆለፊያን ይጠቀሙ"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"በመልክ & በጣት አሻራ መክፈቻ"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"ለማዋቀር መታ ያድርጉ"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ከመሣሪያ ማያ ገጽ መቆለፊያ ጋር ተመሳሳይ"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"ለግል ቦታ አዲስ ቁልፍ ይመርጣሉ?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"በሚቆለፍበት ጊዜ ደብቅ"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"በሚቆለፍበት ጊዜ የግል ቦታን ይደብቁ"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ሌሎች ሰዎች የግል ቦታ መሣሪያዎ ላይ እንደበራ ማወቃቸውን ለማቆም ከመተግበሪያዎ ዝርዝር ሊደብቁት ይችላሉ"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"በሚደበቅበት ጊዜ የግል ቦታን ይድረሱ"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"በፍለጋ አሞሌው ውስጥ «የግል ቦታ» ብለው ይፈልጉ"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"የግል ቦታ ሰቁን መታ ያድርጉ"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"የግል ቦታዎን ይክፈቱ"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ጠፍቷል"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"በርቷል"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"ሥርዓት"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"የግል ቦታን ፍጠር"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"የግል ቦታን ሰርዝ"</string>
- <string name="private_space_created" msgid="2978055968937762232">"የግል ቦታ በተሳካ ሁኔታ ተፈጥሯል"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"የግል ቦታ ቀድሞውኑ አለ"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"የግል ቦታ መፈጠር አልቻለም"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"የግል ቦታ በተሳካ ሁኔታ ተሰርዟል"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"የግል ቦታ መሰረዝ አልቻለም"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"ማያ ገፅ መቆለፊያን ያቀናብሩ"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"የግል ቦታን ለመጠቀም በዚህ መሣሪያ ላይ ማያ ገፅ መቆለፊያን ያቀናብሩ።"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"ማያ ገፅ መቆለፊያን አቀናብር"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"ይቅር"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"ይቅር"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"አዋቅር"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"የግል ቦታን ያዋቅሩ"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"የግል መተግበሪያዎችን እርስዎ ብቻ መደረስ የሚችሉበት ደህንነቱ የተጠበቀ ቦታ ውስጥ ይደብቁ"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"እንዴት እንደሚሠራ"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"ከመተግበሪያዎ ዝርዝር የታችኛው ክፍል ላይ የግል ቦታን መድረስ ይችላሉ"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"በግል ቦታ ውስጥ ያሉ መተግበሪያዎች በቁልፍ ጥበቃ ይደረግላቸዋል"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"በሚቆለፍበት ጊዜ የግል ቦታ ውስጥ ካሉ መተግበሪያዎች የሚመጡ ማሳወቂያዎች ይደበቃሉ"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"የግል ቦታ በሚቆለፍበት ጊዜ የግል ቦታ መተግበሪያዎች በፈቃድ አስተዳዳሪ፣ የግላዊነት ዳሽቦርድ እና ሌሎች ቅንብሮች ውስጥ አይታዩም"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"የግል ቦታን በማዋቀር ላይ…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"ሲቆለፍ የአጠቃቀም መረጃ ለግል ቦታ መተግበሪያዎች የተደበቀ ነው"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"ከእርስዎ የመተግበሪያዎች ዝርዝር የግል ቦታን ይድረሱ"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"የግል ቦታን ማዋቀር አልተቻለም"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"አሁን እንደገና ይሞክሩ ወይም በኋላ ተመልሰው ይምጡ"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"እንደገና ይሞክሩ"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"ለመክፈት ማያ ገፅ መቆለፊያን ይጠቀሙ?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"የግል ቦታ መሣሪያዎን በሚቆልፉበት ተመሳሳይ መንገድ መክፈት ወይም የተለየ ቁልፍ መምረጥ ይችላሉ"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"ማያ ገፅ መቆለፊያን ይጠቀሙ"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"አዲስ ቁልፍ ይምረጡ"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"ሁሉም ዝግጁ!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"ተከናውኗል"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"የግል ቦታን ለመድረስ ወደ ታች ያሸብልሉ"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"የግል ቦታን ለማዘጋጀት ይግቡ"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"የግል ቦታን ለማዘጋጀት ወደ መለያ መግባት አለብዎት"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"የግል ቦታን ለማሳየት (የመጨረሻው የተጠቃሚ ተሞክሮ አይደለም)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"የቅንብሮች መተግበሪያን ይክፈቱ"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"ደህንነት > ግላዊነት > የግል ቦታ> ሲቆለፍ የግል ቦታን ደብቅ የሚለው ላይ መታ ያድርጉ"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"ቀያይርን ሲቆለፍ የግል ቦታ ደብቅን አጥፋ"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"ማስታወሻ ለ Google ሰራተኛ፡- የዚህ ባህሪ እድገት አሁንም በሂደት ላይ ነው"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"እስከ <xliff:g id="COUNT">%d</xliff:g> የሚደርሱ የጣት አሻራዎችን ማከል ይችላሉ"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"የሚፈቀደውን ከፍተኛ የጣት አሻራ ብዛት አክለዋል"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"ተጨማሪ የጣት አሻራዎችን ማከል አይቻልም"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"አያይዝ"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"አለያይ"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"አጣምር& አያይዝ"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ብሉቱዝ ሲበራ መሣሪያዎ ሌልች በአቅራቢያ ካሉ መሣሪያዎች ጋር መገናኘት ይችላል።"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ብሉቱዝ ሲበራ መሣሪያዎ ሌልች በአቅራቢያ ካሉ መሣሪያዎች ጋር መገናኘት ይችላል"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ብሉቱዝ ሲበራ የእርስዎ መሣሪያ በአቅራቢያ ካሉ ሌሎች የብሉቱዝ መሣሪያዎች ጋር መነጋገር ይችላል።\n\nየመሣሪያ ተሞክሮን ለማሻሻል መተግበሪያዎች እና አገልግሎቶች ብሉቱዝ ጠፍቶ ቢሆንም እንኳን አሁንም በማንኛውም ጊዜ በአቅራቢያ ያሉ መሣሪያዎችን መቃኘት ይችላሉ። ይህ ለምሳሌ በአካባቢ ላይ የተመሠረቱ ባህሪያትን እና አገልግሎቶችን ለማሻሻል ጥቅም ላይ መዋል ይችላል። ይህን የብሉቱዝ ቅኝት ቅንብሮች ውስጥ መለወጥ ይችላሉ።"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"ቀይር"</string>
<string name="device_details_title" msgid="1155622417516195481">"የመሣሪያ ዝርዝሮች"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART ሊታረሙ ለሚችሉ መተግበሪያዎች ባይት ኮድን እንዲያረጋግጥ ይፍቀዱ"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"የዕድሳት ድግምግሞሽ መጠንን አሳይ"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"አሁን ያለውን የማሳያ ዕድሳት ድግምግሞሽ መጠንን አሳይ"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"የ ኤችዲአር/ኤስዲአር ውድር አሳይ"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"የአሁኑን ኤችዲአር/ኤስዲአር ውድር አሳይ"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"ለNFC የመሣሪያ መከፈት ይፈለግ"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"መተግበሪያዎችን በእጠፍ ላይ መጠቀም ቀጥል"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"ለስላሳ ማሳያ"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"ለአንዳንድ ይዘት የዕድሳት ፍጥነቱን በራስ-ሰር እስከ <xliff:g id="ID_1">%1$d</xliff:g> ኸርዝ ድረስ ያሳድገዋል። የባትሪ አጠቃቀምን ይጨምራል።"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ከፍተኛ የእድሳት ፍጥነትን አስገድድ"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"ለተሻሻለ የንክኪ አጸፋ እና የእነማ ጥራት በጣም ከፍተኛው ዕድሳት ፍጥነት የባትሪ ፍጆታን ይጨምራል።"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"የማያ ገፅ ትኩረት"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"የጋራ ቅንብሮች"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"የመዳረሻ ነጥብ አርትዕ"</string>
+ <string name="apn_add" msgid="9069613192201630934">"የመዳረሻ ነጥብ ያክሉ"</string>
<string name="apn_not_set" msgid="8246646433109750293">"አልተዘጋጀም"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"አልተቀናበረም"</string>
<string name="apn_name" msgid="6677695784108157953">"ስም"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ለመክፈት የተደራሽነት አዝራር ይጠቀሙ"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"ለመክፈት የድምጽ ቁልፎችን ይያዙ"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ለመክፈት ማያ ገጹን ሦስት ጊዜ መታ ያድርጉ"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"ለመክፈት ማያ ገፅን በሁለት ጣት ሦስት ጊዜ መታ ያድርጉ"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ለመክፈት የጣት ምልክትን ይጠቀሙ"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"የተደራሽነት እጅ ምልክትን ይጠቀሙ"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ይህን ባህሪ ለመጠቀም በማያ ገጽዎ ግርጌ ላይ ያለውን የተደራሽነት አዝራሩን <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> መታ ያድርጉ።\n\nባህሪያት መካከል ለመቀያየር የተደራሽነት አዝራሩን ነክተው ይያዙ።"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ይህን ባህሪ ለመጠቀም በማያ ገጽዎ ላይ ያለውን የተደራሽነት አዝራር መታ ያድርጉ።"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ይህን ባህሪ ለመጠቀም ሁለቱንም የድምጽ ቁልፎች ተጭነው ይያዙ።"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ማጉላትን ለመጀመር እና ለማቆም በማያ ገጽዎ ላይ ማንኛውም ቦታ ላይ ሦስት ጊዜ መታ ያድርጉ።"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"ማጉላት ለመጀመር እና ለማቆም በማያ ገፅዎ ማንኛውም ቦታ ላይ በሁለት ጣቶች ሦስት ጊዜ መታ ያድርጉ።"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ይህን ባህሪ ለመጠቀም በ2 ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ።\n\nበባሕሪያት መካከል ለመቀያየር በ2 ጣቶች ወደ ላይ ጠርገው ይያዙ።"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ይህን ባህሪ ለመጠቀም በ3 ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ።\n\nበባሕሪያት መካከል ለመቀያየር በ3 ጣቶች ወደ ላይ ጠርገው ይያዙ።"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"የተደራሽነት ባሕሪን ለመጠቀም በ2 ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ።\n\nበባሕሪያት መካከል ለመቀያየር በ2 ጣቶች ወደ ላይ ጠርገው ይያዙ።"</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"የድምፅ አዝራሮችን ይያዙ"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"የድምጽ አዝራሮችን ይያዙ"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ሁለቱንም የድምፅ ቁልፎች ተጭነው ይያዙ"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"ማያ ገፅን በሁለት ጣት ሦስት ጊዜ መታ ያድርጉ"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ማያ ገፅን በሁለት ጣት ሦስት ጊዜ መታ ያድርጉ"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"ማያ ገፅን {0፣ቁጥር፣ኢንቲጀር} ጊዜያት በሁለት ጣቶች በፍጥነት መታ ያድርጉ"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ማያ ገጽን ሦስቴ መታ ያድርጉ"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ማያ ገጽን ሦስቴ መታ ያድርጉ"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ማያ ገጹን በፍጥነት {0,number,integer} ጊዜዎችን መታ ያድርጉ። ይህ አቋራጭ መሣሪያዎን ሊያንቀራፍፈው ይችላል።"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ከመተግበሪያ ጋር ወይም የሃርድዌር ዳሳሽ ጋር እርስዎ ያልዎትን መስተጋብሮች ዱካ መከታተል እና በእርስዎ ምትክ ከመተግበሪያዎች ጋር መስተጋብር መፈጸም ይችላል።"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ፍቀድ"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ከልክል"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"አቁም"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ተወው"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> ይቁም?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> መታ ማድረግ <xliff:g id="SERVICE">%2$s</xliff:g> ን ያስቆመዋል።"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"ምንም አገልግሎቶች አልተጫኑም"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"ምንም አገልግሎት አልተመረጠም"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"ምንም መግለጫ አልቀረበም።"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"የአንድ መተግበሪያ የጀርባ እንቅስቃሴን ከገደቡ ያልተገባ ባህሪ ሊያሳይ ይችላል"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ይህ መተግበሪያ ባትሪን ለማላቅ አልተቀናበረም፣ ሊገድቡት አይችሉም።\n\nመተግበሪያውን ለመገደብ፣ የባትሪ ማላቅን በመጀመሪያ ያብሩ።"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"የባትሪ አጠቃቀምን ያስተዳድሩ"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"የዳራ አጠቃቀምን ይፍቀዱ"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ለእውነተኛ ጊዜ ዝማኔዎች ያንቁ፣ ባትሪን ለመቆጠብ ያሰናክሉ"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ያልተገደበ"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"እንዲተባ ተደርጓል"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ተገድቧል"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"ስም"</string>
<string name="vpn_type" msgid="5533202873260826663">"ዓይነት"</string>
<string name="vpn_server" msgid="2908816134941973935">"የአገልጋይ አድራሻ"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"የPPP ምስጠራ(MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP ሚስጥር"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"የIPSec መለያ"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec ቀድሞ- የተጋራቁልፍ"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"የIPSec ተጠቃሚ ዕውቅና ማረጋገጫ"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"የIPSec CA ዕውቅና ማረጋገጫ"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"የIPSec አገልጋይ ዕውቅና ማረጋገጫ"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"የላቁ አማራጮችን አሳይ"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"የDNS ፍለጋ ጎራዎች"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"የDNS አገልጋዮች (ምሳሌ 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"ማስተላለፊያ መንገድ (ምሳሌ፡ 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"የተጠቃሚ ስም"</string>
<string name="vpn_password" msgid="1183746907642628127">"የይለፍ ቃል"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"የመለያ መረጃ አስቀምጥ"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(አላገለገለም)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(አገልጋይ አታረጋግጥ)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(ከአገልጋይ የደረሰ)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ይህ የቪፒኤን ዓይነት ሁልጊዜ እንደተገናኘ መቆየት አይችልም"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"ሁልጊዜ የሚበራ ቪፒኤን ቁጥራዊ የአገልጋይ አድራሻዎችን ብቻ ነው የሚደግፈው"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"አንድ የዲኤንኤስ አገልጋይ ሁልጊዜ ለሚበራ ቪፒኤን መገለጽ አለበት"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"የዲኤንኤስ አገልጋይ አድራሻዎች ሁልጊዜ ለሚበራ ቪፒኤን ቁጥራዊ መሆን አለባቸው"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"የገባው መረጃ ሁልጊዜ የሚበራ ቪፒኤንን አይደግፍም"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"ይቅር"</string>
<string name="vpn_done" msgid="5137858784289564985">"አሰናብት"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"ቪፒኤን የሌላቸው ግንኙነቶችን አግድ"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"የVPN ግንኙነት ይጠይቅ?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"ደህንነቱ አልተጠበቀም። ወደ IKEv2 VPN ያዘምኑ"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"ሁልጊዜ እንደተገናኙ የሚቆዩበት የVPN መገለጫ ይምረጡ። ከዚህ VPN ጋር ሲገናኝ ብቻ ነው የአውታረ መረብ ትራፊክ የሚፈቀደው።"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"ምንም"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"ሁልጊዜ የበራ VPN ለአገልጋይም ለDNSም የአይ.ፒ. አድራሻ ያስፈልገዋል።"</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"ሁሉንም የማሳወቂያ ይዘቶችን አሳይ"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"በሚከፈትበት ጊዜ ብቻ አደጋን ሊያስከትል የሚችል ይዘትን አሳይ"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"በጭራሽ ማሳወቂያዎችን አታሳይ"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ማያ ገፅ መቆለፊያ እንዴት እንዲያሳይ ይፈልጋሉ?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"የማያ ገጽ ቁልፍዎ ላይ ምን እንዲታይ ይፈልጋሉ?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ማያ ገፅ ቁልፍ"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"ሚስጥራዊነት ያለው የስራ ማሳወቂያ ይዘት አሳይ"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"አደጋ ሊያስከትል የሚችል የሥራ ይዘትን ደብቅ"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"ሁሉንም ፋይሎች ለማስተዳደር መዳረሻ ፍቀድ"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ይህ መተግበሪያ በዚህ መሣሪያ ላይ ወይም በማናቸውም የተገናኙ የማከማቻ መጠኖች ላይ ሁሉንም ፋይሎች እንዲያነብ፣ እንዲያሻሽል እና እንዲሰርዝ ይፍቀዱ። ፈቃድ ከተሰጠ፣ መተግበሪያ ያለ የእርስዎ ግልፅ የሆነ ዕውቀት ፋይሎችን መድረስ ይችላል።"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"ሁሉንም ፋይሎች መድረስ ይችላል"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"ድምፅ ገቢር ማድረጊያ መተግበሪያዎች"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ድምፅ ገቢር ማድረግን ፍቀድ"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"የድምጽ ማግበር የጸደቁ መተግበሪያዎችን፣ ከእጅ ነጻ፣ የድምጽ ትዕዛዝን በመጠቀም ያበራል። አብሮገነብ የሚለምደዉ ዳሰሳ ውሂብ ለእርስዎ ብቻ ሚስጥራዊ ሆኖ እንደሚቆይ ያረጋግጣል።\n\n"<a href="">" ስለተጠበቀ የማስማማት ዳሳሽ ተጨማሪ"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"የሙሉ ገጽ ዕይታ ማሳወቂያዎች"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"ከዚህ መተግበሪያ የሙሉ ገጽ ዕይታ ማሳወቂያዎችን ይፍቀዱ"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ይህ መተግበሪያ መሣሪያው በሚቆለፍበት ጊዜ ሙሉ ገጽ ዕይታውን የሚይዙ ማሳወቂያዎችን እንዲያሳይ ይፍቀዱለት። መተግበሪያዎች ማንቂያዎችን፣ ገቢ ጥሪዎችን ወይም ሌሎች አስቸኳይ ማሳወቂያዎችን ለማድመቅ እነዚህን ሊጠቀሙ ይችላሉ።"</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ዳራው ውስጥ ሳለ ከተለመደው ተጨማሪ ባትሪ ተጠቅሟል"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> የፊት ገፁ ውስጥ ሳለ ተጨማሪ ባትሪ ተጠቅሟል"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> የፊት ገፁ ውስጥ ሳለ ከተለመደው ተጨማሪ ባትሪ ተጠቅሟል"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ያልተለመደ የባትሪ አጠቃቀም"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"ከፍተኛ የባትሪ አጠቃቀም"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"በዳራ ውስጥ ያለ ከፍተኛ የባትሪ አጠቃቀም"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"በፊት ገፁ ውስጥ ያለ ከፍተኛ የባትሪ አጠቃቀም"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"የሥርዓት ዳሰሳ፣ 2 አዝራር ዳሰሳ፣ 3 አዝራር ዳሰሳ፣ የእጅ ውዝውዜ ዳሰሳ፣ በጣት ጠረግ ማድረግ"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ዲጂታል ረዳት"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"ረዳትን ለመጥራት ያንሸራትቱ"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"የዲጂታል ረዳት መተግበሪያን ለመጥራት ከግርጌው ጥግ ጀምረው ወደ ላይ ያንሸራትቱ።"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ዲጂታል ረዳት መተግበሪያን ለመጥራት ከታች ጥግ ወደ ላይ ያንሸራትቱ"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"ረዳትን ለማግኘት መነሻን ይያዙ"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"የዲጂታል ረዳት መተግበሪያን ለመጥራት የመነሻ አዝራሩን ተጭነው ይያዙ።"</string>
<string name="low_label" msgid="6525629096999711220">"ዝቅተኛ"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ሰዋሰዋዊ ጾታ ይምረጡ"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"አታላይ የሆኑ መተግበሪያዎችን በመቃኘት ላይ"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"ማስገርን በተመለከተ የመተግበሪያ እንቅስቃሴን ይፈትሹ"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"መቃኘትን ተጠቀም"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"ለሥራ መተግበሪያዎች መቃኘትን ተጠቀም"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ለአሳሳች መተግበሪያዎች መቃኘትን ይጠቀሙ"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ለሥራ አሳሳች መተግበሪያዎች መቃኘትን ይጠቀሙ"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 86a955f..1b61734 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"قلم الشاشة"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"مشاركة الصوت"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"مشاركة الصوت"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"المكالمات والمنبّهات"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"الاتصال بجهاز بث صوتي منخفض الطاقة (متوافق مع ميزة Bluetooth LE Audio)"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"أجهزة بث صوتي قريبة"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"أجهزة البث الصوتي"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"الاتصال بجهاز بث صوتي باستخدام رمز الاستجابة السريعة"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"لم يتم العثور على أجهزة بث صوتي قريبة."</string>
<string name="date_and_time" msgid="1788358029823431692">"التاريخ والوقت"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"الخادم الوكيل"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"محو"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"الملف الشخصي للعمل"</string>
<string name="private_space_title" msgid="7078627930195569767">"مساحة خاصة"</string>
<string name="private_space_summary" msgid="8237652417163408001">"إخفاء التطبيقات في مجلّد خاص"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"فتح القفل باستخدام قفل الشاشة"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"يمكن إخفاء التطبيقات في مجلّد خاص يمكنك وحدك الوصول إليه."</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"قفل المساحة الخاصة"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"يمكنك فتح قفل المساحة الخاصة بالطريقة نفسها المستخدَمة لفتح قفل هاتفك، أو اختيار طريقة أخرى."</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"استخدام قفل شاشة الجهاز"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"فتح الجهاز ببصمة الإصبع والتعرّف على الوجه"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"انقر لإعداد هذه الميزة."</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"نفس قفل شاشة الجهاز"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"هل تريد اختيار طريقة جديدة لقفل المساحة الخاصة؟"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"الإخفاء بعد القفل"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"إخفاء المساحة الخاصة إذا كانت مقفلة"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"يمكنك إخفاء المساحة الخاصة من قائمة التطبيقات على جهازك لمنع وصول الآخرين إليها."</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"الوصول إلى المساحة الخاصة بعد إخفائها"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"ابحث عن \"المساحة الخاصة\" في شريط البحث."</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"انقر على مربّع \"المساحة الخاصة\"."</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"افتح قفل المساحة الخاصة."</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"غير مفعَّل"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"مفعَّل"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"النظام"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"إنشاء مساحة خاصة"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"حذف المساحة الخاصة"</string>
- <string name="private_space_created" msgid="2978055968937762232">"تم إنشاء المساحة الخاصة بنجاح."</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"سبق أن تم إنشاء مساحة خاصة."</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"تعذَّر إنشاء مساحة خاصة."</string>
<string name="private_space_deleted" msgid="7825768516955610897">"تم حذف المساحة الخاصة بنجاح."</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"تعذَّر حذف المساحة الخاصة."</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"ضبط قفل شاشة"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"لاستخدام \"مساحة خاصة\"، يجب ضبط قفل شاشة على هذا الجهاز."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"ضبط قفل الشاشة"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"إلغاء"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"إلغاء"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"إعداد"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"بدء إعداد المساحة الخاصة"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"يمكنك إخفاء التطبيقات الخاصة في مكان آمن لا يمكن لأحد غيرك الوصول إليه."</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"طريقة العمل"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"يمكنك الوصول إلى المساحة الخاصة من أسفل قائمة التطبيقات."</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"تتم حماية التطبيقات في المساحة الخاصة بقفل."</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"يتم إخفاء الإشعارات الواردة من تطبيقات المساحة الخاصة إذا كانت المساحة مقفلة."</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"لن تظهر تطبيقات المساحة الخاصة في \"إدارة الأذونات\" أو \"لوحة بيانات الخصوصية\" أو الإعدادات الأخرى إذا كانت المساحة الخاصة مقفلة."</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"جارٍ إعداد المساحة الخاصة…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"معلومات الاستخدام المتعلّقة بتطبيقات المساحة الخاصة لا تظهر عندما تكون المساحة مقفلة"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"الوصول إلى المساحة الخاصة من قائمة التطبيقات"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"تعذُّر إعداد المساحة الخاصة"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"يُرجى إعادة المحاولة الآن أو إعدادها لاحقًا."</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"إعادة المحاولة"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"أتريد استخدام قفل الشاشة لفتح قفل المساحة الخاصة؟"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"يمكنك فتح قفل المساحة الخاصة بالطريقة نفسها المستخدَمة لفتح قفل هاتفك، أو اختيار طريقة أخرى."</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"استخدام قفل الشاشة"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"اختيار قفل جديد"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"اكتملت عملية الإعداد"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"تم"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"انتقِل للأسفل للوصول إلى المساحة الخاصة."</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"يجب تسجيل الدخول لإعداد المساحة الخاصة"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"يجب تسجيل الدخول إلى أحد الحسابات لإعداد \"مساحة خاصة\"."</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"إظهار المساحة الخاصة (ليست تجربة المستخدم النهائية)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"فتح تطبيق \"الإعدادات\""</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"اضغط على \"الأمان والخصوصية\" > مساحة خاصة > إخفاء المساحة الخاصة إذا كانت مقفلة."</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"إيقاف خيار تبديل إعداد \"إخفاء المساحة الخاصة إذا كانت مقفلة\""</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"ملاحظة لموظفي Google: لا يزال تطوير هذه الميزة قيد التنفيذ."</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"يمكنك إضافة ما يصل إلى <xliff:g id="COUNT">%d</xliff:g> بصمات إصبع"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"لقد أضفت الحد الأقصى لعدد بصمات الإصبع"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"يتعذر إضافة مزيد من بصمات الإصبع"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"اتصال"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"قطع الاتصال"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"الاقتران والاتصال"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"عند تفعيل البلوتوث، يمكن للجهاز الاتصال بأجهزة البلوتوث الأخرى القريبة."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"يتيح تفعيل البلوتوث الاتصال بالأجهزة القريبة."</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"عندما تكون تقنية البلوتوث مفعّلة، يمكن للجهاز التواصل مع الأجهزة الأخرى المجاورة التي تتضمّن بلوتوث.\n\nولتحسين تجربة استخدام الجهاز، يمكن للتطبيقات والخدمات أيضًا البحث عن الأجهزة المجاورة في أي وقت، حتى عندما تكون تقنية البلوتوث غير مفعّلة. ويمكن استخدام هذا الإجراء لتحسين الميزات والخدمات المستندة إلى الموقع الجغرافي مثلاً. ويمكنك تغيير هذا الإعداد في إعدادات بحث البلوتوث."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"تغيير"</string>
<string name="device_details_title" msgid="1155622417516195481">"تفاصيل الجهاز"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"تمكين ART من التحقُّق من رمز البايت للتطبيقات القابلة للتصحيح"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"إظهار معدّل إعادة التحميل"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"إظهار معدّل إعادة التحميل الحالي للشاشة"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"عرض نسبة نطاق HDR أو نطاق SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"عرض نسبة نطاق HDR أو نطاق SDR الحالية"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"الاتصال القصير المدى (NFC)"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"يجب فتح قفل الجهاز لاستخدام تقنية الاتصال القصير المدى (NFC)"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"شعاع Android"</string>
@@ -1047,9 +1032,9 @@
<string name="wifi_hotspot_speed_2g_summary" msgid="6930273933810520155">"السرعات الأبطأ: متوافقة مع معظم الأجهزة"</string>
<string name="wifi_hotspot_speed_5g" msgid="4058116867148848395">"5 غيغاهرتز"</string>
<string name="wifi_hotspot_speed_5g_summary" msgid="562987935924535694">"السرعات العالية: متوافقة مع أجهزة كثرة"</string>
- <string name="wifi_hotspot_speed_2g_5g" msgid="9192756255938408285">"2.4 و5 غيغاهرتز"</string>
+ <string name="wifi_hotspot_speed_2g_5g" msgid="9192756255938408285">"٢.٤ و٥ غيغاهرتز"</string>
<string name="wifi_hotspot_speed_2g_5g_summary" msgid="8104575293617700173">"السرعات العالية: نقطة الاتصال المزدوجة النطاق هذه متوافقة مع معظم الأجهزة."</string>
- <string name="wifi_hotspot_speed_6g" msgid="3787697484862730500">"6 غيغاهرتز"</string>
+ <string name="wifi_hotspot_speed_6g" msgid="3787697484862730500">"٦ غيغاهرتز"</string>
<string name="wifi_hotspot_speed_6g_summary" msgid="8675262219242174548">"السرعات الأعلى: متوافقة مع أجهزة قليلة"</string>
<string name="wifi_hotspot_speed_summary_unavailable" msgid="7276080644693388756">"لا تتوفّر هذه السرعة في بلدك أو منطقتك."</string>
<string name="wifi_hotspot_speed_footer" msgid="8846939503916795002">"إذا كان معدّل التردد المفضّل لديك غير متاح، قد تستخدم نقطة الاتصال معدّل تردد مختلف. قد تتغير إعدادات أمان نقطة الاتصال في حال تغيير معدّل التردد."</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"مواصلة استخدام التطبيقات أثناء طيّ الهاتف"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"العرض السلس"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"تعمل هذه الميزة على رفع معدّل التحديث في الشاشة إلى <xliff:g id="ID_1">%1$d</xliff:g> هرتز لبعض أنواع المحتوى، علمًا بأنّ ذلك يؤدي زيادة استخدام البطارية."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"فرض معدل إعادة التحميل الأقصى"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"أعلى معدل إعادة تحميل لتحسين استجابة اللمس وجودة الصور المتحركة. يؤدي هذا إلى زيادة استخدام البطارية."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"استعراض الشاشة"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"الإعدادات المشتركة"</string>
<string name="apn_settings" msgid="4295467389400441299">"أسماء نقاط الوصول"</string>
<string name="apn_edit" msgid="2003683641840248741">"تعديل نقطة الوصول"</string>
+ <string name="apn_add" msgid="9069613192201630934">"إضافة نقطة وصول"</string>
<string name="apn_not_set" msgid="8246646433109750293">"لم يتم الضبط."</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"لم يتم ضبط أي قيمة."</string>
<string name="apn_name" msgid="6677695784108157953">"الاسم"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"الفتح باستخدام زر \"أدوات تسهيل الاستخدام\""</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"اضغط مع الاستمرار على مفتاحَي مستوى الصوت لتفعيل الميزة"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"انقر على الشاشة ثلاث مرات لتفعيل الميزة"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"النقر ثلاث مرّات بإصبعين لفتح الشاشة"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"استخدام إيماءة للفتح"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"استخدام إيماءة تسهيل الاستخدام"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"لاستخدام هذه الميزة، انقر على زر أدوات تمكين الوصول <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> في أسفل الشاشة.\n\nللتبديل بين الميزات، انقر مع الاستمرار على زر أدوات تمكين الوصول."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"لاستخدام هذه الميزة، انقر على زر أدوات تسهيل الاستخدام في شاشتك."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"لاستخدام هذه الميزة، اضغط مع الاستمرار على كلا مفتاحَي مستوى الصوت."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"لبدء استخدام ميزة التكبير أو إيقافها، انقر ثلاث مرات في أي مكان على الشاشة."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"لبدء استخدام ميزة التكبير أو إيقافها، انقر ثلاث مرّات في أي مكان على الشاشة باستخدام إصبعين."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"لاستخدام هذه الميزة، مرِّر سريعًا من أسفل الشاشة للأعلى بإصبعين.\n\nللتبديل بين الميزات، مرِّر سريعًا للأعلى بإصبعين مع تثبيتهما."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"لاستخدام إحدى ميزات إمكانية الوصول، مرّر سريعًا من أسفل الشاشة للأعلى بثلاثة أصابع.\n\nللتبديل بين الميزات، مرّر سريعًا للأعلى بثلاثة أصابع مع تثبيتها."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"لاستخدام إحدى ميزات إمكانية الوصول، مرّر سريعًا من أسفل الشاشة للأعلى بإصبعين.\n\nللتبديل بين الميزات، مرّر سريعًا للأعلى بإصبعين مع تثبيتهما."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"الضغط مع الاستمرار على مفتاحَي التحكم في مستوى الصوت"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"الضغط مع الاستمرار على مفتاحَي التحكّم في مستوى الصوت"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"اضغط مع الاستمرار على مفتاحَي مستوى الصوت."</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"النقر ثلاث مرّات على الشاشة بإصبعين"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"النقر ثلاث مرّات على الشاشة بإصبعين"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"انقر سريعًا على الشاشة {0,number,integer} مرّات باستخدام إصبعين."</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"النقر ثلاث مرات على الشاشة"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"النقر ثلاث مرات على الشاشة"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"انقر على الشاشة {0,number,integer} مرة. يمكن أن يؤدي استخدام هذا الاختصار إلى إبطاء الجهاز."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"قد يؤدي ذلك إلى السماح للميزة بتتبّع تفاعلاتك مع تطبيق أو جهاز استشعار والتفاعل مع التطبيقات نيابةً عنك."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"سماح"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"رفض"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"إيقاف"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"إلغاء"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"هل تريد إيقاف \"<xliff:g id="SERVICE">%1$s</xliff:g>\"؟"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"سيؤدي النقر على \"<xliff:g id="STOP">%1$s</xliff:g>\" إلى إيقاف \"<xliff:g id="SERVICE">%2$s</xliff:g>\"."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"لم يتم تثبيت أي خدمات"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"لم يتم اختيار أي خدمة"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"لم يتم تقديم أي وصف."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"قد يتأثر أداء أحد التطبيقات سلبًا في حالة وضع حد لنشاطه في الخلفية"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"نظرًا لعدم تعيين هذا التطبيق للعمل على تحسين البطارية، فلا يمكنك تقييده.\n\nلتقييد التطبيق، فعِّل ميزة تحسين البطارية أولاً."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"إدارة استخدام البطارية"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"السماح بالاستخدام في الخلفية"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"يمكن تفعيل هذا الإعداد للحصول على المعلومات في الوقت الفعلي، أو إيقافه لتوفير شحن البطارية."</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"الاستخدام غير المحدّد بقيود"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"الاستخدام المحسَّن"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"الاستخدام المحدّد بقيود"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"الاسم"</string>
<string name="vpn_type" msgid="5533202873260826663">"النوع"</string>
<string name="vpn_server" msgid="2908816134941973935">"عنوان الخادم"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"الترميز PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"سر L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">" معرف IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"مفتاح IPSec مشترك مسبقًا"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"شهادة IPSec للمستخدم"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"شهادة CA لـ IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"شهادة خادم IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"إظهار الخيارات المتقدمة"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"نطاقات بحث نظام أسماء النطاقات"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"خوادم DNS (مثل 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"مسارات إعادة التوجيه (مثل 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"اسم المستخدم"</string>
<string name="vpn_password" msgid="1183746907642628127">"كلمة المرور"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"حفظ معلومات الحساب"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(غير مستخدم)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(عدم التحقق من ملكية الخادم)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(الواردة من الخادم)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"لا يمكن أن يظل هذا النوع من الشبكات الافتراضية الخاصة (VPN) متصلاً في جميع الأوقات."</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"لا تتوافق الشبكة الافتراضية الخاصة (VPN) التي يتم تشغيلها دائمًا إلا مع عناوين الخادم الرقمية"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"يجب تحديد خادم نظام أسماء نطاقات (DNS) للشبكة الافتراضية الخاصة (VPN) التي يتم تشغيلها دائمًا"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"يجب أن تكون عناوين خادم نظام أسماء النطاقات (DNS) رقمية للشبكة الافتراضية الخاصة التي يتم تشغيلها دائمًا"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"المعلومات التي تم إدخالها لا تتوافق مع الشبكة الافتراضية الخاصة (VPN) التي يتم تشغيلها دائمًا."</string>
<string name="vpn_cancel" msgid="5929410618112404383">"إلغاء"</string>
<string name="vpn_done" msgid="5137858784289564985">"تجاهل"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"حظر أي اتصالات بدون شبكة افتراضية خاصة"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"أيتطلب الأمر اتصالاً بشبكة VPN؟"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"هذا التطبيق غير آمن. يُرجى التحديث إلى شبكة افتراضية خاصة (VPN) باستخدام بروتوكول IKEv2."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"حدد ملفًا شخصيًا للشبكة الافتراضية الخاصة (VPN) للاتصال الدائم بها. لن يتم السماح بحركة مرور الشبكة إلا عند الاتصال بهذه الشبكة الافتراضية الخاصة."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"بدون"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"تتطلب الشبكة الافتراضية الخاصة (VPN) دائمة التفعيل عنوان IP لكل من الخادم ونظام أسماء النطاقات."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"عرض محتوى الإشعارات كاملاً"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"عرض المحتوى الحسّاس عند فتح القفل فقط"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"عدم عرض الإشعارات على الإطلاق"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"كيف تريد عرض شاشة القفل؟"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ما هي الطريقة التي تريد استخدامها في عرض الإشعارات على شاشة القفل؟"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"شاشة القفل"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"عرض محتوى إشعارات العمل كاملاً"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"إخفاء محتوى العمل الحساس"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"السماح بالوصول إلى كل الملفات لإدارتها"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"يسمح هذا الإعداد لهذا التطبيق بقراءة كل الملفات وتعديلها وحذفها من هذا الجهاز أو أي وحدات تخزين متصلة. في حال تفعيله، يمكن أن يصل التطبيق إلى الملفات بدون إعلامك بذلك."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"يمكن الوصول إلى كل الملفات"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"التطبيقات التي تستخدم التشغيل بالصوت"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"السماح بميزة التشغيل بالصوت"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"توفِّر ميزة التشغيل بالصوت إمكانية تشغيل التطبيقات المُعتمَدة باستخدام الطلبات الصوتية وبدون لمس الجهاز. يضمن نظام الاستشعار التكيُّفي والمدمَج أن تظل البيانات خاصة بك فقط.\n\n"<a href="">"مزيد من المعلومات حول نظام الاستشعار التكيُّفي المحمي"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"الإشعارات بملء الشاشة"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"السماح بعرض الإشعارات من هذا التطبيق بملء الشاشة"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"يتم السماح لهذا التطبيق بعرض إشعارات بملء الشاشة عندما يكون الجهاز مُقفَلاً. قد تستخدم التطبيقات هذا الإذن لإبراز المنبّهات أو المكالمات الواردة أو غيرها من الإشعارات العاجلة."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"استهلك تطبيق \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" مقدارًا أكبر من المُعتاد من طاقة البطارية أثناء تشغيله في الخلفية."</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"استهلك تطبيق \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" مقدارًا أعلى من طاقة البطارية أثناء تشغيله في المقدّمة."</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"استهلك تطبيق \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" مقدارًا أكبر من المُعتاد من طاقة البطارية أثناء تشغيله في المقدّمة."</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"استخدام غير عادي للبطارية"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"استهلاك مرتفع للبطارية"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"استهلاك مرتفع للبطارية في الخلفية"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"استهلاك مرتفع للبطارية في المقدّمة"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"التنقل داخل النظام، التنقُّل باستخدام زرّين، التنقُّل باستخدام ثلاثة أزرار، التنقل بالإيماءات، التمرير سريعًا"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"المساعد الرقمي"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"التمرير سريعًا لاستدعاء تطبيق المساعد"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"مرِّر سريعًا من الزاوية السفلية لاستدعاء تطبيق المساعد الرقمي."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"مرِّر سريعًا للأعلى من أسفل أحد جانبَي الشاشة لاستدعاء تطبيق \"المساعد الرقمي\"."</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"تفعيل \"مساعد\" بالضغط مع الاستمرار على زر \"الشاشة الرئيسية\""</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"اضغط مع الاستمرار على زر الشاشة الرئيسية لاستدعاء تطبيق المساعد الرقمي."</string>
<string name="low_label" msgid="6525629096999711220">"منخفضة"</string>
@@ -4963,8 +4948,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"اختيار صيغة مخاطبة مناسبة نحويًا"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"الفحص بحثًا عن التطبيقات المخادِعة"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"التحقُّق من النشاط على التطبيقات بحثًا عن محاولات التصيّد الاحتيالي"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"استخدام الفحص"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"استخدام الفحص مع تطبيقات العمل"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"استخدام الفحص بحثًا عن التطبيقات المخادِعة"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"استخدام الفحص بحثًا عن التطبيقات المخادِعة في ملف العمل"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index f0d20db..330c3e2 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -25,8 +25,8 @@
<string name="device_info_default" msgid="1406619232867343310">"অজ্ঞাত"</string>
<string name="device_info_protected_single_press" msgid="3810785480060743677">"তথ্য দেখুৱাবলৈ টিপক"</string>
<string name="show_dev_countdown" msgid="2936506773086395069">"{count,plural, =1{আপুনি এতিয়া এগৰাকী বিকাশকৰ্তা হোৱাৰ পৰা # টা পদক্ষেপ দূৰত আছে।}one{আপুনি এতিয়া এগৰাকী বিকাশকৰ্তা হোৱাৰ পৰা # টা পদক্ষেপ দূৰত আছে।}other{আপুনি এতিয়া এগৰাকী বিকাশকৰ্তা হোৱাৰ পৰা # টা পদক্ষেপ দূৰত আছে।}}"</string>
- <string name="show_dev_on" msgid="2840850085134853754">"এতিয়া আপুনি এজন বিকাশকৰ্তা!"</string>
- <string name="show_dev_already" msgid="7041756429707644630">"কোনো প্ৰয়োজন নাই, আপুনি ইতিমধ্যে এজন ডেভেলপাৰ।"</string>
+ <string name="show_dev_on" msgid="2840850085134853754">"এতিয়া আপুনি এগৰাকী বিকাশকৰ্তা!"</string>
+ <string name="show_dev_already" msgid="7041756429707644630">"কোনো প্ৰয়োজন নাই, আপুনি ইতিমধ্যে এগৰাকী ডেভেলপাৰ।"</string>
<string name="dev_settings_disabled_warning" msgid="6971867026249671244">"অনুগ্ৰহ কৰি প্ৰথমে বিকাশকৰ্তাৰ বিকল্পসমূহ সক্ষম কৰক।"</string>
<string name="header_category_system" msgid="1665516346845259058">"ছিষ্টেম"</string>
<string name="radioInfo_service_in" msgid="9088637745836646271">"সেৱাত আছে"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"ষ্টাইলাছ"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"অডিঅ’ শ্বেয়াৰ কৰা"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"অডিঅ’ শ্বেয়াৰ কৰক"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"কল আৰু এলাৰ্ম"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"এটা LE অডিঅ’ ষ্ট্ৰীমৰ সৈতে সংযোগ কৰক"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"নিকটৱৰ্তী অডিঅ’ ষ্ট্ৰীম"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"অডিঅ’ ষ্ট্ৰীম"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"কিউআৰ ক’ড ব্যৱহাৰ কৰি এটা অডিঅ’ ষ্ট্ৰীমৰ সৈতে সংযোগ কৰক"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"কোনো নিকটৱৰ্তী অডিঅ’ ষ্ট্ৰীম পোৱা নগ’ল।"</string>
<string name="date_and_time" msgid="1788358029823431692">"তাৰিখ আৰু সময়"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"প্ৰক্সি"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"মচক"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"কৰ্মস্থানৰ প্ৰ’ফাইল"</string>
<string name="private_space_title" msgid="7078627930195569767">"ব্যক্তিগত স্পে’চ"</string>
<string name="private_space_summary" msgid="8237652417163408001">"এপ্সমূহ এটা ব্যক্তিগত ফ’ল্ডাৰত লুকুৱাওক"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"স্ক্ৰীন লক ব্যৱহাৰ কৰি আনলক কৰক"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"কোনো ব্যক্তিগত ফ’ল্ডাৰত থকা এপ্সমূহ লুকুৱাওক, যিবোৰ কেৱল আপুনি এক্সেছ কৰিব পাৰে"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"ব্যক্তিগত স্পে’চৰ লক"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"আপুনি আপোনাৰ ডিভাইচটো আনলক কৰিবলৈ ব্যৱহাৰ কৰা একেটা পদ্ধতি ব্যৱহাৰ কৰি ব্যক্তিগত স্পে’চ আনলক কৰিব পাৰে অথবা অন্য কোনো লক বাছনি কৰিব পাৰে"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ডিভাইচৰ স্ক্ৰীন লক ব্যৱহাৰ কৰক"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"মুখাৱয়ব আৰু ফিংগাৰপ্ৰিণ্টৰ দ্বাৰা আনলক কৰা"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"ছেট আপ কৰিবলৈ টিপক"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ডিভাইচৰ স্ক্ৰীন লকৰ দৰে একেই"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"ব্যক্তিগত স্পে’চৰ বাবে নতুন লক বাছনি কৰিবনে?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"লক হৈ থকাৰ সময়ত লুকুৱাওক"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"লক কৰি থোৱা অৱস্থাত ব্যক্তিগত স্পে’চ লুকুৱাওক"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"আপোনাৰ ডিভাইচত ব্যক্তিগত স্পে’চ অন হৈ থকাৰ বিষয়ে অন্য লোকে জনাটো বন্ধ কৰিবলৈ, আপুনি এইটো আপোনাৰ এপৰ সূচীৰ পৰা লুকুৱাব পাৰে"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"লুকুৱাই ৰখা অৱস্থাত ব্যক্তিগত স্পে’চ এক্সেছ কৰক"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"সন্ধানৰ বাৰত \'ব্যক্তিগত স্পে’চ\' সন্ধান কৰক"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ব্যক্তিগত স্পে’চ টাইলত টিপক"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"ব্যক্তিগত স্পে’চ আনলক কৰক"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"অফ আছে"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"অন আছে"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"ছিষ্টেম"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"ব্যক্তিগত স্পে’চ সৃষ্টি কৰক"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"ব্যক্তিগত স্পে’চ মচক"</string>
- <string name="private_space_created" msgid="2978055968937762232">"ব্যক্তিগত স্পে’চ সফলতাৰে সৃষ্টি কৰা হৈছে"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"ব্যক্তিগত স্পে’চ পূৰ্বৰে পৰা আছে"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"ব্যক্তিগত স্পে’চ সৃষ্টি কৰিব পৰা নগ’ল"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"ব্যক্তিগত স্পে’চ সফলতাৰে মচা হৈছে"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"ব্যক্তিগত স্পে’চ মচিব পৰা নগ’ল"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"এটা স্ক্ৰীন লক ছেট কৰক"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"ব্যক্তিগত স্পে’চ ব্যৱহাৰ কৰিবলৈ ডিভাইচত স্ক্ৰীন লক ছেট কৰক।"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"স্ক্ৰীন লক ছেট কৰক"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"বাতিল কৰক"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"বাতিল কৰক"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"ছেট আপ কৰক"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"ব্যক্তিগত স্পে’চ ছেট আপ কৰক"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"কেৱল আপুনি এক্সেছ কৰিব পৰা এটা সুৰক্ষিত স্পে\'চত ব্যক্তিগত এপ্ লুকুৱাওক"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"এইটোৱে কেনেকৈ কাম কৰে"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"আপুনি আপোনাৰ এপৰ সূচীখনৰ একেবাৰে তলৰ পৰা ব্যক্তিগত স্পে’চ এক্সেছ কৰিব পাৰে"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"ব্যক্তিগত স্পে’চত থকা এপ্ এটা লকেৰে সুৰক্ষিত কৰা হয়"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"ব্যক্তিগত স্পে’চ লক হৈ থাকিলে তাত থকা এপৰ জাননী লুকুওৱা হয়"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"ব্যক্তিগত স্পে’চ লক হৈ থাকিলে ব্যক্তিগত স্পে’চত থকা এপ্সমূহ অনুমতিৰ পৰিচালক, গোপনীয়তাৰ ডেশ্বব’ৰ্ড আৰু অন্য ছেটিঙত প্ৰদৰ্শিত নহ’ব"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"ব্যক্তিগত স্পে’চ ছেট আপ কৰি থকা হৈছে…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"ব্যক্তিগত স্পে’চত থকা এপৰ ব্যৱহাৰৰ তথ্য লুকুওৱা হয়, যদিহে এইটো লক হৈ থাকে"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"আপোনাৰ এপৰ সূচীৰ পৰা ব্যক্তিগত স্পে’চ এক্সেছ কৰক"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"ব্যক্তিগত স্পে’চ ছেট আপ কৰিব পৰা নগ’ল"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"এতিয়াই পুনৰ চেষ্টা কৰক অথবা পাছত উভতি আহক"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"পুনৰ চেষ্টা কৰক"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"আনলক কৰিবলৈ স্ক্ৰীন লক ব্যৱহাৰ কৰিবনে?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"আপুনি আপোনাৰ ডিভাইচটো আনলক কৰিবলৈ ব্যৱহাৰ কৰা একেটা পদ্ধতি ব্যৱহাৰ কৰি ব্যক্তিগত স্পে’চ আনলক কৰিব পাৰে অথবা অন্য কোনো লক বাছনি কৰিব পাৰে"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"স্ক্ৰীন লক ব্যৱহাৰ কৰক"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"নতুন লক বাছনি কৰক"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"সকলো সাজু!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"কৰা হ’ল"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"ব্যক্তিগত স্পে’চ এক্সেছ কৰিবলৈ তললৈ স্ক্ৰ’ল কৰক"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"ব্যক্তিগত স্পে’চ ছেট আপ কৰিবলৈ ছাইন ইন কৰক"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"ব্যক্তিগত স্পে’চ ছেট আপ কৰিবলৈ আপুনি এটা একাউণ্টত ছাইন ইন কৰিব লাগিব"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"ব্যক্তিগত স্পে’চ দেখুৱাবলৈ (চূড়ান্ত UX নহয়)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Settings এপ্টো খোলক"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"সুৰক্ষা আৰু গোপনীয়তা > ব্যক্তিগত স্পে’চ > লক কৰা থাকিলে ব্যক্তিগত স্পে’চ লুকুৱাওকত টিপক"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"লক কৰা থাকিলে ব্যক্তিগত স্পে’চ লুকুৱাওক ট’গল অফ কৰক"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Googlerসকলৰ বাবে টোকা: এই সুবিধাটোৰ এতিয়াও বিকাশ কৰি থকা হৈছে"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"আপুনি <xliff:g id="COUNT">%d</xliff:g> টালৈকে ফিংগাৰপ্ৰিণ্ট যোগ কৰিব পাৰে"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"আপুনি সৰ্বাধিক সংখ্যক ফিংগাৰপ্ৰিণ্টবোৰ যোগ কৰিছে"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"আৰু অধিক ফিংগাৰপ্ৰিণ্ট যোগ কৰিব নোৱাৰি"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"সংযোগ কৰক"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"সংযোগ বিচ্ছিন্ন কৰক"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"পেয়াৰ আৰু সংযোগ কৰক"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"যেতিয়া ব্লুটুথ অন থাকে, তেতিয়া আপোনাৰ ডিভাইচে ওচৰত থকা আন ব্লুটুথ ডিভাইচৰ সৈতে যোগাযোগ কৰিব পাৰে।"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"যেতিয়া ব্লুটুথ অন থাকে, তেতিয়া আপোনাৰ ডিভাইচে নিকটৱৰ্তী আন ব্লুটুথ ডিভাইচৰ সৈতে যোগাযোগ কৰিব পাৰে"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ব্লুটুথ অন হৈ থকা অৱস্থাত আপোনাৰ ডিভাইচটোৱে অন্য নিকটৱৰ্তী ব্লুটুথ ডিভাইচৰ সৈতে সংযোগ স্থাপন কৰিব পাৰে।\n\nডিভাইচ ব্যৱহাৰৰ অভিজ্ঞতা উন্নত কৰিবলৈ এপ্ আৰু সেৱাসমূহে তথাপি যিকোনো সময়ত, আনকি ব্লুটুথ অফ থকা অৱস্থাতো নিকটৱৰ্তী ডিভাইচৰ সন্ধান কৰিব পাৰে। ইয়াক অৱস্থানভিত্তিক সুবিধা আৰু সেৱা উন্নত কৰা আদিৰ দৰে কাৰ্যৰ বাবে ব্যৱহাৰ কৰিব পাৰি। আপুনি এইটো ব্লুটুথ স্কেনিঙৰ ছেটিঙত সলনি কৰিব পাৰে।"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"সলনি কৰক"</string>
<string name="device_details_title" msgid="1155622417516195481">"ডিভাইচৰ বিষয়ে সবিশেষ"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"বাগ সমাধান কৰিব পৰা এপ্সমূহৰ বাবে বাইটক’ড সত্যাপন কৰিবলৈ ARTক অনুমতি দিয়ক"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"ৰিফ্ৰেশ্বৰ হাৰ দেখুৱাওক"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"বৰ্তমানৰ ডিছপ্লে’ ৰিফ্ৰেশ্বৰ হাৰ দেখুৱাওক"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDRৰ অনুপাত দেখুৱাওক"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"বর্তমানৰ HDR/SDRৰ অনুপাত দেখুৱাওক"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFCৰ বাবে ডিভাইচ আনলক কৰাৰ প্ৰয়োজন"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android বীম"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"জপাই থোৱা অৱস্থাত এপ্ ব্যৱহাৰ কৰি থাকক"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"মসৃণ ডিছপ্লে’"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"কিছুমান সমলৰ বাবে ৰিফ্ৰেশ্বৰ হাৰ স্বয়ংক্ৰিয়ভাৱে <xliff:g id="ID_1">%1$d</xliff:g> হাৰ্টজলৈ বঢ়ায়। বেটাৰীৰ ব্যৱহাৰ বৃদ্ধি কৰে।"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"সৰ্বাধিক ৰিফ্ৰেশ্বৰ হাৰ বলপূৰ্বকভাৱে প্ৰয়োগ কৰক"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"স্পৰ্শৰ উন্নত সংবেদনশীলতা আৰু এনিমেশ্বনৰ গুণগত মানৰ বাবে সৰ্বোচ্চ ৰিফ্ৰেশ্বৰ হাৰ। বেটাৰীৰ ব্যৱহাৰ বৃদ্ধি কৰে।"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"স্ক্ৰীনৰ সতর্কতা"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"সম্প্ৰদায়ৰ সৈতে জড়িত ছেটিং"</string>
<string name="apn_settings" msgid="4295467389400441299">"এপিএনসমূহ"</string>
<string name="apn_edit" msgid="2003683641840248741">"এক্সেছ পইণ্ট সম্পাদনা কৰক"</string>
+ <string name="apn_add" msgid="9069613192201630934">"এক্সেছ পইণ্ট যোগ দিয়ক"</string>
<string name="apn_not_set" msgid="8246646433109750293">"ছেট কৰা হোৱা নাই"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"ছেট কৰা হোৱা নাই"</string>
<string name="apn_name" msgid="6677695784108157953">"নাম"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"খুলিবলৈ সাধ্য সুবিধাৰ বুটাম ব্যৱহাৰ কৰক"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"খুলিবলৈ ভলিউম কীসমূহ টিপি ধৰি থাকক"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"খুলিবলৈ স্ক্ৰীনখনত তিনিবাৰ টিপক"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"খুলিবলৈ দুটা আঙুলিৰে স্ক্ৰীনত তিনিবাৰ টিপা"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"খুলিবলৈ ভংগিমা ব্যৱহাৰ কৰক"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"সাধ্য সুবিধাৰ নিৰ্দেশ ব্যৱহাৰ কৰক"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"এই সুবিধাটো ব্যৱহাৰ কৰিবলৈ, আপোনাৰ স্ক্রীনখনৰ একেবাৰে তলৰ অংশত থকা সাধ্য-সুবিধাৰ বুটামটোত <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> টিপক।\n\nসুবিধাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ সাধ্য-সুবিধাৰ বুটামটো স্পৰ্শ কৰি ধৰি ৰাখক।"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"এই সুবিধাটো ব্যৱহাৰ কৰিবলৈ আপোনাৰ স্ক্ৰীনত থকা সাধ্য-সুবিধাৰ বুটামটোত টিপক।"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"এই সুবিধাটো ব্যৱহাৰ কৰিবলৈ, দুয়োটা ভলিউম কী টিপি ধৰি ৰাখক।"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"বিবৰ্ধন আৰম্ভ কৰিবলৈ আৰু বন্ধ কৰিবলৈ আপোনাৰ স্ক্ৰীনখনৰ যিকোনো অংশত তিনিবাৰ টিপক।"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"বিবৰ্ধন আৰম্ভ কৰিবলৈ আৰু বন্ধ কৰিবলৈ আপোনাৰ স্ক্ৰীনখনৰ যিকোনো অংশত দুটা আঙুলিৰে তিনিবাৰ টিপক।"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"এই সুবিধাটো ব্যৱহাৰ কৰিবলৈ, স্ক্রীনখনৰ একেবাৰে তলৰ পৰা ওপৰলৈ ২ টা আঙুলিৰে ছোৱাইপ কৰক।\n\nসুবিধাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ ২ টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"এই সুবিধাটো ব্যৱহাৰ কৰিবলৈ, স্ক্রীনখনৰ একেবাৰে তলৰ পৰা ওপৰলৈ ৩ টা আঙুলিৰে ছোৱাইপ কৰক।\n\nসুবিধাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ ৩ টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"কোনো এটা সাধ্য-সুবিধা ব্যৱহাৰ কৰিবলৈ, স্ক্রীনখনৰ একেবাৰে তলৰ পৰা ওপৰলৈ ২ টা আঙুলিৰে ছোৱাইপ কৰক।\n\nসুবিধাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ ২ টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ভলিউম কীসমূহ ধৰি ৰাখক"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ভলিউম কীসমূহ হেঁচি ধৰি ৰাখক"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"দুয়োটা ভলিউম কী টিপক আৰু হেঁচি ৰাখক"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"দুটা আঙুলিৰে স্ক্ৰীনত তিনিবাৰ টিপা"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"দুটা আঙুলিৰে স্ক্ৰীনত তিনিবাৰ টিপা"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"দুটা আঙুলিৰে স্ক্ৰীনখনত খৰতকীয়াকৈ {0,number,integer} বাৰ টিপক"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"স্ক্রীনখনত তিনিবাৰ টিপক"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"স্ক্রীনখনত তিনিবাৰ টিপক"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"স্ক্ৰীনখনত ক্ষিপ্ৰতাৰে {0,number,integer} বাৰ টিপক। এই শ্বৰ্টকাটটোৱে আপোনাৰ ডিভাইচটো লেহেমীয়া কৰিব পাৰে"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ই আপুনি কোনো এপ্ বা হার্ডৱেৰ ছেন্সৰৰ সৈতে কৰা ভাব-বিনিময় আৰু আপোনাৰ হৈ অন্য কোনো লোকে এপৰ সৈতে কৰা ভাব-বিনিময় ট্ৰেক কৰিব পাৰে।"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"অনুমতি দিয়ক"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"অস্বীকাৰ কৰক"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"বন্ধ কৰক"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"বাতিল কৰক"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> বন্ধ কৰিবনে?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> টিপিলে <xliff:g id="SERVICE">%2$s</xliff:g> বন্ধ হ\'ব।"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"কোনো সেৱা ইনষ্টল কৰা হোৱা নাই"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"কোনো সেৱা বাছনি কৰা হোৱা নাই"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"কোনো বিৱৰণ যোগান ধৰা হোৱা নাই।"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"আপুনি এটা এপৰ নেপথ্য কাৰ্যকলাপ সীমিত কৰিলে ই অস্বাভাৱিক আচৰণ কৰিব পাৰে"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"যিহেতু এই এপ্টো বেটাৰী অপ্টিমাইজ কৰিবলৈ ছেট কৰি থোৱা হোৱা নাই, সেয়ে ইয়াক আপুনি সীমিত কৰিব নোৱাৰে।\n\nএপ্টো সীমিত কৰিবলৈ প্ৰথমে বেটাৰী অপ্টিমাইজেশ্বন অন কৰক।"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"বেটাৰীৰ ব্যৱহাৰ পৰিচালনা কৰক"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"নেপথ্যত ব্যৱহাৰ কৰিবলৈ অনুমতি দিয়ক"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ৰিয়েল-টাইমৰ আপডে’ট পাবলৈ সক্ষম কৰক, বেটাৰী ৰাহি কৰিবলৈ অক্ষম কৰক"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"বাধাহীন"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"অপ্টিমাইজ কৰা"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"সীমিত"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"নাম"</string>
<string name="vpn_type" msgid="5533202873260826663">"প্রকাৰ"</string>
<string name="vpn_server" msgid="2908816134941973935">"ছাৰ্ভাৰৰ ঠিকনা"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"পিপিপি এনক্ৰিপশ্বন (এমপিপিই)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP গোপন"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec চিনাক্তকৰণকাৰী"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec পূৰ্বে শ্বেয়াৰ কৰা কী"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec ব্যৱহাৰকাৰী প্ৰমাণপত্ৰ"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec চিএ প্ৰমাণপত্ৰ"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec ছাৰ্ভাৰ প্ৰমাণপত্ৰ"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"উচ্চখাপৰ বিকল্পবোৰ দেখাওক"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS অনুসন্ধান ড\'মেইনসমূহ"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"ডিএনএছ ছাৰ্ভাৰ (যেনে: ৮.৮.৮.৮)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"ফৰৱাৰ্ড কৰাৰ ঠিকনাসমূহ (যেনে, ১০.০.০.০/৮)"</string>
<string name="vpn_username" msgid="8671768183475960068">"ব্যৱহাৰকাৰীৰ নাম"</string>
<string name="vpn_password" msgid="1183746907642628127">"পাছৱৰ্ড"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"একাউণ্টৰ তথ্য ছেভ কৰক"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ব্যৱহৃত হোৱা নাই)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ছাৰ্ভাৰ সত্যাপন নকৰিব)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(ছাৰ্ভাৰৰ পৰা লাভ কৰা হৈছে)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"এই ধৰণৰ ভিপিএন সেৱাই অনবৰতে সংযোগ বৰ্তাই ৰাখিব নোৱাৰে"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"সদা-সক্ৰিয় ভিপিএনে কেৱল ছাৰ্ভাৰৰ সাংখ্যিক ঠিকনাহে সমৰ্থন কৰে"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"সদা-সক্ৰিয় ভিপিএনৰ বাবে এটা ডিএনছ ছাৰ্ভাৰ নিৰ্দিষ্ট কৰিবই লাগিব"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"সদা-সক্ৰিয় ভিপিএনৰ বাবে ডিএনএছ ছাৰ্ভাৰৰ ঠিকনা সাংখ্যিক হ\'ব লাগিব"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"প্ৰদান কৰা তথ্যই সদায় অন ভিপিএন সমৰ্থন কৰা নাই"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"বাতিল কৰক"</string>
<string name="vpn_done" msgid="5137858784289564985">"প্ৰত্যাখ্যান কৰক"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"ভিপিএন নোহোৱাকৈয়ে সংযোগবোৰ অৱৰোধ কৰক"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN সংযোগৰ প্ৰয়োজন নেকি?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"সুৰক্ষিত নহয়। এটা IKEv2 ভিপিএনলৈ আপডে’ট কৰক"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"যিকোনো সময়ত সংযোগ হৈ থাকিবলৈ ভিপিএন প্ৰ\'ফাইল বাছনি কৰক। এই ভিপিএনত সংযোগ হ\'লেহে ইণ্টাৰনেট ব্যৱহাৰ কৰিব পাৰিব।"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"নাই"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"সদা-সক্ৰিয় ভিপিএনৰ ক্ষেত্ৰত ছাৰ্ভাৰ আৰু ডিএনএছ দুয়োটাৰ বাবে আইপি ঠিকনা থকাটো দৰকাৰী।"</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"আটাইবোৰ জাননী দেখুৱাওক"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"সংবেদনশীল সমল কেৱল আনলক থাকিলেহে দেখুৱাব"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"জাননী কেতিয়াও নেদেখুৱাব"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"আপুনি লক স্ক্ৰীন কিদৰে দেখুওৱাটো বিচাৰে?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"আপোনাৰ লক স্ক্ৰীনে কি দেখুওৱাটো আপুনি বিচাৰে?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"লক স্ক্ৰীন"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"কৰ্মস্থানৰ আটাইবোৰ জাননী সমল দেখুৱাওক"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"কৰ্মস্থানৰ সংবেদনশীল সমল লুকুৱাওক"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"আটাইবোৰ ফাইল পৰিচালনা কৰিবলৈ এক্সেছ দিয়ক"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"এই এপ্টোক এই ডিভাইচটোত অথবা অন্য যিকোনো সংযুক্ত ষ্ট’ৰেজৰ ভলিউমসমূহত আটাইবোৰ ফাইল পঢ়িবলৈ, সংশোধন কৰিবলৈ আৰু মচিবলৈ অনুমতি দিয়ক। যদি অনুমতি দিয়ে, আপোনাৰ নিশ্চিত জ্ঞানৰ অবিহনে এপে ফাইলবোৰ এক্সেছ কৰিব পাৰে।"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"আটাইবোৰ ফাইল এক্সেছ কৰিব পাৰে"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"কন্ঠস্বৰ সক্ৰিয়কৰণৰ এপ্"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"কণ্ঠস্বৰ সক্ৰিয়কৰণৰ অনুমতি দিয়ক"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"কন্ঠস্বৰ সক্ৰিয়কৰণে কণ্ঠস্বৰৰ নিৰ্দেশেৰে অনুমোদিত এপ্, হেণ্ডছ্-ফ্ৰী অন কৰে। বিল্ট-ইন অভিযোজিত ছেন্সিঙে ডেটা কেৱল আপোনাৰ বাবে ব্যক্তিগত হৈ থকাটো নিশ্চিত কৰে।\n\n"<a href="">"সুৰক্ষিত অভিযোজিত ছেন্সিঙৰ বিষয়ে অধিক"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"সম্পূৰ্ণ স্ক্ৰীনৰ জাননী"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"এই এপ্টোৰ পৰা সম্পূৰ্ণ স্ক্ৰীনৰ জাননীৰ অনুমতি দিয়ক"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"এই এপ্টোক ডিভাইচ লক হৈ থাকোঁতে পূৰ্ণ স্ক্ৰীনত ওলোৱা জাননীসমূহ দেখুওৱাৰ অনুমতি দিয়ক। এপ্সমূহে এইবোৰ এলাৰ্ম, অন্তৰ্গামী কল অথবা অন্য জৰুৰী জাননীসমূহ হাইলাইট কৰিবলৈ ব্যৱহাৰ কৰিব পাৰে।"</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g>এ পৃষ্ঠভূমিত থকাৰ সময়ত সাধাৰণতে কৰাতকৈ অধিক বেটাৰী ব্যৱহাৰ কৰিছে"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g>এ অগ্ৰভূমিত থকাৰ সময়ত অধিক বেটাৰী ব্যৱহাৰ কৰিছে"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g>এ অগ্ৰভূমিত থকাৰ সময়ত সাধাৰণতে কৰাতকৈ অধিক বেটাৰী ব্যৱহাৰ কৰিছে"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"বেটাৰী ব্যৱহাৰৰ বিসংগতি"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"অত্যাধিক বেটাৰীৰ ব্যৱহাৰ"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"পৃষ্ঠভূমিত অত্যাধিক বেটাৰীৰ ব্যৱহাৰ"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"অগ্ৰভূমিত অত্যাধিক বেটাৰীৰ ব্যৱহাৰ"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"ছিষ্টেম নেভিগেশ্বন, ২ টা বুটামেৰে কৰা নেভিগেশ্বন, ৩ টা বুটামেৰে কৰা নেভিগেশ্বন, আঙুলিৰ স্পৰ্শৰ নিৰ্দেশেৰে কৰা নেভিগেশ্বন, ছোৱাইপ"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ডিজিটেল সহায়ক"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"সহায়ক এপক কামত লগাবলৈ ছোৱাইপ কৰক"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ডিজিটেল সহায়ক এপক কামত লগাবলৈ তলৰ একোণৰ পৰা ওপৰলৈ ছোৱাইপ কৰক।"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ডিজিটেল সহায়ক এপক কামত লগাবলৈ তলৰ এটা কোণৰ পৰা ওপৰলৈ ছোৱাইপ কৰক"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistantৰ বাবে গৃহপৃষ্ঠা বুটামটোত টিপি ধৰি থাকক"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ডিজিটেল সহায়ক এপ্টো কামত লগাবলৈ গৃহপৃষ্ঠা বুটামটো দবাই ৰাখক।"</string>
<string name="low_label" msgid="6525629096999711220">"নিম্ন"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ব্যাকৰণ বিষয়ক লিংগ বাছনি কৰক"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"প্ৰতাৰণামূলক এপৰ বাবে স্কেন কৰি থকা হৈছে"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"ফিশ্বিঙৰ বাবে এপৰ কাৰ্যকলাপ পৰীক্ষা কৰক"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"স্কেন কৰাৰ সুবিধা ব্যৱহাৰ কৰক"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"কাম সম্পর্কীয় এপৰ বাবে স্কেন কৰাৰ সুবিধা ব্যৱহাৰ কৰক"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"প্ৰতাৰণামূলক এপ্ বিচাৰি উলিয়াবলৈ স্কেন কৰাৰ সুবিধা ব্যৱহাৰ কৰক"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"কৰ্মস্থানৰ প্ৰতাৰণামূলক এপ্ বিচাৰি উলিয়াবলৈ স্কেন কৰাৰ সুবিধা ব্যৱহাৰ কৰক"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 068479a..27d1eaf 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Qələm"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Audio paylaşımı"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Audio paylaşın"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Zəng və zəngli saatlar"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE audio yayımına qoşulun"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Yaxınlıqdakı audio yayımları"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audio yayımları"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR kodu ilə audio yayımına qoşulun"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Yaxınlıqda audio yayımı tapılmadı."</string>
<string name="date_and_time" msgid="1788358029823431692">"Vaxt və tarix"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proksi"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Təmizlə"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"İş profili"</string>
<string name="private_space_title" msgid="7078627930195569767">"Şəxsi yer"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Tətbiqləri şəxsi qovluqda gizlədin"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Ekran kilidi ilə kiliddən çıxarın"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Tətbiqləri yalnız sizin daxil ola biləcəyiniz şəxsi qovluqda gizlədin"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Şəxsi məkan kilidi"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Şəxsi məkanı cihaz kilidi ilə kiliddən çıxara və ya fərqli kilid seçə bilərsiniz"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Cihazın ekran kilidini istifadə edin"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Üz və Barmaqla Kiliddən Açma"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Ayarlamaq üçün toxunun"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Cihazın ekran kilidi ilə eyni"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Şəxsi məkan üçün yeni kilid seçilsin?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Kilidli olduqda gizlədin"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Kilidli olduqda Private Space-i gizlədin"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Tətbiqlər siyahısında Private Space-i digərlərindən gizlədin"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Gizli olduqda Private Space-ə giriş"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Axtarış panelində \"Private Space\" axtarın"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Private Space mozaikinə toxunun"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Private Space-i kiliddən çıxarın"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Deaktiv"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Aktiv"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Şəxsi yer yaradın"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Şəxsi yeri silin"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Şəxsi yer yaradıldı"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Şəxsi yer mövcuddur"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Şəxsi yer yaradılmadı"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Şəxsi yer silindi"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Şəxsi yer silinmədi"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Ekran kilidi quraşdırın"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Cihazda ekran kilidi quraşdırmaqla Məxfi Yeri istifadə edin."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Ekran kilidi quraşdırın"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Ləğv edin"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Ləğv edin"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Ayarlayın"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Private Space ayarlayın"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Şəxsi tətbiqləri yalnız sizin daxil ola biləcəyiniz təhlükəsiz yerdə gizlədin"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Haqqında"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Tətbiq siyahısının aşağısından Private Space-ə daxil ola bilərsiniz"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Private Space-də tətbiqlər kilid ilə qorunur"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Şəxsi məkan kilidlənəndə tətbiq bildirişləri gizlədilir"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Şəxsi məkan kilidlənəndə Şəxsi məkan tətbiqləri icazə meneceri, məxfilik paneli və digər ayarlarda görünməyəcək"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Şəxsi məkan ayarlanır…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Şəxsi məkan kilidlənəndə tətbiq istifadəsi məlumatları gizlədilir"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Şəxsi məkana tətbiq siyahınızdan daxil olun"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Şəxsi məkanı ayarlamaq olmadı"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Yenidən cəhd edin, yaxud sonra qayıdın"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Yenidən sınayın"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Kilidi açmaq üçün ekran kilidi istifadə edilsin?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Şəxsi məkanı cihaz kilidi ilə kiliddən çıxara və ya fərqli kilid seçə bilərsiniz"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Ekran kilidi istifadə edin"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Yeni kilid seçin"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Hər şey hazırdır!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Hazırdır"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Şəxsi məkana giriş üçün aşağı sürüşdürün"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Şəxsi Məkanı ayarlamaq üçün daxil olun"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Şəxsi məkanı ayarlamaq üçün hesaba daxil olmalısınız"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Şəxsi məkanın göstərilməsi (UX təcrübəsi deyil)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Ayarlar tətbiqini açın"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Təhlükəsizlik və məxfilik > Şəxsi məkan > Kilidləndikdə Şəxsi məkanı gizlədin"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Kilidləndikdə Şəxsi məkanı gizlədin keçiricisini söndürün"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google ekspertləri üçün qeyd: Bu funksiya inkişaf mərhələsindədir"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"<xliff:g id="COUNT">%d</xliff:g> ədədə qədər barmaq izi əlavə edə bilərsiniz"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Maksimum sayda barmaq izi əlavə etmisiniz"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Daha artıq barmaq izi əlavə edilə bilməz"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Qoşulsun"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Ayrılın"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"cütləndirin və əlaqə yaradın"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth aktiv olan zaman cihazınız yaxınlıqdakı Bluetooth cihazları ilə bağlantı qura bilər."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth aktiv olduqda cihaz yaxınlıqdakı Bluetooth cihazları ilə bağlantı qura bilər"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth aktiv olduqda cihaz yaxınlıqdakı digər Bluetooth cihazları ilə bağlantı qura bilər.\n\nCihaz təcrübəsini yaxşılaşdırmaq üçün tətbiq və xidmətlər hətta Bluetooth deaktiv olduqda belə istənilən vaxt yaxınlıqdakı cihazları skan edə bilər. Bu, məsələn, məkan əsaslı funksiya və xidmətləri yaxşılaşdırmaq üçün istifadə oluna bilər. Bunu Bluetooth skanlama ayarlarında dəyişə bilərsiniz."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Dəyişin"</string>
<string name="device_details_title" msgid="1155622417516195481">"Cihaz məlumatları"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART sazlanmaya uyğun tətbiqlərin bayt-kodunu yoxlaya bilsin"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Təzələnmə tezliyi göstərilsin"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Ekranın cari təzələnmə tezliyi göstərilsin"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR nisbətini göstərin"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Cari HDR/SDR nisbətini göstərin"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC üçün cihaz kilidinin açılması tələb olunsun"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Qatlandıqda tətbiqlərdən istifadəyə davam edin"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Rahat Displey"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Bəzi kontentlər üçün yeniləmə dərəcəsini <xliff:g id="ID_1">%1$d</xliff:g> Hs-ə qədər avtomatik yüksəldir. Batareya istifadəsini artırır."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Pik yeniləmə dərəcəsini məcburi tətbiq edin"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Təzələnmə tezliyini artıraraq sensor həssaslığını və animasiya axıcılığını artırır. Enerji sərfiyyatını artırır."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Ekran həssaslığı"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Kommunal ayarlar"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN-lər"</string>
<string name="apn_edit" msgid="2003683641840248741">"Giriş nöqtəsinə düzəliş edin"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Giriş nöqtəsi əlavə edin"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Təyin edilməyib"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ayarlanmayıb"</string>
<string name="apn_name" msgid="6677695784108157953">"Ad"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Xüsusi imkanlar düyməsini istifadə edin"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Açmaq üçün səs düymələrini basıb saxlayın"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Açmaq üçün ekrana üç dəfə toxunun"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Açmaq üçün ekrana iki barmaqla üç dəfə toxunma"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Açmaq üçün jestdən istifadə edin"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Əlçatımlılıq jestindən istifadə edin"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Bu funksiyanı işlətmək üçün ekranın altındakı xüsusi imkanlar düyməsinə <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> toxunun.\n\nFunksiyadan funksiyaya keçmək üçün xüsusi imkanlar düyməsinə toxunub saxlayın."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Bu funksiyanı işlətmək üçün xüsusi imkanlar düyməsinə toxunun."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Bu funksiyanı istifadə etmək üçün hər iki səs düyməsini basıb saxlayın."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Böyütməni başlatmaq və dayandırmaq üçün ekranda istənilən yerə üç dəfə toxunun."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Böyütməni başlatmaq və dayandırmaq üçün ekrana iki barmaqla üç dəfə toxunun."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Bu funksiyanı istifadə etmək üçün 2 barmaq ilə ekranın aşağısından yuxarıya doğru sürüşdürün.\n\nFunksiyalar arasında keçid etmək üçün 2 barmaq ilə yuxarıya sürüşdürüb saxlayın."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Bu funksiyanı istifadə etmək üçün 3 barmaq ilə ekranın aşağısından yuxarıya doğru sürüşdürün.\n\nFunksiyalar arasında keçid etmək üçün 3 barmaq ilə yuxarıya sürüşdürüb saxlayın."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Əlçatımlılıq funksiyasını istifadə etmək üçün 2 barmaq ilə ekranın aşağısından yuxarıya doğru sürüşdürün.\n\nFunksiyalar arasında keçid etmək üçün 2 barmaq ilə yuxarıya sürüşdürüb saxlayın."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Səs düymələrinə basıb saxlayın"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"səs düymələrinə basıb saxlayın"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Hər iki səs düyməsini basıb saxlayın"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"İki barmaqla ekrana üç dəfə toxunma"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"iki barmaqla ekrana üç dəfə toxunma"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Ekrana iki barmaqla {0,number,integer} dəfə cəld toxunun"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekrana üç dəfə toxunun"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ekrana üç dəfə toxunun"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ekrana {0,number,integer} dəfə cəld toxunun. Bu qısayol cihazınızı yavaşlada bilər"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Tətbiq və sensorlarla əlaqələrinizi izləyib tətbiqlərə adınızdan əmrlər verə bilər"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"İcazə verin"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"İmtina edin"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Dayandırın"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Ləğv edin"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> dayandırılsın?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> seçiminə toxunduqda <xliff:g id="SERVICE">%2$s</xliff:g> dayandırılacaq."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Heç bir xidmət quraşdırılmayıb"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Xidmət seçilmədi"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Heç bir təsvir verilməyib."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Tətbiqin arxa fon fəaliyyətini məhdudlaşdırsanız, o səhv işləyə bilər"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Bu tətbiq üçün enerji qənaəti aktiv deyil.\n\nMəhdudiyyət tətbiq etmək üçün onu aktivləşdirin."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Batareya istifadəsini idarə edin"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Arxa fonda istifadəsinə icazə verin"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Real vaxt yeniləmələri üçün aktivləşdirin. Batareyaya qənaət üçün deaktiv edin."</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Məhdudiyyətsiz"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimal"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Məhdud"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Ad"</string>
<string name="vpn_type" msgid="5533202873260826663">"Növ"</string>
<string name="vpn_server" msgid="2908816134941973935">"Server ünvanı"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP şifrələmə (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secret"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifikatoru"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec öncədən paylaşılmış açar"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec istifadəçi sertifikatı"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA sertifikatı"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec server sertifikatı"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Digər seçimlər"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS axtarış domenləri"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS serverləri (məsələn, 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Yönləndirmə marşrutları (məsələn, 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"İstifadəçi adı"</string>
<string name="vpn_password" msgid="1183746907642628127">"Parol"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Hesab məlumatı yadda saxlayın"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(istifadə edilməyib)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(serveri yoxlama)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(serverdən alınıb)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Bu VPN növü həmişə qoşulu qala bilmir"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Həmişə aktiv olan VPN yalnız rəqəmli server ünvanlarını dəstəkləyir"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Həmişə aktiv olan VPN üçün DNS serveri göstərilməlidir"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Həmişə aktiv olan VPN üçün DNS server ünvanları rəqəmli olmalıdır"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Daxil edilən məlumat həmişə aktiv olan VPN\'i dəstəkləmir"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Ləğv edin"</string>
<string name="vpn_done" msgid="5137858784289564985">"Rədd edin"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN\'siz bağlantıları blok edin"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN bağlantısı tələb edilir?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Güvənli deyil. IKEv2 VPN seçiminə güncəlləyin"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Həmişə qoşulu qalmaq üçün VPN profili seçin. Yalnız bu VPN\'ə qoşulu olduqda şəbəkə trafikinə icazə veriləcək."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Heç biri"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Qoşulu VPN həmişə server və DNS üçün IP ünvan tələb edir."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Bütün bildirişlər göstərilsin"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Məxfi məlumatlar kilidsiz ekranda görünsün"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Bildirişlər heç göstərilməsin"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Ekran kilidində necə göstərilməsini istəyirsiniz?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ekran kilidində nə göstərilməsini istəyirsiniz?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Ekran kilidi"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Bütün iş bildirişləri göstərilsin"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Həssas məlumatı gizlədin"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Bütün faylları idarə etmək üçün giriş icazəsi verin"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Bu tətbiqə bu cihazda və ya qoşulmuş cihazların yaddaşındakı bütün faylları oxumaq, dəyişmək və silmək icazəsi verin. İcazə verilsə, tətbiq xəbəriniz olmadan fayllara daxil ola bilər."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Bütün fayllara daxil ola bilər"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Səslə aktivləşdirmə tətbiqləri"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Səslə aktivləşdirməyə icazə verin"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Səslə aktivləşdirmə təsdiqlənmiş tətbiqləri səsli əmrdən istifadə edərək, səsli idarəetmə vasitəsilə aktiv edir. Daxili qorunan adaptiv sensor datanın yalnız sizin üçün görünməsini təmin edir.\n\n"<a href="">"Qorunan adaptiv sensor haqqında ətraflı məlumat"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Tam ekran bildirişləri"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Bu tətbiqin tam ekran bildirişlərinə icazə verin"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Bu tətbiqə cihaz kilidli olduqda tam ekranı tutan bildirişlər göstərmək icazəsi verin. Bunlar zəngli saat, gələn zəng və ya digər təcili bildirişlər üçündür."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> arxa fonda həmişəkindən çox batareya enerjisi istifadə edib"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ön planda çox batareya enerjisi istifadə edib"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ön planda həmişəkindən çox batareya enerjisi istifadə edib"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Batareya istifadəsi anomaliyası"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Yüksək batareya istifadəsi"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Arxa fonda yüksək batareya istifadəsi"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Ön planda yüksək batareya istifadəsi"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"sistem naviqasiyası, 2 düyməli naviqasiya, 3 düyməli naviqasiya, jest naviqasiyası, sürüşdürmə"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Rəqəmsal assistent"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Assistenti aktiv etmək üçün sürüşdürün"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Rəqəmsal assistent tətbiqini aktiv etmək üçün aşağı küncdən yuxarı sürüşdürün."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Rəqəmsal assistent tətbiqini aktiv etmək üçün aşağı küncdən yuxarı sürüşdürün"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistent üçün Əsas Səhifə seçimini basıb saxlayın"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Rəqəmsal assistent tətbiqini işə salmaq üçün Əsas ekran düyməsini basıb saxlayın."</string>
<string name="low_label" msgid="6525629096999711220">"Aşağı"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Cins (qrammatika) seçin"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Aldadıcı tətbiqlərin skanlanması"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Tətbiq fəaliyyətində fişinqin yoxlanması"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Skandan istifadə"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"İş tətbiqləri üçün skandan istifadə"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Aldadıcı tətbiqlər üçün skandan istifadə"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Aldadıcı iş tətbiqləri üçün skandan istifadə"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index e81da68..07fdef9 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pisaljka"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Deljenje zvuka"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Deli zvuk"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Pozivi i alarmi"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Povežite se sa LE Audio strimom"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Audio strimovi u blizini"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audio strimovi"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Povežite se sa audio strimom pomoću QR koda"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Nema audio strimova u blizini."</string>
<string name="date_and_time" msgid="1788358029823431692">"Datum i vreme"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proksi"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Obriši"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Poslovni profil"</string>
<string name="private_space_title" msgid="7078627930195569767">"Privatni prostor"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Sakrij aplikacije u privatnom folderu"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Otključaj pomoću otključavanja ekrana"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Sakrijte aplikacije u privatnom folderu kom samo vi možete da pristupate"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Zaključavanje privatnog prostora"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Možete da otključavate privatni prostor isto kao što otključavate uređaj ili da odaberete drugačiji tip otključavanja"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Koristi zaključavanje ekrana uređaja"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Otključavanje licem i otiskom prsta"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Dodirnite da biste podesili"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Isto kao zaključavanje ekrana uređaja"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Odabraćete novo zaključavanje za privatni prostor?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Sakrij kad je zaključan"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Sakrijte privatni prostor kad je zaključan"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Privatni prostor možete da sakrijete sa liste aplikacija"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Pristupite privatnom prostoru kad je sakriven"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Potražite Privatni prostor na traci za pretragu"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Dodirnite pločicu Privatni prostor"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Otključajte privatni prostor"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Isključeno"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Uključeno"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Napravi privatni prostor"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Izbriši privatni prostor"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Privatni prostor je napravljen"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Privatni prostor već postoji"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Pravljenje privatnog prostora nije uspelo"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Privatni prostor je izbrisan"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Brisanje privatnog prostora nije uspelo"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Podesite zaključavanje ekrana"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Za privatni prostor podesite zaključavanje ekrana na uređaju."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Podesi zaključavanje ekrana"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Otkaži"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Otkaži"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Podesi"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Podesite privatni prostor"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Sakrijte privatne aplikacije u bezbednom prostoru kom samo vi možete da pristupite"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Princip rada"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Privatnom prostoru možete da pristupite sa dna liste aplikacija"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Aplikacije u privatnom prostoru su zaključane"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Obaveštenja iz aplikacija privatnog prostora su skrivena kad je on zaključan"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Aplikacije privatnog prostora neće se pojaviti u menadžeru dozvola, na kontrolnoj tabli za privatnost i u drugim podešavanjima kad je privatni prostor zaključan"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Podešava se privatni prostor…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Informacije o korišćenju za aplikacije iz privatnog prostora su skrivene kada je zaključan"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Pristupajte privatnom prostoru sa liste aplikacija"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Neke sistemske aplikacije su već instalirane u privatnom prostoru"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Podešavanje privatnog prostora nije uspelo"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Probajte ponovo sada ili se vratite kasnije"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Probaj ponovo"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Želite da otključate pomoću otključavanja ekrana?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Možete da otključavate privatni prostor isto kao što otključavate uređaj ili da odaberete drugačiji tip otključavanja"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Koristi otključavanje ekrana"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Odaberi novi tip zaključavanja"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Gotovo!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"Možete da pristupate privatnom prostoru sa liste aplikacija"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Gotovo"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Skrolujte nadole da biste pristupali privatnom prostoru"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Prijavite se da biste podesili privatni prostor"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Treba da se prijavite na nalog da biste podesili privatni prostor"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Da biste prikazali privatno prostor (nije konačni UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Otvorite aplikaciju Podešavanja"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Dodirnite Bezbednost & Privatnost > Privatni prostor > Sakrijte privatni prostor kad je zaključan"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Prekidač Sakrijte privatni prostor kad je zaključan"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Napomena zaposlenima u Google-u: Programiranje ove aplikacije je još u toku"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Možete da ih dodate do <xliff:g id="COUNT">%d</xliff:g>"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Dodali ste maksimalan broj otisaka prstiju"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Ne možete da dodate još otisaka prstiju"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Poveži"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Prekini vezu"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Upari i poveži"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kada je Bluetooth uključen, uređaj može da komunicira sa drugim Bluetooth uređajima u blizini."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kada je Bluetooth uključen, uređaj može da komunicira sa drugim Bluetooth uređajima u blizini"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kada je Bluetooth uključen, uređaj može da komunicira sa drugim Bluetooth uređajima u blizini.\n\nRadi boljeg doživljaja uređaja, aplikacije i usluge i dalje mogu da traže uređaje u blizini u bilo kom trenutku, čak i kada je Bluetooth isključen. Ovo može da se koristi, na primer, za poboljšanje funkcija i usluga zasnovanih na lokaciji. To možete da promenite u podešavanjima Bluetooth skeniranja."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Promeni"</string>
<string name="device_details_title" msgid="1155622417516195481">"Detalji o uređaju"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Dozvoli da ART potvrdi binarni kôd aplikacija iz kojih mogu da se otklone greške"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Prikaži učestalost osvežavanja"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Prikazuje aktuelnu učestalost osvežavanja ekrana"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Prikaži HDR ili SDR razmeru"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Prikazuje aktuelnu HDR ili SDR razmeru"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Traži da se otključa uređaj za korišćenje NFC-a"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Nastavi sa korišćenjem aplikacija pri preklapanju"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Tečan prikaz"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatski podiže učestalost osvežavanja do <xliff:g id="ID_1">%1$d</xliff:g> Hz za određeni sadržaj. Povećava potrošnju baterije."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Nametni maksimalnu učestalost osvežavanja"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Najveća učestalost osvežavanja za poboljšan odziv na dodir i kvalitet animacije. Povećava potrošnju baterije."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Pažnja ekrana"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Zajednička podešavanja"</string>
<string name="apn_settings" msgid="4295467389400441299">"Nazivi pristupnih tačaka"</string>
<string name="apn_edit" msgid="2003683641840248741">"Izmena pristupne tačke"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Dodajte pristupnu tačku"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nije podešeno"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nije podešeno"</string>
<string name="apn_name" msgid="6677695784108157953">"Naziv"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otvarajte pomoću dugmeta za pristupačnost"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Zadržite tastere za jačinu zvuka da biste otvorili"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triput dodirnite ekran da biste otvorili"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Dodirnite ekran tri puta pomoću dva prsta da biste otvorili"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otvarajte pomoću pokreta"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Koristite pokret za pristupačnost"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Da biste koristili ovu funkciju, dodirnite dugme Pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> u dnu ekrana.\n\nDa biste prelazili sa jedne funkcije na drugu, dodirnite i zadržite dugme Pristupačnost."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Da biste koristili ovu funkciju, dodirnite dugme Pristupačnost na ekranu."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Da biste koristili ovu funkciju, pritisnite i zadržite oba tastera za jačinu zvuka."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Da biste pokrenuli i zaustavili uvećanje, triput dodirnite bilo gde na ekranu."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Da biste pokrenuli i zaustavili uvećanje, dodirnite tri puta bilo gde na ekranu pomoću dva prsta."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Da biste koristili ovu funkciju, prevucite nagore od dna ekrana pomoću 2 prsta.\n\nDa biste prelazili sa jedne funkcije na drugu, prevucite nagore pomoću 2 prsta i zadržite."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Da biste koristili ovu funkciju, prevucite nagore od dna ekrana pomoću 3 prsta.\n\nDa biste prelazili sa jedne funkcije na drugu, prevucite nagore pomoću 3 prsta i zadržite."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Da biste koristili funkciju pristupačnosti, prevucite nagore od dna ekrana pomoću 2 prsta.\n\nDa biste prelazili sa jedne funkcije na drugu, prevucite nagore pomoću 2 prsta i zadržite."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Zadržite tastere za jačinu zvuka"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"zadržite tastere za jačinu zvuka"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Pritisnite i zadržite oba tastera za jačinu zvuka"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Dodirnite ekran tri puta pomoću dva prsta"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"dodirnite ekran tri puta pomoću dva prsta"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Brzo dodirnite ekran {0,number,integer} puta pomoću dva prsta"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Dodirnite ekran triput"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"dodirnite ekran triput"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Brzo dodirnite ekran {0,number,integer} puta. Ova prečica može da uspori uređaj"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Može da prati interakcije sa aplikacijom ili senzorom hardvera i koristi aplikacije umesto vas."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Dozvoli"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Odbij"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Zaustavi"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Otkaži"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Želite li da zaustavite <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Ako dodirnete <xliff:g id="STOP">%1$s</xliff:g>, zaustavićete uslugu <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nijedna usluga nije instalirana"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nijedna usluga nije izabrana"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Nije naveden opis."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ako ograničite aktivnosti aplikacije u pozadini, možda će se ponašati neočekivano."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Apl. nije podešena za optimizaciju baterije, pa ne možete da je ograničite. \n\nZa ogr. apl. uključite optimizaciju baterije."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Upravljajte potrošnjom baterije"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Dozvoli korišćenje u pozadini"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Omogućite za ažuriranja u realnom vremenu, onemogućite da biste uštedeli bateriju"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neograničeno"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizovano"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ograničeno"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Naziv"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tip"</string>
<string name="vpn_server" msgid="2908816134941973935">"Adresa servera"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP šifrovanje (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Tajni L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifikator"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec unapred deljeni ključ"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec sertifikat korisnika"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA sertifikat"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec sertifikat servera"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Prikaži napredne opcije"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS domeni za pretragu"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS serveri (npr. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Rute za prosleđivanje (npr. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Korisničko ime"</string>
<string name="vpn_password" msgid="1183746907642628127">"Lozinka"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Sačuvaj informacije o nalogu"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ne koristi se)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne verifikuj server)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(primljeno sa servera)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ovaj tip VPN-a ne može uvek da ostane povezan"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Uvek uključeni VPN podržava samo numeričke adrese servera"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"DNS server mora da se odredi za uvek uključeni VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adrese DNS servera moraju da budu numeričke za uvek uključeni VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Unete informacije ne podržavaju uvek uključeni VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Otkaži"</string>
<string name="vpn_done" msgid="5137858784289564985">"Odbaci"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blokiraj veze bez VPN-a"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Treba vam VPN veza?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nije bezbedno. Ažurirajte na IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Izaberite VPN profil sa kojim ćete uvek biti povezani. Mrežni sadržaj će biti dozvoljen samo kada ste povezani sa ovim VPN-om."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Nijedan"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Stalno uključen VPN zahteva IP adresu za server i DNS."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Prikaži sav sadržaj obaveštenja"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Prikaži osetljiv sadržaj samo kada je otključan"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ne prikazuj uopšte obaveštenja"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kako želite da se prikazuje sadržaj na zaključanom ekranu?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Šta želite da se prikazuje na zaključanom ekranu?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Zaključan ekran"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Prikazuj sav sadržaj obaveštenja o poslovnom profilu"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Sakrij osetljiv sadržaj poslovnog profila"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Dozvoli pristup za upravljanje svim datotekama"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Dozvolite da ova aplikacija čita, menja i briše sve datoteke na ovom uređaju ili svim povezanim uređajima za skladištenje. Ako to dozvolite, aplikacija može da pristupa datotekama bez vašeg znanja."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Može da pristupa svim datotekama"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikacije sa aktivacijom glasom"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Dozvoli aktivaciju glasom"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Glasovna aktivacija uključuje odobrene aplikacije hendsfri pomoću glasovne komande. Ugrađeno prilagodljivo otkrivanje garantuje da će vaši podaci ostati privatni.\n\n"<a href="">"Još o zaštićenom prilagodljivom otkrivanju"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Obaveštenja preko celog ekrana"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Dozvolite obaveštenja preko celog ekrana od ove aplikacije"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Dozvolite ovoj aplikaciji da prikazuje obaveštenja preko celog ekrana kada je uređaj zaključan. Aplikacije mogu da ih koriste radi isticanja alarma, dolaznih poziva ili drugih hitnih obaveštenja."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> koristi više baterije nego obično dok je u pozadini"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> koristi više energije dok je u prvom planu"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> koristi više energije nego obično dok je u prvom planu"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalija u vezi sa potrošnjom baterije"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Velika potrošnja baterije"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Velika potrošnja baterije u pozadini"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Velika potrošnja baterije u prvom planu"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navigacija kroz sistem, navigacija pomoću 2 dugmeta, navigacija pomoću 3 dugmeta, navigacija pomoću pokreta, prevlačenje"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitalni pomoćnik"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Prevucite da biste pokrenuli pomoćnik"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Prevucite nagore iz nekog od donjih ulova da biste pokrenuli aplikaciju digitalnog pomoćnika."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Prevucite nagore iz nekog od donjih ulova da biste pokrenuli aplikaciju digitalnog pomoćnika"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Za pokretanje Pomoćnika zadržite dugme za početni ekran"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Pritisnite i zadržite dugme za početni ekran da biste pokrenuli aplikaciju digitalnog pomoćnika."</string>
<string name="low_label" msgid="6525629096999711220">"Niska"</string>
@@ -4960,8 +4943,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Izaberite gramatički rod"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Provera radi otkrivanja obmanjujućih aplikacija"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Proverite aktivnosti u aplikacijama radi otkrivanja „pecanja“"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Koristi proveru"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Koristi proveru za poslovne aplikacije"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Koristi skeniranje za obmanjujuće aplikacije"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Koristi skeniranje za obmanjujuće aplikacije za posao"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 8a05f3a..68e2a9e 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Стылус"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Абагульванне аўдыя"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Абагульваць аўдыя"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Выклікі і будзільнікі"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Падключыцца да аўдыяплыні LE"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Аўдыяплыні паблізу"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Аўдыяплыні"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Падключыцца да аўдыяплыні з дапамогай QR-кода"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Аўдыяплыней паблізу не знойдзена."</string>
<string name="date_and_time" msgid="1788358029823431692">"Дата і час"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Проксі-сервер"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Ачысціць"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Працоўны профіль"</string>
<string name="private_space_title" msgid="7078627930195569767">"Прыватная вобласць"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Праграмы можна хаваць у прыватнай папцы"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Атрымліваць доступ з дапамогай сродку разблакіроўкі экрана"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Праграмы можна хаваць у прыватнай папцы, да якой маеце доступ толькі вы"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Блакіроўка прыватнай вобласці"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Прыватную вобласць можна разблакіраваць тым жа спосабам, што і пры блакіроўцы прылады, або выбраць іншы спосаб блакіроўкі"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Ужываць блакіроўку экрана прылады"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Распазнаванне твару і разблакіроўка адбіткам пальца"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Дакраніцеся, каб наладзіць"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Аднолькава з блакіроўкай экрана прылады"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Выбраць новую блакіроўку для прыватнай вобласці?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Хаваць, калі доступ заблакіраваны"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Хаваць прыватную вобласць, калі доступ да яе заблакіраваны"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Прыватную вобласць можна не паказваць у спісе праграм"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Доступ да прыватнай вобласці, калі яна схавана"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"У радку пошуку набярыце \"Прыватная вобласць\""</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Націсніце на плітку \"Прыватная вобласць\""</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Разблакіраваць прыватную вобласць"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Выключана"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Уключана"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Сістэма"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Стварыць прыватную вобласць"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Выдаліць прыватную вобласць"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Прыватная вобласць створана"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Прыватная вобласць ужо існуе"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Не ўдалося стварыць прыватную вобласць"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Прыватная вобласць выдалена"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Не ўдалося выдаліць прыватную вобласць"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Наладзьце блакіроўку экрана"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Каб выкарыстоўваць прыватную вобласць, на прыладзе неабходна наладзіць блакіроўку экрана."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Наладзіць блакіроўку экрана"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Скасаваць"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Скасаваць"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Наладзіць"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Наладжванне прыватнай вобласці"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Калі вы хочаце, каб некаторыя праграмы былі прыватнымі, схавайце іх, дадаўшы ў прыватную вобласць, да якой маеце доступ толькі вы"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Як гэта працуе"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Вы можаце атрымаць доступ да прыватнай вобласці ў ніжняй частцы спіса праграм"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Доступ да праграм у прыватнай вобласці можна заблакіраваць"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Калі доступ да прыватнай вобласці заблакіраваны, апавяшчэнні з дададзеных у яе праграм не паказваюцца"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Калі доступ да прыватнай вобласці заблакіраваны, праграмы з яе не паказваюцца ў менеджары дазволаў і на панэлі кіравання доступам, а таксама ў іншых наладах"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Наладжваецца прыватная вобласць…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Звесткі аб выкарыстанні прыватнай вобласці схаваны, калі яна заблакіравана"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Уваходзьце ў прыватную вобласць са спіса праграм"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Не ўдаецца наладзіць прыватную вобласць"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Паўтарыце спробу зараз або вярніцеся пазней"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Паўтарыць спробу"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Ужываць блакіроўку экрана для разблакіроўкі?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Прыватную вобласць можна разблакіраваць тым жа спосабам, што і пры блакіроўцы прылады, або выбраць іншы спосаб блакіроўкі"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Выкарыстоўваць блакіроўку экрана"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Выбраць новы спосаб блакіроўкі"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Гатова!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Гатова"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Каб увайсці ў прыватную вобласць, прагартайце ўніз"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Увайдзіце ва ўліковы запіс, каб наладзіць прыватную вобласць"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Каб наладзіць прыватную вобласць, увайдзіце ва ўліковы запіс"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Каб паказаць прыватную вобласць (інтэрфейс дапрацоўваецца)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Адкрыйце праграму \"Налады\""</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Націсніце \"Бяспека і прыватнасць > Прыватная вобласць > Хаваць прыватную вобласць пры блакіроўцы\""</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Выключыць наладу \"Хаваць прыватную вобласць пры блакіроўцы\""</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Заўвага для супрацоўнікаў Google. Распрацоўка гэтай функцыі яшчэ не завершана."</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Вы можаце дадаць да <xliff:g id="COUNT">%d</xliff:g> адбіткаў пальца"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Вы дадалі максімальную колькасць адбіткаў пальцаў"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Немагчыма дадаць больш адбіткаў пальцаў"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Падключыцца"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Адключыць"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Спалучыць і падключыць"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Калі Bluetooth уключаны, ваша прылада можа звязвацца з іншымі прыладамі з Bluetooth, якія знаходзяцца побач."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Калі Bluetooth уключаны, ваша прылада можа звязвацца з іншымі прыладамі з Bluetooth, якія знаходзяцца побач"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Калі Bluetooth уключаны, прылада можа абменьвацца данымі з іншымі прыладамі з Bluetooth, якія знаходзяцца паблізу.\n\nПраграмы і сэрвісы будуць шукаць прылады паблізу, нават калі Bluetooth выключаны. Гэту функцыю можна выкарыстоўваць для паляпшэння працы прылады, напрыклад для больш дакладнага вызначэння месцазнаходжання. Вы можаце змяніць яе ў наладах пошуку Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Змяніць"</string>
<string name="device_details_title" msgid="1155622417516195481">"Звесткі пра прыладу"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Дазволіць ART спраўдзіць байт-код праграм з магчымасцю адладкі"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Паказваць хуткасць абнаўлення"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Паказваць цяперашнюю хуткасць абнаўлення дысплэя"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Паказваць суадносіны HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Паказваць бягучыя суадносіны HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Патрабаваць разблакіроўку прылады для NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Працягваць выкарыстоўваць праграмы, калі прылада складзена"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Плаўны паказ"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Аўтаматычна павялічвае частату абнаўлення пэўнага змесціва да <xliff:g id="ID_1">%1$d</xliff:g> Гц. Павышае выкарыстанне зараду акумулятара."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Прымусовая пікавая частата абнаўлення"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Найвышэйшая частата абнаўлення для лепшага рэагавання на дотыкі і вышэйшай якасці анімацыі. Павышае выкарыстанне зараду акумулятара."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Адаптыўны рэжым"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Супольныя налады"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Змяніць пункт доступу"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Дадаванне пункта доступу"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Не зададзена"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Не зададзена"</string>
<string name="apn_name" msgid="6677695784108157953">"Назва"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Адкрывайце кнопкай спецыяльных магчымасцей"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Каб адкрыць, утрымлівайце клавішы гучнасці"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Каб адкрыць, тройчы націсніце на экран"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Каб адкрыць, тройчы націсніце на экран двума пальцамі"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Адкрывайце жэстам"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Скарыстаць жэст спецыяльных магчымасцей"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Каб скарыстаць гэту функцыю, націсніце кнопку спецыяльных магчымасцей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> унізе экрана.\n\nКаб пераключыцца на іншую функцыю, утрымлівайце кнопку спецыяльных магчымасцей націснутай."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Каб выкарыстоўваць гэту функцыю, націсніце на экране кнопку спецыяльных магчымасцей."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Каб скарыстаць гэту функцыю, націсніце і ўтрымлівайце абедзве клавішы гучнасці."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Каб запусціць і спыніць функцыю павелічэння, тройчы націсніце ў любым месцы экрана."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Каб запусціць і спыніць функцыю павелічэння, тройчы націсніце ў любым месцы экрана двума пальцамі."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Каб скарыстаць гэту функцыю, правядзіце па экране двума пальцамі знізу ўверх.\n\nКаб пераключыцца на іншую функцыю, правядзіце двума пальцамі ўверх і ўтрымлівайце іх на экране."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Каб скарыстаць гэту функцыю, правядзіце па экране трыма пальцамі знізу ўверх.\n\nКаб пераключыцца на іншую функцыю, правядзіце трыма пальцамі ўверх і ўтрымлівайце іх на экране."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Каб скарыстаць спецыяльную магчымасць, правядзіце па экране двума пальцамі знізу ўверх.\n\nКаб пераключыцца на іншую функцыю, правядзіце двума пальцамі ўверх і ўтрымлівайце іх на экране."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Утрымліваць клавішы гучнасці націснутымі"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"утрыманне клавіш гучнасці націснутымі"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Націсніце і ўтрымлівайце абедзве клавішы гучнасці"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Тройчы націсніце на экран двума пальцамі"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"тройчы націсніце на экран двума пальцамі"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Хутка націсніце на экран {0,number,integer} разы двума пальцамі"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Тройчы націснуць на экран"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"трайное націсканне на экран"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Хутка націсніце на экран некалькі разоў ({0,number,integer}). Выкарыстанне гэтай каманды можа запаволіць працу прылады"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Гэта функцыя можа адсочваць вашы ўзаемадзеянні з праграмай ці датчыкам апаратнага забеспячэння і ўзаемадзейнічаць з праграмамі ад вашага імя."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Дазволіць"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Адмовіць"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Спыніць"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Скасаваць"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Адключыць сэрвіс \"<xliff:g id="SERVICE">%1$s</xliff:g>\"?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Націск кнопкі \"<xliff:g id="STOP">%1$s</xliff:g>\" спыніць працу сэрвісу \"<xliff:g id="SERVICE">%2$s</xliff:g>\"."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Няма ўсталяваных службаў"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Служба не выбрана"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Няма апісання."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Абмежаванне фонавай дзейнасці праграмы можа прывесці да збояў"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Паколькі ў гэтай праграме не наладжана аптымізацыя выкарыстання зараду акумулятара, вы не можаце абмежаваць яе працу. \n\n Для гэтага спачатку ўключыце аптымізацыю акумулятара."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Кіраваць выкарыстаннем зараду"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Дазволіць фонавае выкарыстанне"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Уключыце, каб атрымліваць абнаўленні ў рэальным часе, выключыце для эканоміі зараду акумулятара"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Без абмежаванняў"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Аптымізавана"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"З абмежаваннямі"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Назва"</string>
<string name="vpn_type" msgid="5533202873260826663">"Тып"</string>
<string name="vpn_server" msgid="2908816134941973935">"Адрас сервера"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP-шыфраванне (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Сакрэт L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Ідэнтыфікатар IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Папярэдне размеркаваны ключ IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Сертыфікат карыстальніка IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"CA-сертыфікат IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"сертыфікат сервера IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Паказаць пашыраныя параметры"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Дамены DNS-пошуку"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-серверы (напрыклад, 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Перасылка маршрутаў (напрыклад, 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Імя карыстальніка"</string>
<string name="vpn_password" msgid="1183746907642628127">"Пароль"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Захаваць інфармацыю аб уліковым запісе"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(Не выкарыстоўваецца)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(не правяраць сервер)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(атрыманыя з сервера)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Гэта сетка VPN не можа заўсёды заставацца ўключанай"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Для заўсёды ўключанай VPN падыходзяць толькі адрасы сервераў, якія складаюцца з лічбаў"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Для заўсёды ўключанай VPN павінен быць пазначаны DNS-сервер"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Для заўсёды ўключанай VPN адрасы DNS-сервераў павінны складацца з лічбаў"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Уведзеная інфармацыя не сумяшчальная з заўсёды ўключанай VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Скасаваць"</string>
<string name="vpn_done" msgid="5137858784289564985">"Адхіліць"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Блакіраваць злучэнні без VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Патрабуецца падключэнне VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Сетка VPN не абаронена. Перайдзіце на пратакол IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Дазволiць, каб VPN заўсёды заставаўся падключаным да сеткi, можна будзе толькi пасля падключэння да гэтага VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Няма"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Заўсёды ўключаны VPN патрабуе IP-адрас для сервера і DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Паказваць усе апавяшчэнні"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Паказваць канфідэнцыяльныя даныя толькі пасля разблакіроўкі"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Не паказваць апавяшчэнні"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Якім чынам будзе паказвацца экран блакіроўкі?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Як паказваць паведамленні на экране блакіроўкі?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Экран блакіроўкі"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Паказваць усё змесціва ў працоўных апавяшчэннях"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Схаваць канфідэнцыяльныя працоўныя даныя"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Дазволіць доступ да кіравання ўсімі файламі"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Дазвольце гэтай праграме чытаць, змяняць і выдаляць усе файлы на гэтай прыладзе ці ў падключаных сховішчах. З такім дазволам праграма зможа атрымліваць доступ да файлаў без вашага ведама."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Магчымы доступ да ўсіх файлаў"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Праграмы з галасавой актывацыяй"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Дазволіць галасавую актывацыю"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Дзякуючы функцыі галасавой актывацыі ўхваленыя праграмы можна ўключаць з дапамогай галасавога кіравання, выкарыстоўваючы каманды. Прымяненне ўбудаванай адаптыўнай сістэмы распазнавання дазваляе захаваць прыватнасць вашых даных.\n\n"<a href="">"Падрабязней пра абароненую адаптыўную сістэму распазнавання"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Поўнаэкранныя апавяшчэнні"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Дазволіць поўнаэкранныя апавяшчэнні ад гэтай праграмы"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Гэта праграма зможа паказваць поўнаэкранныя апавяшчэнні, калі прылада заблакіравана. Дзякуючы гэтаму дазволу праграмы могуць паказваць сігналы будзільнікаў, уваходныя выклікі і іншыя тэрміновыя апавяшчэнні."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Праграма \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" выкарыстала ў фонавым рэжыме больш зараду акумулятара, чым звычайна"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Праграма \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" выкарыстала больш зараду акумулятара ў актыўным рэжыме"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Праграма \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" выкарыстала ў актыўным рэжыме больш зараду акумулятара, чым звычайна"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Анамальнае выкарыстанне зараду"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Высокае выкарыстанне зараду"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Высокае выкарыстанне зараду ў фонавым рэжыме"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Высокае выкарыстанне зараду ў актыўным рэжыме"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"сістэмная навігацыя, 2-кнопачная навігацыя, 3-кнопачная навігацыя, навігацыя жэстамі, прагартаць"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Лічбавы памочнік"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Выклік памочніка з дапамогай жэстаў"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Каб выклікаць лічбавага памочніка, правядзіце пальцам уверх з ніжняга вугла"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Каб выклікаць лічбавага памочніка, правядзіце пальцам уверх з аднаго з ніжніх вуглоў"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Для выкліку Памочніка ўтрымлівайце кнопку галоўнага экрана"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Націсніце і ўтрымлівайце кнопку галоўнага экрана, каб выклікаць праграму \"Лічбавы памочнік\"."</string>
<string name="low_label" msgid="6525629096999711220">"Нізкая"</string>
@@ -4961,8 +4946,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Выберыце граматычны род"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Сканіраванне на наяўнасць падманных праграм"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Правяраць дзеянні ў праграме на фішынг"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Выкарыстоўваць сканіраванне"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Выкарыстоўваць сканіраванне для працоўных праграм"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Выкарыстоўваць сканіраванне для выяўлення падманных праграм"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Выкарыстоўваць сканіраванне для выяўлення падманных праграм, прызначаных для працы"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 1b53842..6ada2b3 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Писалка"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Споделяне на аудио"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Споделяне на аудио"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Обаждания и будилници"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Свързване с аудиопоток от LE"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Аудиопотоци в близост"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Аудиопотоци"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Свързване с аудиопоток чрез QR код"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Няма открити аудиопотоци в близост."</string>
<string name="date_and_time" msgid="1788358029823431692">"Дата и час"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Прокси сървър"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Изчистване"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Служебен потребителски профил"</string>
<string name="private_space_title" msgid="7078627930195569767">"Лично пространство"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Скриване на приложенията в лична папка"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Отключване с опцията за заключване на екрана"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Скриване на приложенията в лична папка, до която само вие имате достъп"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Опция за заключване на личното пространство"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Можете да отключвате личното пространство по същия начин, по който отключвате устройството си, или да изберете друга опция за заключване"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Използване на опцията за заключване на екрана на у-вото"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Отключване с лице и отпечатък"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Докоснете, за да настроите"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Като опцията за заключване на екрана на устройството"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Искате ли нова опция за закл. на личното простр.?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Скриване, когато е заключено"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Скриване на личното пространство, когато е заключено"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"За да бъде тайно личното пространство на у-вото ви, можете да го скриете от списъка с приложения"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Достъп до личното пространство, когато е скрито"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Потърсете „лично пространство“ в лентата за търсене"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Докоснете панела за личното пространство"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Отключване на личното ви пространство"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Изкл."</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Вкл."</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Система"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Създаване на лично пространство"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Изтриване на личното пространство"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Личното пространство бе създадено успешно"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Личното пространство вече съществува"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Създаването на личното пространство не бе успешно"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Личното пространство бе изтрито успешно"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Изтриването на личното пространство не бе успешно"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Настройте заключване на екрана"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"За да ползвате личното пространство, настройте заключване на екрана."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Настройване на закл. на екрана"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Отказ"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Отказ"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Настройване"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Настройване на личното пространство"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Скрийте частните приложения в сигурна среда, до която само вие имате достъп"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Начин на работа"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Можете да осъществите достъп до личното пространство от долната част на списъка с приложения"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Приложенията в личното пространство са защитени чрез опция за заключване"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Известията от приложенията в личното пространство са скрити, когато то е заключено"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Когато личното пространство е заключено, приложенията в него няма да се показват в мениджъра на разрешенията, таблото за управление на поверителността и други настройки"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Личното пространство се настройва…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Информацията за използването на приложенията в личното пространство е скрита, когато то е заключено"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Достъп до личното пространство от списъка ви с приложения"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Настройването на личното пространство не бе успешно"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Опитайте отново сега или се върнете по-късно"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Нов опит"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Да се отключва ли чрез опцията за закл. на екрана?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Можете да отключвате личното пространство по същия начин, по който отключвате устройството си, или да изберете друга опция за заключване"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Използване на опцията за заключване на екрана"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Избиране на нова опция за заключване"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Готово!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Готово"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Превъртете надолу за достъп до личното пространство"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Влезте в профила си, за да настроите личното пространство"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Трябва да влезете в профил, за да настроите личното пространство"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"За показване на личното пространство (не е окончателната UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Отворете приложението „Настройки“"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Докоснете „Сигурност и поверителност > Лично пространство > Скриване на личното пространство при заключен екран“"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Изкл. на превкл. „Скриване на личното пространство при заключен екран“"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Забележка за служителите на Google: Разработването на тази функция още е в ход"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Можете да добавите до <xliff:g id="COUNT">%d</xliff:g> отпечатъка"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Добавихте максималния брой отпечатъци"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Не могат да се добавят още отпечатъци"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Свързване"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Изключване"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Сдвояване и свързване"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"При включен Bluetooth устройството ви може да се свързва с други устройства с Bluetooth в района."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Когато включите Bluetooth, у-вото ви може да се свързва с други у-ва с Bluetooth в близост"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Когато включите Bluetooth, устройството ви може да се свързва с други устройства с Bluetooth в близост.\n\nС цел подобряване на практическата работа с устройството приложенията и услугите пак могат да сканират за устройства в близост по всяко време дори когато функцията за Bluetooth e изключена. Това може да послужи например за подобряване на базиращите се на местоположението функции и услуги. Можете да промените това от настройките за сканиране през Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Промяна"</string>
<string name="device_details_title" msgid="1155622417516195481">"Подробности за устройството"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Разрешаване на ART да потвърждава байткода за приложенията с възможност за отстраняване на грешки"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Честота на опресняване"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Показва текущата честота на опресняване на екрана"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Показване на съотношението HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Показване на текущото съотношение HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Изискване за отключване на устройството за NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Продължаване на използването на приложенията при сгъване"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Плавно показване"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Автоматично увеличава честотата на опресняване до <xliff:g id="ID_1">%1$d</xliff:g> Hz за част от съдържанието. По-интензивно използване на батерията."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Принудителна най-висока честота на опресняване"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Най-висока честота на опресняване за по-добро реагиране при докосване и качество на анимациите. По-интензивно използване на батерията."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Внимание към екрана"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Общи настройки"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Редакт. на точка за достъп"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Добавяне на точка за достъп"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Не е зададено"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Не е зададено"</string>
<string name="apn_name" msgid="6677695784108157953">"Име"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Отваряне с бутона за достъпност"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"За отваряне натиснете и задръжте бутоните за силата на звука"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Трикратно докосване на екрана с цел отваряне"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Отваряне с трикратно докосване на екрана с два пръста"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Отваряне с жест"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Използване на жеста за достъпност"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"За да използвате тази функция, докоснете бутона за достъпност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> в долната част на екрана.\n\nДокоснете и задръжте този бутон и за превключване между функциите."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"За да използвате тази функция, докоснете бутона за достъпност на екрана."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"За да използвате тази функция, натиснете и задръжте двата бутона за силата на звука."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"За стартиране и спиране на увеличението докоснете три пъти където и да е на екрана."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"За стартиране и спиране на увеличението докоснете три пъти с два пръста където и да е на екрана."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"За да използвате тази функция, прекарайте два пръста нагоре от долната част на екрана.\n\nЗа превключване между функциите прекарайте два пръста нагоре и задръжте."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"За да използвате тази функция, прекарайте три пръста нагоре от долната част на екрана.\n\nЗа превключване между функциите прекарайте три пръста нагоре и задръжте."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"За да използвате функцията за достъпност, прекарайте два пръста нагоре от долната част на екрана.\n\nЗа превключване между функциите прекарайте два пръста нагоре и задръжте."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Задържане на бутоните за силата на звука"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"задържане на бутоните за силата на звука"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Натиснете и задръжте двата бутона за силата на звука"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Трикратно докосване на екрана с два пръста"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"трикратно докосване на екрана с два пръста"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Бързо докоснете екрана {0,number,integer} пъти с два пръста"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Трикратно докосване на екрана"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"трикратно докосване на екрана"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Бързо докоснете екрана {0,number,integer} пъти. Този пряк път може да забави работата на устройството ви."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Услугата може да проследява взаимодействията ви с дадено приложение или хардуерен сензор, както и да взаимодейства с приложенията от ваше име."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Разрешаване"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Отказ"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Спиране"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Отказ"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Да се спре ли „<xliff:g id="SERVICE">%1$s</xliff:g>“?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Докосването на „<xliff:g id="STOP">%1$s</xliff:g>“ ще спре „<xliff:g id="SERVICE">%2$s</xliff:g>“."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Няма инсталирани услуги"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Няма избрана услуга"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Няма описание."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ако ограничите активността на заден за дадено приложение, то може да не функционира правилно"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Тъй като прил. не е зададено да оптимизира батерията, можете да го ограничите.\n\nЗа тази цел първо включете оптим. на батерията."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Управление на използването на батерията"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Разрешаване на използването на заден план"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Активиране за актуализации в реално време, деактивиране с цел пестене на батерията"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Неограничено"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оптимизирано"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ограничено"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Име"</string>
<string name="vpn_type" msgid="5533202873260826663">"Тип"</string>
<string name="vpn_server" msgid="2908816134941973935">"Адрес на сървъра"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP шифроване (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP тайна"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Идентификатор на IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Предварително споделен ключ за IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Потребителски сертификат за IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Сертификат от сертиф. орган за IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Сертификат за IPSec на сървъра"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Показване на разширените опции"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS домейни за търсене"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS сървъри (напр. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Маршрути за пренас. (напр. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Потребителско име"</string>
<string name="vpn_password" msgid="1183746907642628127">"Парола"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Запазване на информацията за профила"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(неизползвано)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(без потвърждаване на сървъра)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(получено от сървъра)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Не можете да поддържате постоянна връзка с виртуални частни мрежи (VPN) от този тип"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Винаги включените виртуални частни мрежи (VPN) поддържат само адреси на сървър, съставени от цифри"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Трябва да посочите DNS сървър за винаги включената виртуална частна мрежа (VPN)"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Адресите на DNS сървър за винаги включени виртуални частни мрежи (VPN) трябва да са съставени от цифри"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Въведената информация не се поддържа от винаги включените виртуални частни мрежи (VPN)"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Отказ"</string>
<string name="vpn_done" msgid="5137858784289564985">"Отхвърляне"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Блокиране на връзките без VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Да се изисква ли връзка с VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Няма защита. Актуализирайте до VPN от типа IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Изберете потребителски профил за виртуална частна мрежа (VPN), за да останете винаги свързани с нея. Мрежовият трафик ще бъде разрешен само при връзка с тази VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Няма"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Винаги включената виртуална частна мрежа (VPN) изисква IP адрес както за сървъра, така и за DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Показв. на цялото съдържание от известията"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Показв. на деликатно съдърж. само при откл. екран"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Да не се показват известията"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Как искате да се показват известията на заключения екран?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Какво да се показва на заключения ви екран?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Заключен екран"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Показване на цялото съдържание на служ. известия"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Скриване на поверителното служебно съдържание"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Разрешаване на достъп за управл. на всички файлове"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Разрешете на това приложение да чете, променя и изтрива всички файлове на устройството или обемите на свързаните хранилища. Ако то получи разрешението, може да осъществява достъп до файловете без изричното ви знание."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Може да осъществява достъп до всички файлове"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Приложения с гласово активиране"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Разрешаване на гласовото активиране"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Функцията за гласово активиране дава възможност да включвате одобрените приложения чрез гласова команда, без да използвате ръцете си. Вградената функция за адаптивно установяване гарантира, че данните ви няма да бъдат споделени с никого.\n\n"<a href="">"Още информация относно функцията за защитено адаптивно установяване"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Известия на цял екран"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Разрешаване на известията на цял екран от това приложение"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Разрешаване на това приложение да показва известия, които заемат целия екран, когато устройството е заключено. Приложенията могат да ги използват, за да открояват будилници, входящи обаждания или други спешни известия."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Приложението <xliff:g id="APP_LABEL">%1$s</xliff:g> е използвало повече батерия от обичайното на заден план"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Приложението <xliff:g id="APP_LABEL">%1$s</xliff:g> е използвало повече батерия на преден план"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Приложението <xliff:g id="APP_LABEL">%1$s</xliff:g> е използвало повече батерия от обичайното на преден план"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Аномалия в използването на батерията"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Интензивно използване на батерията"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Интензивно използване на батерията на заден план"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Интензивно използване на батерията на преден план"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"навигиране в системата, навигиране с 2 бутона, навигиране с 3 бутона, навигиране с жестове, прекарване на пръст"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Дигитален асистент"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Плъзгане на пръст за извикване на асистент"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Плъзнете пръст нагоре от долен ъгъл на екрана, за да извикате приложението за дигитален асистент."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Прекарайте пръст нагоре от долен ъгъл на екрана, за да извикате приложението за дигитален асистент"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Задръжте бутона „Начало“, за да извикате Асистент"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Натиснете и задръжте бутона „Начало“, за да извикате приложението за дигитален асистент."</string>
<string name="low_label" msgid="6525629096999711220">"Ниска"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Изберете граматически род"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Сканиране за подвеждащи приложения"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Проверка на активността в приложенията за фишинг"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Използване на сканирането"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Използване на сканирането за служебни приложения"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Използване на сканирането за подвеждащи приложения"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Използване на сканирането за подвеждащи приложения за служебния потребителски профил"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 94c83b6..da0dfec 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"স্টাইলাস"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"অডিও শেয়ার করা"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"অডিও শেয়ার করুন"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"কল ও অ্যালার্ম"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE অডিও স্ট্রিমে কানেক্ট করুন"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"আশেপাশে অডিও স্ট্রিম"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"অডিও স্ট্রিম"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR কোড ব্যবহার করে কোনও একটি অডিও স্ট্রিমে কানেক্ট করুন"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"আশেপাশে কোনও অডিও স্ট্রিম পাওয়া যায়নি।"</string>
<string name="date_and_time" msgid="1788358029823431692">"দিন ও তারিখ"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"প্রক্সী"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"সাফ করুন"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"অফিস প্রোফাইল"</string>
<string name="private_space_title" msgid="7078627930195569767">"ব্যক্তিগত স্পেস"</string>
<string name="private_space_summary" msgid="8237652417163408001">"ব্যক্তিগত ফোল্ডারে অ্যাপ লুকান"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"\'স্ক্রিন লক\' ব্যবহার করে আনলক করুন"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"শুধুমাত্র আপনি অ্যাক্সেস করতে পারেন এমন ব্যক্তিগত ফোল্ডারে ফাইল আড়াল করুন"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"ব্যক্তিগত স্পেস লক"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"যেভাবে আপনার ডিভাইস আনলক করেন, একইভাবে নিজের ব্যক্তিগত স্পেস আনলক করতে বা অন্য কোনও লক বেছে নিতে পারেন"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ডিভাইসের স্ক্রিন লক ব্যবহার করুন"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"ফেস ও ফিঙ্গারপ্রিন্ট আনলক"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"সেট-আপ করতে ট্যাপ করুন"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ডিভাইসের স্ক্রিন লকের মত একরকমের"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"ব্যক্তিগত স্পেসের জন্য নতুন লক বেছে নেবেন?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"লক থাকাকালীন লুকান"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"লক থাকাকালীন \'ব্যক্তিগত\' স্পেস লুকিয়ে রাখুন"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"আপনার ডিভাইসে \'ব্যক্তিগত\' স্পেস থাকার বিষয়টি যাতে অন্যান্য লোকজন না জানতে পারেন, তার জন্য সেটি অ্যাপ তালিকা থেকে লুকিয়ে রাখুন"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"লুকানো থাকাকালীন \'ব্যক্তিগত\' স্পেস অ্যাক্সেস করুন"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"সার্চ বারে \'ব্যক্তিগত\' স্পেস সম্পর্কিত সার্চ"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"\'ব্যক্তিগত\' স্পেসের টাইলে ট্যাপ করুন"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"আপনার \'ব্যক্তিগত\' স্পেস আনলক করুন"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"বন্ধ আছে"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"চালু আছে"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"সিস্টেম"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"\'ব্যক্তিগত স্পেস\' তৈরি করুন"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"\'ব্যক্তিগত স্পেস\' মুছুন"</string>
- <string name="private_space_created" msgid="2978055968937762232">"\'ব্যক্তিগত স্পেস\' তৈরি করা হয়েছে"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"\'ব্যক্তিগত স্পেস\' আগে থেকেই রয়েছে"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"\'ব্যক্তিগত স্পেস\' তৈরি করা যায়নি"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"\'ব্যক্তিগত স্পেস\' মুছে ফেলা হয়েছে"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"\'ব্যক্তিগত স্পেস\' মুছে ফেলা যায়নি"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"\'স্ক্রিন লক\' সেট করুন"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"\'ব্যক্তিগত স্পেস\' ব্যবহার করতে, এই ডিভাইসে \'স্ক্রিন লক\' সেট করুন।"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"\'স্ক্রিন লক\' সেট করুন"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"বাতিল করুন"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"বাতিল করুন"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"সেট-আপ করুন"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"\'ব্যক্তিগত\' স্পেস সেট-আপ করুন"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"ব্যক্তিগত অ্যাপ সুরক্ষিত জায়গাতে লুকিয়ে রাখুন যাতে শুধুমাত্র আপনিই তা অ্যাক্সেস করতে পারেন"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"এটি কীভাবে কাজ করে"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"আপনার অ্যাপ তালিকার নিচে থকে \'ব্যক্তিগত\' স্পেস অ্যাক্সেস করতে পারবেন"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"\'ব্যক্তিগত\' স্পেসে অ্যাপ লকের মাধ্যমে সুরক্ষিত থাকে"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"\'ব্যক্তিগত স্পেস\' লক থাকলে সেখানে থাকা অ্যাপের বিজ্ঞপ্তি লুকানো থাকে"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"\'ব্যক্তিগত স্পেস\' লক করা থাকলে পার্মিশন ম্যানেজার, প্রাইভেসি ড্যাশবোর্ড এবং অন্যান্য সেটিংসে \'ব্যক্তিগত স্পেসের\' অ্যাপ দেখা যাবে না"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"\'ব্যক্তিগত স্পেস\' সেট-আপ করা হচ্ছে…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"\'ব্যক্তিগত স্পেস\' লক করা থাকলে এখানে থাকা অ্যাপ ব্যবহারের তথ্য লুকানো থাকবে"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"আপনার অ্যাপ তালিকা থেকে \'ব্যক্তিগত স্পেস\' অ্যাক্সেস করুন"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"\'ব্যক্তিগত স্পেস\' সেট-আপ করা যায়নি"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"এখনই আবার চেষ্টা করুন বা পরে আবার চেষ্টা করে দেখুন"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"আবার চেষ্টা করুন"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"আনলক করতে স্ক্রিন লক ব্যবহার করতে চান?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"যেভাবে আপনার ডিভাইস আনলক করেন একইভাবে নিজের \'ব্যক্তিগত স্পেস\' আনলক করতে পারেন বা অন্য কোনও লক বেছে নিতে পারেন"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"স্ক্রিন লক ব্যবহার করুন"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"নতুন লক বেছে নিন"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"হয়ে গেছে!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"হয়ে গেছে"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"\'ব্যক্তিগত স্পেস\' অ্যাক্সেস করতে নিচের দিকে স্ক্রল করুন"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"\'ব্যক্তিগত স্পেস\' সেট-আপ করতে সাইন-ইন করুন"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"\'ব্যক্তিগত স্পেস\' সেট-আপ করতে আপনাকে কোনও অ্যাকাউন্টে সাইন-ইন করতে হবে"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"ব্যক্তিগত স্পেস দেখাতে (UX-এর ফাইনাল ভার্সন নয়)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"\'সেটিংস\' অ্যাপ খুলুন"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"\'নিরাপত্তা ও গোপনীয়তা > ব্যক্তিগত স্পেস > লক থাকলে ব্যক্তিগত স্পেস লুকান\' বিকল্পে ট্যাপ করুন"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"লক থাকলে ব্যক্তিগত স্পেস লুকান টগল বন্ধ করুন"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Googler-এর জন্য নোট: এই ফিচারে এখনও কাজ চলছে"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"আপনি সর্বাধিক <xliff:g id="COUNT">%d</xliff:g>টি ফিঙ্গারপ্রিন্ট যোগ করতে পারবেন"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"আপনি অনুমোদিত সর্বোচ্চ সংখ্যক আঙ্গুলের ছাপ যোগ করেছেন"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"এর বেশি আঙ্গুলের ছাপ যোগ করা যাবে না"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"কানেক্ট করুন"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ডিসকানেক্ট করুন"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"যুক্ত করুন ও কানেক্ট করুন"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"যখন ব্লুটুথ চালু করা হয়, তখন আপনার অন্যান্য কাছাকাছির ব্লুটুথ ডিভাইসগুলির সাথে যোগাযোগ করতে পারে৷"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ব্লুটুথ চালু করা হলে, আপনার ডিভাইস আশেপাশের অন্যান্য ব্লুটুথ ডিভাইসের সাথে যোগাযোগ করতে পারে"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ব্লুটুথ চালু করা থাকলে, আপনার ডিভাইস কাছাকাছি অন্যান্য ব্লুটুথ ডিভাইসের সাথে যোগাযোগ করতে পারবে।\n\nডিভাইস ব্যবহারের অভিজ্ঞতা উন্নত করতে, এমনকি ব্লুটুথ বন্ধ থাকাকালীনও, অ্যাপ ও পরিষেবাগুলি কাছাকাছি থাকা ডিভাইস যেকোনও সময় স্ক্যান করতে পারবে। যেমন, এটি লোকেশন-ভিত্তিক ফিচার এবং পরিষেবা উন্নত করার মতো বিভিন্ন কাজের জন্য ব্যবহার করা হতে পারে। আপনি ব্লুটুথ স্ক্যানিং সেটিংস থেকে এটি পরিবর্তন করতে পারবেন।"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"পরিবর্তন করুন"</string>
<string name="device_details_title" msgid="1155622417516195481">"ডিভাইসের বিবরণ"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ডিবাগযোগ্য অ্যাপের বাইটকোট যাচাই করতে ART-কে অনুমতি দিন"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"রিফ্রেশ রেট দেখান"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"সাম্প্রতিক সময়ের ডিসপ্লে রিফ্রেশ রেট দেখান"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR রেশিও দেখুন"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"বর্তমান HDR/SDR রেশিও দেখুন"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC-এর জন্য ডিভাইস আনলক প্রয়োজন"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android বীম"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"ফোল্ডে থাকা অ্যাপ ব্যবহার করা চালিয়ে যান"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"স্মুথ ডিসপ্লে"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"কিছু কন্টেন্টের রিফ্রেশ রেট অটোমেটিক <xliff:g id="ID_1">%1$d</xliff:g> Hz পর্যন্ত বেড়ে যায়। ব্যাটারি বেশি খরচ হয়।"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"সবচেয়ে বেশি রিফ্রেশ রেটে সেট করা হয়েছে"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"সর্বাধিক রিফ্রেশ রেট সেট করে টাচ রেসপন্সিভনেস এবং অ্যানিমেশন কোয়ালিটি উন্নত করুন। ব্যাটারির খরচ বেড়ে যায়।"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"স্ক্রিন অ্যাটেনশন"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"\'কমিউনাল\' সেটিংস"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"অ্যাক্সেস পয়েন্ট এডিট করুন"</string>
+ <string name="apn_add" msgid="9069613192201630934">"অ্যাক্সেস পয়েন্ট যোগ করুন"</string>
<string name="apn_not_set" msgid="8246646433109750293">"সেট করা নেই"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"সেট করা নেই"</string>
<string name="apn_name" msgid="6677695784108157953">"নাম"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"অ্যাক্সেসিবিলিটি বোতাম ব্যবহার করে খোলা"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"খোলার জন্য ভলিউম কী প্রেস করে ধরে থাকুন"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"খুলতে স্ক্রিনে ট্রিপল ট্যাপ করুন"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"স্ক্রিনে দুই আঙুল দিয়ে তিনবার ট্যাপ করে খুলুন"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ইঙ্গিতের মাধ্যমে খোলা"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"\'অ্যাক্সেসিবিলিটি\' জেসচার ব্যবহার করুন"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"এই ফিচারটি ব্যবহার করার জন্য, স্ক্রিনের নিচের দিকের অ্যাক্সেসিবিলিটি বোতামে <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ট্যাপ করুন।\n\nএকটি ফিচার থেকে অন্যটিতে যেতে, অ্যাক্সেসিবিলিটি বোতাম টাচ করে ধরে থাকুন।"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"এই ফিচার ব্যবহার করতে, আপনার স্ক্রিনে অ্যাক্সেসিবিলিটি বোতামে ট্যাপ করুন।"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"এই ফিচার ব্যবহার করার জন্য, উভয় ভলিউম কী প্রেস করে ধরে থাকুন।"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ম্যাগনিফিকেশন চালু বা বন্ধ করতে, স্ক্রিনের যেকোনও জায়গায় ট্রিপল ট্যাপ করুন।"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"ম্যাগনিফিকেশন চালু বা বন্ধ করতে, স্ক্রিনের যেকোনও জায়গায় দুই আঙুল দিয়ে তিনবার ট্যাপ করুন।"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"এই ফিচার ব্যবহার করার জন্য, স্ক্রিনের নিচ থেকে উপরের দিকে ২টি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি ফিচার থেকে অন্যটিতে যেতে, ২টি আঙ্গুল দিয়ে নিচের থেকে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"এই ফিচার ব্যবহার করার জন্য, স্ক্রিনের নিচ থেকে উপরের দিকে ৩টি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি ফিচার থেকে অন্যটিতে যেতে, ৩টি আঙ্গুল দিয়ে নিচের থেকে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"অ্যাক্সেসিবিলিটি ফিচার ব্যবহার করার জন্য, স্ক্রিনের নিচ থেকে উপরের দিকে ২টি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি ফিচার থেকে অন্যটিতে যেতে, ২টি আঙ্গুল দিয়ে নিচের থেকে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ভলিউম কী কিছু সময় প্রেস করে রাখুন"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ভলিউম কী প্রেস করে রাখুন"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"উভয় ভলিউম কী প্রেস করে ধরে থাকুন"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"দুই আঙুল দিয়ে স্ক্রিনে তিনবার ট্যাপ"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"দুই আঙুল দিয়ে স্ক্রিনে তিনবার ট্যাপ"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"দুই আঙুল দিয়ে স্ক্রিনে দ্রুত {0,number,integer} বার ট্যাপ করুন"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ট্রিপল-ট্যাপ স্ক্রিন"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"স্ক্রিনে ট্রিপল-ট্যাপ করা"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"স্ক্রিনে ঝটপট {0,number,integer} বার ট্যাপ করুন। এই শর্টকাট ব্যবহারের ফলে আপনার ডিভাইসের স্পিড কমে যেতে পারে"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"এটি কোনও একটি অ্যাপের সাথে অথবা হার্ডওয়্যার সেন্সরের সাথে আপনার ইন্টার্যাকশন ট্র্যাক করতে এবং আপনার হয়ে বিভিন্ন অ্যাপের সাথে ইন্টার্যাক্ট করতে পারে।"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"অনুমতি দিন"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"খারিজ করুন"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"বন্ধ করুন"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"বাতিল করুন"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> থামাবেন?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> বিকল্পে ট্যাপ করলে <xliff:g id="SERVICE">%2$s</xliff:g> বন্ধ হয়ে যাবে।"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"কোনো পরিষেবা ইনস্টল করা নেই"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"কোনো সার্ভিস বেছে নেওয়া হয়নি"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"কোনো বিবরণ প্রদান করা নেই।"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"কোনও অ্যাপের ব্যাকগ্রাউন্ড অ্যাক্টিভিটি সীমিত করলে তা সঠিক ভাবে কাজ নাও করতে পারে"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"যেহেতু এই অ্যাপটিকে ব্যাটারি অপ্টিমাইজ করার জন্য সেট করা হয়নি, তাই আপনি এটির অ্যাক্টিভিটি সীমিত করতে পারবেন না।\n\nঅ্যাপের অ্যাক্টিভিটি সীমিত করতে আগে ব্যাটারি অপ্টিমাইজেশন চালু করুন।"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ব্যাটারির ব্যবহার ম্যানেজ করুন"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"ব্যাকগ্রাউন্ডে চলার জন্য অনুমতি দিন"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"রিয়েল-টাইম আপডেটের জন্য চালু করুন, ব্যাটারির চার্জ সাশ্রয় করতে বন্ধ করুন"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"সীমিত নয়"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"অপ্টিমাইজ করা আছে"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"সীমিত"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"নাম"</string>
<string name="vpn_type" msgid="5533202873260826663">"প্রকার"</string>
<string name="vpn_server" msgid="2908816134941973935">"সার্ভার ঠিকানা"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP এনক্রিপশন (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP সিক্রেট"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec আইডেন্টিফায়ার"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec আগে থেকে শেয়ার করা কী"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec ব্যবহারকারী সার্টিফিকেট"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA সার্টিফিকেট"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec সার্ভার সার্টিফিকেট"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"উন্নত বিকল্প দেখান"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS সার্চ ডোমেন"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS সার্ভার (যেমন ৮.৮.৮.৮)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"ফরওয়ার্ডিং রুট (উদাহরণ 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"ইউজারনেম"</string>
<string name="vpn_password" msgid="1183746907642628127">"পাসওয়ার্ড"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"অ্যাকাউন্ট তথ্য সেভ করুন"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(অব্যবহৃত)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(সার্ভার যাচাই করবেন না)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(সার্ভার থেকে প্রাপ্ত)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"এই প্রকারের VPN সব সময়ে কানেক্ট থাকতে পারে না"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"সর্বদা-চালু VPN গুলিতে শুধুমাত্র সেই DNS সার্ভারগুলি কাজ করে যেগুলির ঠিকানা সংখ্যায় আছে"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"সর্বদা-চালু VPN গুলির জন্য একটি DNS সার্ভার উল্লেখ করা আবশ্যক"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"সর্বদা-চালু VPN গুলির জন্য DNS সার্ভারের ঠিকানাগুলি সংখ্যায় হওয়া আবশ্যক"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"দিয়ে থাকা তথ্য \'সর্বদা-চালু VPN\'-এ কাজ করে না"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"বাতিল"</string>
<string name="vpn_done" msgid="5137858784289564985">"খারিজ করুন"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN বিহীন সংযোগগুলি ব্লক করুন"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN কানেকশন প্রয়োজন?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"নিরাপদ নয়। IKEv2 VPN-এ আপডেট করুন"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"সর্বদা কানেক্ট থাকতে একটি VPN প্রোফাইল বেছে নিন। এই VPN এ কানেক্ট থাকাকালীন শুধুমাত্র নেটওয়ার্ক ট্রাফিকের অনুমতি দেওয়া হবে।"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"কোনো কিছুই নয়"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"সর্বদা-চালু VPN এর সার্ভার্র এবং DNS উভয়েরই জন্য আইপি অ্যাড্রেস প্রয়োজন।"</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"সব বিজ্ঞপ্তি দেখতে চাই"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"গুরুত্বপূর্ণ কন্টেন্ট শুধুমাত্র আনলক অবস্থায় দেখুন"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"কোনও বিজ্ঞপ্তি দেখতে চাই না"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"আপনার লক স্ক্রিন কীভাবে দেখাতে চান?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"আপনার লক স্ক্রিনে কী দেখতে চান?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"লক স্ক্রিন"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"সমস্ত কর্মস্থলের বিজ্ঞপ্তির কন্টেন্ট দেখুন"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"কাজের সংবেদনশীল কন্টেন্ট লুকান"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"সব ফাইল ম্যানেজ করতে অ্যাক্সেস দিন"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"এই ডিভাইস অথবা এতে কানেক্ট রয়েছে এমন যেকোনও স্টোরেজে থাকা সব ফাইল পড়তে, পরিবর্তন করতে এবং মুছতে এই অ্যাপকে অনুমতি দিন। অনুমতি দিলে এই অ্যাপ আপনাকে না জানিয়েই ফাইলগুলি অ্যাক্সেস করতে পারবে।"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"সব ফাইল অ্যাক্সেস করতে পারে"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"ভয়েস অ্যাক্টিভেশন অ্যাপ"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ভয়েস অ্যাক্টিভেশনের অনুমতি দিন"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ভয়েস অ্যাক্টিভেশন, ভয়েস কমান্ড ব্যবহার করে অনুমোদিত অ্যাপ, হ্যান্ডস-ফ্রি সুবিধা চালু করে। ডেটা যাতে শুধুমাত্র আপনার জন্যই ব্যক্তিগত থাকে, বিল্ট-ইন অ্যাডাপ্টিভ সেন্সিং তা নিশ্চিত করে।\n\n"<a href="">"সুরক্ষিত অ্যাডাপ্টিভ সেন্সিং সম্পর্কে অনেক কিছু"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"ফুল স্ক্রিন বিজ্ঞপ্তি"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"এই অ্যাপকে ফুল স্ক্রিন জুড়ে বিজ্ঞপ্তি দেখানোর অনুমতি দিন"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ডিভাইস লক থাকার সময় এই অ্যাপকে ফুল স্ক্রিন জুড়ে বিজ্ঞপ্তি দেখানোর অনুমতি দিন। অ্যালার্ম, ইনকামিং কল অথবা অন্যান্য জরুরি বিজ্ঞপ্তি হাইলাইট করতে, অ্যাপ এগুলি ব্যবহার করতে পারে।"</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ব্যাকগ্রাউন্ডে থাকাকালীন স্বাভাবিকের চেয়ে আরও বেশি ব্যাটারি ব্যবহার করেছে"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ফোরগ্রাউন্ডে থাকাকালীন আরও বেশি ব্যাটারি ব্যবহার করেছে"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ফোরগ্রাউন্ডে থাকাকালীন স্বাভাবিকের চেয়ে আরও বেশি ব্যাটারি ব্যবহার করেছে"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ব্যাটারির ব্যবহারে অসঙ্গতি"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"ব্যাটারির বেশি ব্যবহার"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ব্যাকগ্রাউন্ডে ব্যাটারির বেশি ব্যবহার"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ফোরগ্রাউন্ডে বেশি ব্যাটারির ব্যবহার"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"সিস্টেম নেভিগেশন, ২টি বোতাম দিয়ে করা নেভিগেশন, ৩টি বোতাম দিয়ে করা নেভিগেশন, জেসচার করে করা নেভিগেশন, সোয়াইপ"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"\'ডিজিটাল অ্যাসিস্ট্যান্ট\'"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"\'অ্যাসিস্ট্যান্ট\' চালু করতে সোয়াইপ করুন"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ডিজিটাল অ্যাসিস্ট্যান্ট\' অ্যাপ চালু করতে নিচের কোণা থেকে উপরের দিকে সোয়াইপ করুন।"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ডিজিটাল অ্যাসিস্ট্যান্ট অ্যাপ চালু করতে নিচের কোণ থেকে উপরের দিকে সোয়াইপ করুন"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant ব্যবহার করার জন্য হোম বোতাম প্রেস করে ধরে রাখুন"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ডিজিটাল অ্যাসিস্ট্যান্ট অ্যাপ চালু করতে \'হোম\' বোতাম প্রেস করে ধরে রাখুন।"</string>
<string name="low_label" msgid="6525629096999711220">"কম করুন"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ব্যাকরণগতভাবে লিঙ্গ পরিচয় বেছে নিন"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"প্রতারণামূলক অ্যাপ শনাক্ত করতে স্ক্যান করা"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"ফিশিংয়ের জন্য অ্যাপ অ্যাক্টিভিটি চেক করুন"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"স্ক্যানিং ব্যবহার করুন"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"অফিসের অ্যাপের জন্য স্ক্যান ব্যবহার করুন"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"প্রতারণামূলক অ্যাপ দেখলেই স্ক্যান করুন"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"কাজের ক্ষেত্রে প্রতারণামূলক অ্যাপ দেখলেই স্ক্যান করুন"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index ba6ba16..ef920eb 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pisaljka"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Dijeljenje zvuka"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Dijeli zvuk"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Pozivi i alarmi"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Povežite se s prijenosom zvuka LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Prijenosi zvuka u blizini"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Prijenosi zvuka"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Povežite se s prijenosom zvuka putem QR koda"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"U blizini nije pronađen nijed. prijenos zvuka"</string>
<string name="date_and_time" msgid="1788358029823431692">"Datum i vrijeme"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proksi server"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Obriši"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Radni profil"</string>
<string name="private_space_title" msgid="7078627930195569767">"Privatni prostor"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Sakrijte aplikacije u privatnom folderu"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Otključajte pomoću zaključavanja ekrana"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Sakrijte aplikacije u privatan folder kojem samo vi možete pristupiti"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Zaključavanje privatnog prostora"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Privatni prostor možete otključati na isti način kao što otključavate uređaj ili odaberite drugi način zaključavanja"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Koristi zaključavanje ekrana uređaja"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Otključavanje licem i otiskom prsta"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Dodirnite da postavite"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Isto kao i zaključavanje ekrana uređaja"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Odabrati novo zaključavanje privatnog prostora?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Sakrij kada je zaključano"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Sakrij privatan prostor kada je zaključan"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Kako drugi ne bi saznali da je privatan prostor na vašem uređaju, sakrijte ga s liste aplikacija"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Pristupite privatnom prostoru kada je sakriven"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Pretražite \"Privatan prostor\" u traci za pretraživanje"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Dodirnite karticu privatnog prostora"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Otključajte privatan prostor"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Isključeno"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Uključeno"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Kreiraj privatni prostor"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Izbriši privatni prostor"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Privatni prostor je uspješno kreiran"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Privatni prostor već postoji"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Kreiranje privatnog prostora nije uspjelo"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Privatni prostor je uspješno izbrisan"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Brisanje privatnog prostora nije uspjelo"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Postavite zaključavanje ekrana"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Da koristite privat. prostor, postavite zaklj. ekr. na uređ."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Postavite zaključavanje ekrana"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Otkaži"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Otkaži"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Postavi"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Postavite privatan prostor"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Sakrijte privatne aplikacije u zaštićeni prostor kojem samo vi možete pristupiti"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Kako ovo funkcionira"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Možete pristupiti privatnom prostoru s dna liste aplikacija"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Aplikacije u privatnom prostoru su zaštićene zaključavanjem"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Obavještenja iz aplikacija u privatnom prostoru su sakrivena kada je prostor zaključan"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Aplikacije iz privatnog prostora se neće pojavljivati u upravitelju odobrenja, na kontrolnoj tabli za privatnost i u drugim postavkama kada je privatni prostor zaključan"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Postavljanje privatnog prostora…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Informacije o korištenju aplikacija iz privatnog prostora su sakrivene kada je prostor zaključan"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Pristupite privatnom prostoru s liste aplikacija"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Postavljanje privatnog prostora nije uspjelo"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Pokušajte ponovo sada ili se vratite kasnije"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Pokušaj ponovo"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Koristiti zaključavanje ekrana za otključavanje?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Privatni prostor možete otključati na isti način kao što otključavate uređaj ili odaberite drugi način zaključavanja"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Koristi zaključavanje ekrana"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Odaberite novi način zaključavanja"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Sve je spremno!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Gotovo"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Kliznite nadolje da pristupite privatnom prostoru"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Prijavite se da postavite privatni prostor"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Morate se prijaviti na račun da postavite privatni prostor"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Za prikazivanje privatnog prostora (nije konačno kor. iskustvo)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Otvorite aplikaciju Postavke"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Dodirnite Sigurnost i privatnost > Privatan prostor > Sakrij privatan prostor kada je zaključan"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Prekidač za isključ. sakrivanja priv. prostora kada je zaključ."</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Napomena Googleovim zaposlenicima: razvoj ove funkcije je još uvijek u toku"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Broj otisaka prstiju koje možete dodati: <xliff:g id="COUNT">%d</xliff:g>"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Dodali ste maksimalan broj otisaka prstiju"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nije moguće dodati još otisaka prstiju"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Poveži se"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Prekini vezu"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Upari i poveži"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kada je Bluetooth uključen, uređaj može komunicirati s drugim uređajima s Bluetoothom u blizini."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kada je Bluetooth uključen, uređaj može komunicirati s drugim Bluetooth uređajima u blizini"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kada je Bluetooth uključen, uređaj može komunicirati s Bluetooth uređajima u blizini.\n\nDa se poboljša iskustvo na uređaju, aplikacije i usluge i dalje mogu skenirati uređaje u blizini u bilo kojem trenutku, čak i kada je Bluetooth isključen. Ovo se, naprimjer, može koristiti da se poboljšaju funkcije i usluge zasnovane na lokaciji. Ovo možete promijeniti u postavkama Bluetooth skeniranja."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Promijenite"</string>
<string name="device_details_title" msgid="1155622417516195481">"Detalji o uređaju"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Dopustite ART-u da potvrdi bajtni kôd za aplikacije iz kojih se mogu uklanjati greške"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Prikaži brzinu osvježavanja"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Prikaz trenutne brzine osvježavanja ekrana"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Prikaži omjer HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Prikaži trenutni omjer HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Zahtijevaj otključavanje uređaja za NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Nastavak korištenja aplikacija nakon sklapanja"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Glatki prikaz"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatski podiže učestalost osvježavanja do <xliff:g id="ID_1">%1$d</xliff:g> Hz za određeni sadržaj. Povećava potrošnju baterije."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Nametni maksimalnu brzinu osvježavanja"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Najveća brzina osvježavanja za poboljšanu reakciju na dodir i kvalitet animacije. Povećava potrošnju baterije."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Svjesni ekran"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Opće postavke"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN-ovi"</string>
<string name="apn_edit" msgid="2003683641840248741">"Uredi pristupnu tačku"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Dodajte pristupnu tačku"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nije postavljeno"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nije postavljeno"</string>
<string name="apn_name" msgid="6677695784108157953">"Naziv"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otvorite pomoću dugmeta za pristupačnost"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Držite tipke za jačinu zvuka da otvorite"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triput dodirnite ekran da otvorite"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Otvaranje trostrukim dodirom ekrana s dva prsta"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otvorite pokretom"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Korištenje pokreta za pristupačnost"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Da koristite ovu funkciju, dodirnite dugme Pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na dnu ekrana.\n\nDa prebacujete između funkcija, dodirnite i zadržite dugme Pristupačnost."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Da koristite ovu funkciju, dodirnite dugme za pristupačnost na ekranu."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Da koristite ovu funkciju, pritisnite i držite obje tipke za jačinu zvuka."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Da pokrenete i zaustavite uvećavanje, triput dodirnite bilo gdje na ekranu."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Da pokrenete i zaustavite uvećavanje, triput dodirnite bilo gdje na ekranu s dva prsta."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Da koristite ovu funkciju, prevucite s 2 prsta nagore s dna ekrana.\n\nDa prebacujete između funkcija, prevucite s 2 prsta nagore i zadržite."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Da koristite ovu funkciju, prevucite s 3 prsta nagore s dna ekrana.\n\nDa prebacujete između funkcija, prevucite s 3 prsta nagore i zadržite."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Da koristite funkciju pristupačnosti, prevucite s 2 prsta nagore s dna ekrana.\n\nDa prebacujete između funkcija, prevucite s 2 prsta nagore i zadržite."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Držite tipke za jačinu zvuka"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"držite tipke za jačinu zvuka"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Pritisnite i zadržite obje tipke za jačinu zvuka"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Trostruki dodir ekrana s dva prsta"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"trostruki dodir ekrana s dva prsta"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Brzo dodirnite ekran {0,number,integer} put(a) s dva prsta"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Dodirnite ekran triput"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"dodirnite ekran triput"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Brzo dodirnite ekran sljedeći broj puta: {0,number,integer}. Ova prečica može usporiti uređaj"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Može pratiti vaše interakcije s aplikacijom ili hardverskim senzorom te ostvariti interakciju s aplikacijama umjesto vas."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Dozvoli"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Odbij"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Zaustavi"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Otkaži"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Zaustaviti uslugu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Dodirom na <xliff:g id="STOP">%1$s</xliff:g> zaustavit će se usluga <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nema instaliranih usluga"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nije odabrana usluga"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Nije naveden opis."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ako aplikaciji ograničite aktivnost u pozadini, može raditi nepravilno"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Aplikaciju ne možete ograničiti jer nije postavljena optimizacija baterije.\n\nDa je ograničite prvo uključite optimizaciju."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Upravljajte potrošnjom baterije"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Omogućite korištenje u pozadini"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Omogućite za ažuriranja u stvarnom vremenu. Onemogućite radi uštede baterije"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neograničeno"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizirano"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ograničeno"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Naziv"</string>
<string name="vpn_type" msgid="5533202873260826663">"Vrsta"</string>
<string name="vpn_server" msgid="2908816134941973935">"Adresa servera"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP šifriranje (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP tajna"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifikator"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Unaprijed dijeljeni IPSec ključ"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec korisnički certifikat"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA certifikat"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec certifikat servera"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Prikaži napredne opcije"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domene DNS pretraživanja"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS serveri (npr. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Rute prosljeđivanja (npr. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Korisničko ime"</string>
<string name="vpn_password" msgid="1183746907642628127">"Lozinka"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Sačuvajte informacije o računu"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ne koristi se)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne potvrđuj server)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(primljeno od servera)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ova vrsta VPN-a ne može biti stalno povezana"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Uvijek aktivni VPN podržava samo numeričke adrese servera"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"DNS server mora biti naveden za uvijek aktivni VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adrese DNS servera moraju biti numeričke za uvijek aktivni VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Unesena informacija ne podržava uvijek aktivni VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Otkaži"</string>
<string name="vpn_done" msgid="5137858784289564985">"Odbaci"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blokiraj veze bez VPN-a"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Treba li zahtijevati VPN vezu?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nije sigurno. Ažurirajte na IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Odaberite VPN profil s kojim će uvijek biti uspostavljena veza. Mrežni saobraćaj će biti dopušten samo kad je uspostavljena veza s tim VPN-om."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Ništa"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Uvijek aktivni VPN zahtijeva IP adresu i za server i za DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Prikaži sav sadržaj obavještenja"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Prikaži osjetljiv sadržaj samo kada je ekran otključan"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Uopće ne prikazuj obavještenja"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kako želite da se obavještenja prikazuju na zaključanom ekranu?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Šta želite da vam zaključani ekran prikazuje?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Zaključani ekran"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Prikaži sav sadržaj obavještenja radnog profila"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Sakrij osjetljivi sadržaj radnog profila"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Dozvoli pristup za upravljanje svim fajlovima"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Dozvolite ovoj aplikaciji da čita, mijenja i briše sve fajlove na ovom uređaju ili svim povezanim uređajima za pohranu. Ako to dozvolite, aplikacija može pristupati fajlovima bez vašeg znanja."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Može da pristupa svim fajlovima"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikacije s glasovnom aktivacijom"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Dozvoli glasovnu aktivaciju"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Aktivacijom glasom se bez dodira uključuju odobrene aplikacije, pomoću glasovne komande. Ugrađena prilagodljiva detekcija osigurava da vaši podaci ostanu privatni.\n\n"<a href="">"Više o sigurnoj prilagodljivoj detekciji"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Obavještenja preko cijelog ekrana"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Dozvoli obavještenja ove aplikacije preko cijelog ekrana"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Dozvolite aplikaciji da prikazuje obavještenja koja zauzimaju cijeli ekran kada je uređaj zaključan. Aplikacije ih mogu koristiti da istaknu alarme, dolazne pozive ili druga hitna obavještenja."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> je potrošila više baterije nego inače pri radu u pozadini"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> je potrošila više baterije pri radu u prvom planu"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> je potrošila više baterije nego inače pri radu u prvom planu"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Nepravilnost u potrošnji baterije"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Visoka potrošnja baterije"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Visoka potrošnja baterije u pozadini"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Visoka potrošnja baterije u prvom planu"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navigacija za sistem, navigacija pomoću 2 dugmeta, navigacija pomoću 3 dugmeta, navigacija pokretima, prevlačenje"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitalni asistent"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Prevucite da pozovete asistenta na radnju"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Prevucite s donjeg ugla prema gore da pozovete na radnju aplikaciju digitalnog asistenta."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Prevucite s donjeg ugla prema gore da pozovete na radnju aplikaciju digitalnog asistenta"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Zadržavanje dugmeta za početni ekran za Asistenta"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Pritisnite i zadržite dugme za početni ekran da aktivirate aplikaciju digitalnog asistenta."</string>
<string name="low_label" msgid="6525629096999711220">"Nisko"</string>
@@ -4960,8 +4945,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Odaberite gramatički rod"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Skeniranje obmanjujućih aplikacija"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Provjerite aktivnost aplikacije radi otkrivanja krađe identiteta"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Koristi skeniranje"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Koristi skeniranje poslovnih aplikacija"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Koristi skeniranje obmanjujućih aplikacija"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Koristi skeniranje obmanjujućih aplikacija za posao"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 1cf9ccc..2c266b7 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"Altres dispositius"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositius desats"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Associat al compte"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"S\'ha utilitzat anteriorment amb un compte"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Utilitzats anteriorment amb el compte"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"El Bluetooth s\'activarà per vincular"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"Preferències de connexió"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Connectats prèviament"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Llapis òptic"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Ús compartit d\'àudio"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Comparteix l\'àudio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Trucades i alarmes"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Connecta\'t a un flux d\'LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Fluxos d\'àudio a prop"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Fluxos d\'àudio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connecta\'t a un flux d\'àudio fent servir un codi QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"No s\'ha trobat cap flux d\'àudio a prop."</string>
<string name="date_and_time" msgid="1788358029823431692">"Data i hora"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Servidor intermediari"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Esborra"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Perfil de treball"</string>
<string name="private_space_title" msgid="7078627930195569767">"Espai privat"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Amaga les aplicacions en una carpeta privada"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Desbloqueja amb el bloqueig de pantalla"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Amaga les aplicacions en una carpeta privada a què només pots accedir tu"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Bloqueig d\'Espai privat"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Pots desbloquejar Espai privat de la mateixa manera que desbloqueges el dispositiu, o triar un altre bloqueig"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Utilitza el bloqueig de pantalla del dispositiu"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueig facial i amb empremta digital"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toca per configurar"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"El mateix bloqueig de pantalla que el del dispositiu"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Vols triar un bloqueig nou per a Espai privat?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Amaga quan estigui bloquejat"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Amaga Espai privat quan estigui bloquejat"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Per evitar que altres persones sàpiguen que tens Espai privat, pots amagar-lo de la llista d\'apps"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Accedeix a Espai privat quan està amagat"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Cerca \"Espai privat\" a la barra de cerca"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Toca la icona d\'Espai privat"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Desbloqueja Espai privat"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desactivat"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Activat"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Crea un espai privat"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Suprimeix l\'espai privat"</string>
- <string name="private_space_created" msgid="2978055968937762232">"L\'espai privat s\'ha creat correctament"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"L\'espai privat ja existeix"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"L\'espai privat no s\'ha pogut crear"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"L\'espai privat s\'ha suprimit correctament"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"L\'espai privat no s\'ha pogut suprimir"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Defineix un bloqueig de pantalla"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Per utilitzar l\'espai privat, defineix un bloqueig de pantalla."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Defineix un bloqueig de pantalla"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancel·la"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Cancel·la"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Configura"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Configura Espai privat"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Amaga aplicacions privades en un espai segur a què només pots accedir tu"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Com funciona"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Pots accedir a Espai privat des del final de la llista d\'aplicacions"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Les aplicacions que hi ha a Espai privat estan protegides amb un bloqueig"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Quan està bloquejat, les notificacions de les aplicacions d\'Espai privat s\'amaguen"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Les aplicacions d\'Espai privat no es mostraran al gestor de permisos, al tauler de privadesa ni en altres opcions de configuració quan Espai privat estigui bloquejat"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"S\'està configurant Espai privat…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"La informació d\'ús de les aplicacions d\'Espai privat s\'amaga quan està bloquejat"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Accedeix a Espai privat des de la llista d\'aplicacions"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"No s\'ha pogut configurar Espai privat"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Torna-ho a provar ara o torna més tard"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Torna-ho a provar"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Vols desbloquejar amb el bloqueig de pantalla?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Pots desbloquejar Espai privat de la mateixa manera que desbloqueges el dispositiu, o triar un altre bloqueig"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Utilitza el bloqueig de pantalla"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Tria un bloqueig nou"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Tot a punt!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Fet"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Desplaça\'t cap avall per accedir a Espai privat"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Inicia la sessió per configurar Espai privat"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Has d\'iniciar la sessió en un compte per configurar Espai privat"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Per mostrar Espai privat (versió provisional d\'EU)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Obre l\'aplicació Configuració"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Toca Seguretat i privadesa > Espai privat > Amaga Espai privat quan estigui bloquejat"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Desactiva Amaga Espai privat quan estigui bloquejat"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Nota per a Googlers: el desenvolupament d\'aquesta funció encara està en curs"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Pots afegir un màxim de <xliff:g id="COUNT">%d</xliff:g> empremtes digitals"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Has afegit el nombre màxim d\'empremtes digitals"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"No es poden afegir més empremtes digitals"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connecta"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desconnecta"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Vincula i connecta"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Amb el Bluetooth activat, el dispositiu pot comunicar-se amb dispositius Bluetooth propers."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Amb el Bluetooth activat, el dispositiu pot comunicar-se amb dispositius Bluetooth a prop"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Si el Bluetooth està activat, el dispositiu pot comunicar-se amb altres dispositius Bluetooth propers.\n\nPer millorar l\'experiència del dispositiu, les aplicacions i els serveis poden cercar dispositius propers en qualsevol moment, fins i tot quan el Bluetooth està desactivat. Aquesta opció es pot utilitzar, per exemple, per millorar les funcions i els serveis basats en la ubicació. Pots canviar-la a la configuració de cerca de dispositius Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Canvia"</string>
<string name="device_details_title" msgid="1155622417516195481">"Detalls del dispositiu"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permet que ART verifiqui el codi de bytes de les aplicacions depurables"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Freqüència d\'actualització"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostra la freqüència d\'actualització de la pantalla actual"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostra la proporció HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostra la proporció HDR/SDR actual"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Sol·licita el desbloqueig del dispositiu per a l\'NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Continua utilitzant les aplicacions amb el dispositiu plegat"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Augmenta automàticament la freqüència d\'actualització fins a <xliff:g id="ID_1">%1$d</xliff:g> Hz en alguns continguts. Augmenta l\'ús de la bateria."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Força la freqüència d\'actualització màxima"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"La freqüència d\'actualització més alta millora la resposta tàctil i la qualitat de les animacions. Augmenta l\'ús de la bateria."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Atenció a la pantalla"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Configuració comuna"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Edita el punt d\'accés"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Afegeix un punt d\'accés"</string>
<string name="apn_not_set" msgid="8246646433109750293">"No definit"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"No definit"</string>
<string name="apn_name" msgid="6677695784108157953">"Nom"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Utilitza el botó d\'accessibilitat per obrir"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Per obrir, mantén premudes les tecles de volum"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Per obrir, fes triple toc a la pantalla"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Fes triple toc a la pantalla amb dos dits per obrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utilitza un gest per obrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Utilitza el gest d\'accessibilitat"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Per utilitzar aquesta funció, toca el botó d\'accessibilitat <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> a la part inferior de la pantalla.\n\nPer canviar entre funcions, mantén premut el botó d\'accessibilitat."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Per utilitzar aquesta funció, toca el botó d\'accessibilitat de la pantalla."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Per utilitzar aquesta funció, mantén premudes les dues tecles de volum."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Per iniciar o aturar l\'ampliació, fes triple toc en qualsevol punt de la pantalla."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Per iniciar o aturar l\'ampliació, fes triple toc en qualsevol punt de la pantalla amb dos dits."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Per utilitzar aquesta funció, llisca cap amunt amb 2 dits des de la part inferior de la pantalla.\n\nPer canviar entre funcions, llisca cap amunt amb 2 dits i mantén premut."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Per utilitzar aquesta funció, llisca cap amunt amb 3 dits des de la part inferior de la pantalla.\n\nPer canviar entre funcions, llisca cap amunt amb 3 dits i mantén premut."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Per utilitzar una funció d\'accessibilitat, llisca cap amunt amb 2 dits des de la part inferior de la pantalla.\n\nPer canviar entre funcions, llisca cap amunt amb 2 dits i mantén premut."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Mantén premudes les tecles de volum"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"mantén premudes les tecles de volum"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Mantén premudes les dues tecles de volum"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Fes triple toc a la pantalla amb dos dits"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"fes triple toc a la pantalla amb dos dits"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Toca ràpidament la pantalla {0,number,integer} vegades amb dos dits"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Fes tres tocs a la pantalla"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"fes tres tocs a la pantalla"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Toca ràpidament la pantalla {0,number,integer} vegades. És possible que aquesta drecera alenteixi el dispositiu."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Pot fer un seguiment de les teves interaccions amb una aplicació o un sensor de maquinari, i interaccionar amb aplicacions en nom teu."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permet"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Denega"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Atura"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancel·la"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Vols aturar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Si toques <xliff:g id="STOP">%1$s</xliff:g>, <xliff:g id="SERVICE">%2$s</xliff:g> s\'aturarà."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"No hi ha cap servei instal·lat"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"No s\'ha seleccionat cap servei"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"No s\'ha proporcionat cap descripció."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si limites l\'activitat en segon pla d\'una aplicació, és possible que no funcioni correctament"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Com que aquesta aplicació no s\'ha configurat per optimitzar la bateria, no pots restringir-la.\n\nPer restringir l\'aplicació, activa l\'optimització de la bateria."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gestiona l\'ús de la bateria"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permet l\'ús en segon pla"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Activa per a actualitzacions en temps real; desactiva per estalviar bateria"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sense restriccions"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimitzat"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restringit"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nom"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tipus"</string>
<string name="vpn_server" msgid="2908816134941973935">"Adreça del servidor"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Encriptació PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Secret L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador d\'IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Clau precompartida d\'IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificat d\'usuari IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificat de CA d\'IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificat de servidor IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Mostra opcions avançades"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Dominis de cerca DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidors DNS (p. ex., 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Rutes de desviació (p. ex., 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nom d\'usuari"</string>
<string name="vpn_password" msgid="1183746907642628127">"Contrasenya"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Desa la informació del compte"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(no utilitzat)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(no comprovis el servidor)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(rebut del servidor)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Aquest tipus de VPN no pot estar connectat en tot moment"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Una VPN sempre activada només admet adreces de servidor numèriques"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"S\'ha d\'especificar un servidor DNS per a una VPN sempre activada"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Les adreces del servidor DNS han de ser numèriques per a una VPN sempre activada"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"La informació indicada no és compatible amb una VPN sempre activada"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Cancel·la"</string>
<string name="vpn_done" msgid="5137858784289564985">"Ignora"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Bloqueja les connexions sense VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"La connexió VPN ha de ser obligatòria?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"No és segura. Actualitza a una VPN IKEv2."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecciona un perfil de VPN per estar-hi sempre connectat. El trànsit de la xarxa només es permetrà quan estiguis connectat a aquesta VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Cap"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Per tenir la VPN sempre activada cal una adreça IP per al servidor i per al DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostra tot el contingut de les notificacions"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Mostra el contingut sensible només en desbloquejar"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"No mostris cap notificació"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Què vols que es mostri a la pantalla de bloqueig?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Què vols que es mostri a la pantalla de bloqueig?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Pantalla de bloqueig"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostra tot el contingut de notificacions de feina"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Amaga el contingut de feina sensible"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Permet l\'accés per gestionar tots els fitxers"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permet que aquesta aplicació llegeixi, modifiqui i suprimeixi tots els fitxers d\'aquest dispositiu o de qualsevol volum d\'emmagatzematge connectat. L\'aplicació podrà accedir als fitxers sense el teu coneixement explícit."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Pot accedir a tots els fitxers"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplicacions d\'activació per veu"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permet l\'activació per veu"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"L\'activació per veu activa les aplicacions aprovades mitjançant les ordres de veu amb mans lliures. La detecció adaptativa integrada garanteix la privadesa de les teves dades.\n\n"<a href="">"Més informació sobre la detecció adaptativa protegida"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Notificacions de pantalla completa"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Permet les notificacions de pantalla completa d\'aquesta aplicació"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permet que aquesta aplicació mostri notificacions que ocupen tota la pantalla quan el dispositiu està bloquejat. Les aplicacions poden utilitzar aquesta opció per destacar alarmes, trucades entrants o altres notificacions urgents."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"L\'aplicació <xliff:g id="APP_LABEL">%1$s</xliff:g> ha consumit més bateria de l\'habitual en segon pla"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"L\'aplicació <xliff:g id="APP_LABEL">%1$s</xliff:g> ha consumit més bateria en primer pla"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"L\'aplicació <xliff:g id="APP_LABEL">%1$s</xliff:g> ha consumit més bateria de l\'habitual en primer pla"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia en l\'ús de la bateria"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Ús elevat de la bateria"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Ús elevat de la bateria en segon pla"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Ús elevat de la bateria en primer pla"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navegació del sistema, navegació amb 2 botons, navegació amb 3 botons, navegació amb gestos, lliscar"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistent digital"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Llisca per invocar l\'assistent"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Llisca cap amunt des d\'un extrem inferior per invocar l\'aplicació de l\'assistent digital."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Llisca cap amunt des d\'un extrem inferior per invocar l\'aplicació de l\'assistent digital"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Mantén premut el botó d\'inici per obrir l\'Assistent"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Mantén premut el botó d\'inici per invocar l\'aplicació de l\'assistent digital."</string>
<string name="low_label" msgid="6525629096999711220">"Baixa"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecciona el gènere gramatical"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"S\'estan cercant aplicacions enganyoses"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Comprova l\'activitat de les aplicacions per detectar pesca de credencials"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Utilitza l\'anàlisi"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Utilitza l\'anàlisi per a les aplicacions de treball"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Utilitza la funció de cerca per detectar aplicacions enganyoses"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Utilitza la funció de cerca per detectar aplicacions de treball enganyoses"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 2e49d69..e670c0f 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Dotykové pero"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Sdílení zvuku"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Sdílet zvuk"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Hovory a budíky"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Připojení ke zvukovému streamu LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Okolní zvukové streamy"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Zvukové streamy"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Připojení ke zvukovému streamu pomocí QR kódu"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Nebyly nalezeny žádné zvukové streamy v okolí."</string>
<string name="date_and_time" msgid="1788358029823431692">"Datum a čas"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy server"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Vymazat"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Pracovní profil"</string>
<string name="private_space_title" msgid="7078627930195569767">"Soukromý prostor"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Skrýt aplikace v soukromé složce"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Odemknout pomocí zámku obrazovky"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Skrýt aplikace v soukromé složce, abyste k nim měli přístup pouze vy"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Zámek soukromého prostoru"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Soukromý prostor můžete odemykat stejně, jako odemykáte své zařízení, nebo můžete zvolit jiný zámek"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Použít zámek obrazovky zařízení"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Odemknutí obličejem a otiskem prstu"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Klepnutím nastavíte"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Stejný jako zámek obrazovky zařízení"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Vybrat nový zámek pro soukromý prostor?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Při uzamčení skrýt"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Při uzamčení soukromý prostor skrýt"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Pokud chcete, aby o soukromém prostoru ve vašem zařízení nikdo nevěděl, můžete ho skrýt ze seznamu aplikací"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Přístup do soukromého prostoru, když je skrytý"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Ve vyhledávacím poli vyhledejte text „soukromý prostor“."</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Klepněte na dlaždici Soukromý prostor"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Odemknutí soukromého prostoru"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Vypnuto"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Zapnuto"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Systém"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Vytvořit soukromý prostor"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Smazat soukromý prostor"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Soukromý prostor byl úspěšně vytvořen"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Soukromý prostor už existuje"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Soukromý prostor se nepodařilo vytvořit"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Soukromý prostor byl úspěšně smazán"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Soukromý prostor se nepodařilo vytvořit"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Nastavte zámek obrazovky"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Pokud chcete používat soukromý prostor, nastavte na tomto zařízení zámek obrazovky."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Nastavit zámek obrazovky"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Zrušit"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Zrušit"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Nastavit"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Nastavení soukromého prostoru"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Skryjte soukromé aplikace do zabezpečeného prostoru přístupného pouze pro vás"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Jak to funguje"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Soukromý prostor můžete otevřít ze spodní části seznamu aplikací"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Aplikace v soukromém prostoru jsou chráněny zámkem"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Když je soukromý prostor uzamčen, jsou oznámení aplikací v soukromém prostoru skryta"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Když je soukromý prostor uzamčen, aplikace v soukromém prostoru se nezobrazují ve správci oprávnění, na panelu ochrany soukromí ani v dalších nastaveních"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Nastavování soukromého prostoru…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Když je soukromý prostor uzamčen, informace o využití aplikací v soukromém prostoru jsou skryty"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Přístup k soukromému prostoru ze seznamu aplikací"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Soukromý prostor se nepodařilo nastavit"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Zkuste to teď znovu nebo se vraťte později"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Zkusit znovu"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Použít k odemknutí zámek obrazovky?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Soukromý prostor můžete odemykat stejně, jako odemykáte své zařízení, nebo můžete zvolit jiný zámek"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Použít zámek obrazovky"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Zvolit nový zámek"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Hotovo!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Hotovo"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Pokud chcete otevřít soukromý prostor, přejděte dolů"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Pokud chcete nastavit soukromý prostor, přihlaste se"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Pokud chcete nastavit soukromý prostor, musíte se přihlásit k účtu"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"K zobrazení soukromého prostoru (není konečná verze UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Spusťte aplikaci Nastavení"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Klepněte na Zabezpečení a ochrana soukromí > Soukromý prostor > Při uzamčení soukromý prostor skrýt"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Vypnout přepínač Při uzamčení soukromý prostor skrýt"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Poznámka pro zaměstnance společnosti Google: Vývoj této funkce stále probíhá"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Maximální počet otisků prstů, které lze přidat: <xliff:g id="COUNT">%d</xliff:g>"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Přidali jste maximální počet otisků prstů"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Další otisky prstů nelze přidat"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Připojit"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Odpojit"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Spárovat a připojit"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Když je připojení Bluetooth zapnuto, vaše zařízení může komunikovat s ostatními zařízeními Bluetooth v okolí."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Když je připojení Bluetooth zapnuto, vaše zařízení může komunikovat s ostatními zařízeními Bluetooth v okolí"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Když je zapnuté připojení Bluetooth, zařízení může komunikovat s ostatními zařízeními Bluetooth v okolí.\n\nAplikace a služby mohou za účelem vylepšení funkcí nadále vyhledávat zařízení v okolí, i když je Bluetooth vypnuté. Lze tak například vylepšit funkce a služby založené na poloze. Toto chování můžete změnit v nastavení vyhledávání Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Změnit"</string>
<string name="device_details_title" msgid="1155622417516195481">"O zařízení"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Povolit nástroji ART ověřovat bajtkód aplikací k ladění"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Zobrazovat frekvenci obnovení"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Zobrazovat aktuální obnovovací frekvenci displeje"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Zobrazit poměr HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Zobrazit aktuální poměr HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Před použitím NFC vyžadovat odemknutí zařízení"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Při složení pokračovat v používání aplikací"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Plynulé zobrazení"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"U některého obsahu automaticky zvýší obnovovací frekvenci až na <xliff:g id="ID_1">%1$d</xliff:g> Hz. Zvyšuje využití baterie."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Vynutit nejvyšší obnovovací frekvenci"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Vyšší obnovovací frekvence za účelem vylepšení responzivity klepnutí a kvality animace. Zvyšuje využití baterie."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Vnímavá obrazovka"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Komunální nastavení"</string>
<string name="apn_settings" msgid="4295467389400441299">"Přístupové body"</string>
<string name="apn_edit" msgid="2003683641840248741">"Upravit přístupový bod"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Přidání přístupového bodu"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nenastaveno"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nenastaveno"</string>
<string name="apn_name" msgid="6677695784108157953">"Název"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otevření pomocí tlačítka přístupnosti"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Otevřete podržením tlačítek hlasitosti"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Otevřete trojitým klepnutím na obrazovku"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Otevření provedete trojitým klepnutím dvěma prsty na obrazovku"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otevření gestem"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Použití gesta přístupnosti"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Tuto funkci použijete klepnutím na tlačítko Přístupnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> v dolní části obrazovky.\n\nChcete-li přepnout mezi funkcemi, tlačítko Přístupnost podržte."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Pokud chcete použít tuto funkci, klepněte na tlačítko přístupnosti."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Tuto funkci použijete tak, že stisknete a podržíte obě tlačítka hlasitosti."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Zvětšení aktivujete nebo deaktivujete trojitým klepnutím kamkoliv na obrazovce."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Zvětšení aktivujete nebo deaktivujete trojitým klepnutím dvěma prsty kamkoliv na obrazovku."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Tuto funkci použijete tak, že přejedete dvěma prsty z dolního okraje obrazovky nahoru.\n\nPokud chcete přepnout mezi funkcemi, přejeďte dvěma prsty nahoru a podržte je."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Tuto funkci použijete tak, že přejedete třemi prsty z dolního okraje obrazovky nahoru.\n\nChcete-li přepnout mezi funkcemi, přejeďte třemi prsty nahoru a podržte je."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Funkce pro usnadnění přístupu použijete tak, že přejedete dvěma prsty z dolního okraje obrazovky nahoru.\n\nPokud chcete přepnout mezi funkcemi, přejeďte dvěma prsty nahoru a podržte je."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Podržení tlačítek hlasitosti"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"podržení tlačítek hlasitosti"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Podržte obě tlačítka hlasitosti"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Tojité klepnutí na obrazovku dvěma prsty"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"trojité klepnutí na obrazovku dvěma prsty"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Rychle {0,number,integer}krát klepnout na obrazovku dvěma prsty"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Trojité klepnutí na obrazovku"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"trojité klepnutí na obrazovku"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Rychle {0,number,integer}krát klepněte na obrazovku. Tato zkratka může zařízení zpomalit."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Služba může sledovat vaše interakce s aplikací nebo hardwarovým senzorem a komunikovat s aplikacemi namísto vás."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Povolit"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Zakázat"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Ukončit"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Zrušit"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Vypnout funkci <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Klepnutím na <xliff:g id="STOP">%1$s</xliff:g> ukončíte službu <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Žádná služba není nainstalována"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Není vybrána žádná služba"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"K dispozici není žádný popis."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Pokud u aplikace omezíte aktivitu na pozadí, může dojít k nepředvídatelnému chování"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Aplikace není nastavena k optimalizaci baterie, nelze ji tedy omezit.\n\nChcete-li ji omezit, nejprve zapněte optimalizaci."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Správa využití baterie"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Povolení použití na pozadí"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Aktivujte, pokud máte zájem o aktualizace v reálném čase, deaktivujte, pokud chcete šetřit baterii"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neomezeno"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimalizováno"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Omezeno"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Název"</string>
<string name="vpn_type" msgid="5533202873260826663">"Typ"</string>
<string name="vpn_server" msgid="2908816134941973935">"Adresa serveru"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Šifrování PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Tajný klíč L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identifikátor protokolu IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Předem sdílený klíč IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Uživatelský certifikát IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certifikát CA protokolu IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certifikát serveru IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Zobrazit rozšířené možnosti"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domény vyhledávání DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Servery DNS (např. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Přesměrovávací trasy (např. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Uživatelské jméno"</string>
<string name="vpn_password" msgid="1183746907642628127">"Heslo"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Uložit údaje o účtu"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(nepoužívá se)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(neověřovat server)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(přijato ze serveru)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Tento typ sítě VPN nemůže zůstat trvale připojen"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Trvalé sítě VPN podporují pouze číselné adresy serverů"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"U trvalé sítě VPN musí být zadán server DNS"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adresy serverů DNS trvalých sítí VPN musejí být číselné"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Zadané údaje trvalou síť VPN nepodporují"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Zrušit"</string>
<string name="vpn_done" msgid="5137858784289564985">"Zavřít"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blokovat připojení bez VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Vyžadovat připojení VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nezabezpečeno. Proveďte aktualizaci na IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Vyberte profil VPN, ke kterému chcete zůstat trvale připojeni. Síťový provoz bude povolen pouze v případě, že budete připojeni k této síti VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Žádná"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Trvalá síť VPN vyžaduje IP adresu pro server i DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Zobrazovat veškerý obsah oznámení"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Citlivý obsah zobrazovat jen po odemknutí"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Oznámení vůbec nezobrazovat"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Jak chcete obrazovku uzamčení zobrazovat?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Co se má na obrazovce uzamčení zobrazovat?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Obrazovka uzamčení"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Zobrazí se veškerý obsah pracovních oznámení"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Skrýt citlivý pracovní obsah"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Povolit přístup ke správě všech souborů"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Když tuto možnost povolíte, aplikace bude moci načítat, upravovat a mazat soubory v tomto zařízení a v připojených úložištích. Aplikace bude mít přístup k souborům i bez vašeho vědomí."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Mají přístup ke všem souborům"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikace aktivované hlasem"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Povolit hlasovou aktivaci"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Hlasová aplikace zapne schválené aplikace po vyslovení hlasového příkazu, handsfree. Vestavěné adaptivní zjišťování zajišťuje, abyste k datům měli přístup pouze vy.\n\n"<a href="">"Další informace o chráněném adaptivním zjišťování"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Oznámení na celou obrazovku"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Povolte oznámení z této aplikace na celou obrazovku"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Povolte této aplikaci zobrazovat oznámení na celou obrazovku, když bude zařízení zamknuté. Aplikace tak mohou zvýraznit budíky, příchozí hovory a další důležitá oznámení."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Aplikace <xliff:g id="APP_LABEL">%1$s</xliff:g> spotřebovala na pozadí více baterie než obvykle"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Aplikace <xliff:g id="APP_LABEL">%1$s</xliff:g> spotřebovala v popředí více baterie"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Aplikace <xliff:g id="APP_LABEL">%1$s</xliff:g> spotřebovala v popředí více baterie než obvykle"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomálie využití baterie"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Vysoké využití baterie"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Vysoké využití baterie na pozadí"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Vysoké využití baterie v popředí"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"systémová navigace, navigace dvěma tlačítky, navigace třemi tlačítky, navigace gesty, přejetí prstem"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitální asistent"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Vyvolat asistenta přejetím prstem"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Aplikaci digitálního asistenta vyvoláte přejetím prstem nahoru ze spodního rohu obrazovky."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Aplikaci digitálního asistenta vyvoláte přejetím prstem nahoru ze spodního rohu obrazovky"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Aktivovat Asistenta podržením tlačítka plochy"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Aplikaci digitálního asistenta vyvoláte podržením tlačítka plochy."</string>
<string name="low_label" msgid="6525629096999711220">"Nízká"</string>
@@ -4961,8 +4946,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Vyberte mluvnický rod"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Vyhledávání podvodných aplikací"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Kontrola aplikace ohledně phishingu"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Použít kontrolu"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Použít kontrolu pracovních aplikací"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Používat detekci podvodných aplikací"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Používat detekci podvodných pracovních aplikací"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index bee6042..3a0b11b 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Styluspen"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Deling af lyd"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Del lyd"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Opkald og alarmer"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Opret forbindelse til en LE-lydstream"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Lydstreams i nærheden"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Lydstreams"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Opret forbindelse til en lydstream ved hjælp af en QR-kode"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Ingen lydstreams blev fundet i nærheden."</string>
<string name="date_and_time" msgid="1788358029823431692">"Dato og klokkeslæt"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Ryd"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Arbejdsprofil"</string>
<string name="private_space_title" msgid="7078627930195569767">"Privat rum"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Skjul apps i en privat mappe"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Lås op ved hjælp af en skærmlås"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Skjul apps i en privat mappe, som kun du kan tilgå"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Lås til privat rum"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Du kan låse op for det private rum på samme måde, som du låser din enhed op, eller ved at vælge en anden lås"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Brug enhedens skærmlås"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Ansigtsoplåsning og fingeroplåsning"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tryk for at konfigurere"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Den samme som enhedens skærmlås"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Vil du vælge en ny lås til det private rum?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Skjul, når det er låst"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Skjul det private rum, når det er låst"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Hvis andre ikke må kende til det private rum på din enhed, kan du skjule det på listen over apps"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Åbn dit private rum, når det er skjult"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Søg efter \"privat rum\" i søgefeltet"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tryk på handlingsfeltet Privat rum"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Lås dit private rum op"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Fra"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Til"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Opret et privat rum"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Slet det private rum"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Det private rum er oprettet"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Det private rum eksisterer allerede"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Det private rum kunne ikke oprettes"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Det private rum er slettet"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Det private rum kunne ikke slettes"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Konfigurer en skærmlås"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Konfigurer en skærmlås på enheden for at bruge private rum"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Konfigurer skærmlås"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Annuller"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Annuller"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Konfigurer"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Konfigurer et privat rum"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Skjul private apps et sikkert sted, som kun du har adgang til"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Sådan fungerer det"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Du få adgang til det private rum nederst på din liste over apps"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Apps i et privat rum er beskyttet af en lås"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Notifikationer fra apps i det private rum er skjult, når det private rum er låst"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Apps i et privat rum vises ikke i tilladelsesmanager, privatlivspanelet eller andre indstillinger, når det private rum er låst"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Konfigurerer et privat rum…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Oplysninger om brug for apps i et privat rum er skjult, når det private rum er låst"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Få adgang til dit private rum via din liste over apps"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Det private rum kunne ikke konfigureres"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Prøv igen nu, eller vend tilbage senere"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Prøv igen"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Vil du bruge skærmlås til at låse op?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Du kan låse op for det private rum på samme måde, som du låser din enhed op, eller ved at vælge en anden lås"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Brug skærmlås"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Vælg en ny lås"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Det var det hele."</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Udfør"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Rul ned for at få adgang til det private rum"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Log ind for at konfigurere Private Space"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Du skal logge ind på en konto for at konfigurere et privat rum"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Få vist det private rum (ikke den endelige brugeroplevelse)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Åbn appen Indstillinger"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Tryk på Sikkerhed og privatliv > Privat rum > Skjul det private rum, når det er låst"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Deaktiver kontakten for Skjul det private rum, når det er låst"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Bemærkning til Googlere: Denne funktion er stadig under udvikling"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Du kan tilføje op til <xliff:g id="COUNT">%d</xliff:g> fingeraftryk"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Du har tilføjet det maksimale antal fingeraftryk"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Du kan ikke tilføje flere fingeraftryk"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Forbind"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Afbryd"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Par og forbind med denne enhed"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Når Bluetooth er aktiveret, kan enheden kommunikere med andre Bluetooth-enheder i nærheden."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Når Bluetooth er aktiveret, kan enheden kommunikere med andre Bluetooth-enheder i nærheden"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Når Bluetooth er aktiveret, kan din enhed kommunikere med andre Bluetooth-enheder i nærheden.\n\nFor at forbedre enhedsoplevelsen kan apps og tjenester stadig til enhver tid søge efter enheder i nærheden, også selvom Bluetooth er deaktiveret. Dette kan f.eks. bruges til at forbedre lokationsbaserede funktioner og tjenester. Du kan ændre dette i indstillingerne for Bluetooth-scanning."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Rediger"</string>
<string name="device_details_title" msgid="1155622417516195481">"Enhedsoplysninger"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Tillad, at ART verificerer bytekoden for apps, der kan fejlrettes"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Vis opdateringshastighed"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Vis skærmens aktuelle opdateringshastighed"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Vis HDR-/SDR-forhold"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Vis det aktuelle HDR-/SDR-forhold"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Kræv, at enheden låses op til NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1019,7 +1004,7 @@
<string name="wifi_p2p_remembered_groups" msgid="5497007770930525695">"Gemte grupper"</string>
<string name="wifi_p2p_failed_connect_message" msgid="6767831720507440027">"Der kunne ikke oprettes forbindelse."</string>
<string name="wifi_p2p_failed_rename_message" msgid="1317434386267376606">"Enheden kunne ikke omdøbes."</string>
- <string name="wifi_p2p_disconnect_title" msgid="96361896458072463">"Vil du afbryde?"</string>
+ <string name="wifi_p2p_disconnect_title" msgid="96361896458072463">"Vil du afbryde forbindelsen?"</string>
<string name="wifi_p2p_disconnect_message" msgid="1208761239498807208">"Hvis du afbryder, stoppes forbindelsen til <xliff:g id="PEER_NAME">%1$s</xliff:g>."</string>
<string name="wifi_p2p_disconnect_multiple_message" msgid="4490648217799144078">"Hvis du afbryder, stoppes forbindelsen til <xliff:g id="PEER_NAME">%1$s</xliff:g> og <xliff:g id="PEER_COUNT">%2$s</xliff:g> andre enheder."</string>
<string name="wifi_p2p_cancel_connect_title" msgid="8476985132989357041">"Vil du annullere invitationen?"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Fortsæt med at bruge apps på Fold"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Øger automatisk opdateringshastigheden op til <xliff:g id="ID_1">%1$d</xliff:g> Hz for noget indhold. Medfører højere batteriforbrug."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Gennemtving højeste opdateringshastighed"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Den højeste opdateringshastighed, som giver forbedret animationskvalitet og reaktionsevne ved berøring. Medfører højere batteriforbrug."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Opmærksom skærm"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Fælles indstillinger"</string>
<string name="apn_settings" msgid="4295467389400441299">"Adgangspunkter"</string>
<string name="apn_edit" msgid="2003683641840248741">"Rediger adgangspunkt"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Tilføj adgangspunkt"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Ikke angivet"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ikke angivet"</string>
<string name="apn_name" msgid="6677695784108157953">"Navn"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Brug knappen til hjælpefunktioner til at åbne"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hold lydstyrkeknapperne nede for at åbne"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Tryk tre gange på skærmen for at åbne"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Tryk tre gange på skærmen med to fingre for at åbne"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Brug en bevægelse til at åbne"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Brug bevægelsen for hjælpefunktioner"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Tryk på knappen til hjælpefunktioner <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nederst på skærmen for at bruge denne funktion.\n\nDu kan skifte mellem funktioner ved at holde knappen til hjælpefunktioner nede."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Tryk på knappen til hjælpefunktioner på din skærm for at bruge denne funktion."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Hold begge lydstyrkeknapper nede for at bruge denne funktion."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Du kan starte og stoppe forstørrelse ved at trykke tre gange på skærmen."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Du kan starte og stoppe forstørrelse ved at trykke tre gange på skærmen med to fingre."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Stryg opad fra bunden af skærmen med to fingre for at bruge denne funktion.\n\nDu kan skifte mellem funktioner ved at stryge opad med to fingre og holde dem nede."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Stryg opad fra bunden af skærmen med tre fingre for at bruge denne funktion.\n\nDu kan skifte mellem funktioner ved at stryge opad med tre fingre og holde dem nede."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Stryg opad fra bunden af skærmen med to fingre for at bruge en hjælpefunktion.\n\nDu kan skifte mellem funktioner ved at stryge opad med to fingre og holde dem nede."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold lydstyrkeknapperne nede"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold lydstyrkeknapperne nede"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Hold begge lydstyrkeknapper nede"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Tryk tre gange på skærmen med to fingre"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"tryk tre gange på skærmen med to fingre"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Tryk hurtigt på skærmen {0,number,integer} gange med to fingre"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tryk tre gange på skærmen"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"tryk tre gange på skærmen"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Tryk hurtigt på skærmen {0,number,integer} gange. Denne genvej kan gøre din enhed langsommere"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Den kan spore dine interaktioner med en app eller en hardwaresensor og interagere med apps på dine vegne."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Tillad"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Afvis"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Stop"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Annuller"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Vil du standse <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Når du trykker på <xliff:g id="STOP">%1$s</xliff:g>, stoppes <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Der er ikke installeret nogen tjenester"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Der er ikke valgt nogen tjeneste"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Ingen beskrivelse til rådighed."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Hvis du begrænser en apps baggrundsaktivitet, kan det medføre, at den ikke fungerer korrekt"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Appen kan ikke begrænses, da batterioptimering er deaktiveret.\n\nAktivér batterioptimering for at begrænse appen."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Administrer batteriforbrug"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Tillad brug i baggrunden"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Aktivér for at få opdateringer i realtid, deaktiver for at spare på batteriet"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Ubegrænset"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimeret"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Begrænset"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Navn"</string>
<string name="vpn_type" msgid="5533202873260826663">"Type"</string>
<string name="vpn_server" msgid="2908816134941973935">"Serveradresse"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP-kryptering (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-hemmelighed"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-identifikator"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPsec-forhåndsdelt nøglekodning"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-brugercertifikat"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-certifikat"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-servercertifikat"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Vis avancerede valgmuligheder"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-søgedomæner"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-servere (f.eks. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Videresendelsesruter (f.eks. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Brugernavn"</string>
<string name="vpn_password" msgid="1183746907642628127">"Adgangskode"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Gem kontooplysninger"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(bruges ikke)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ingen verificering af serveren)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(modtaget fra serveren)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Denne VPN-type kan ikke være forbundet hele tiden"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Konstant VPN understøtter kun numeriske serveradresser"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Der skal angives en DNS-server for konstant VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS-serveradressen skal være numerisk for altid aktiverede VPN-netværk"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"De indtastede oplysninger understøtter ikke konstant VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Annuller"</string>
<string name="vpn_done" msgid="5137858784289564985">"Annuller"</string>
@@ -2775,7 +2754,7 @@
<string name="vpn_forget" msgid="2913950864877236737">"Glem"</string>
<string name="vpn_connect_to" msgid="216709261691085594">"Opret forbindelse til <xliff:g id="PROFILE">%s</xliff:g>"</string>
<string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Vil du afbryde dette VPN?"</string>
- <string name="vpn_disconnect" msgid="7753808961085867345">"Afbryd"</string>
+ <string name="vpn_disconnect" msgid="7753808961085867345">"Afbryd forbindelse"</string>
<string name="vpn_version" msgid="6344167191984400976">"Version"</string>
<string name="vpn_forget_long" msgid="729132269203870205">"Glem VPN"</string>
<string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Erstat det eksisterende VPN-netværk?"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Bloker forbindelser uden VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Vil du kræve VPN-forbindelse?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ikke sikkert. Opdater til et IKEv2 VPN-netværk"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Vælg en VPN-profil, der altid skal være forbindelse til. Netværkstrafik tillades kun, når der er forbindelse til dette VPN-netværk."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Ingen"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Et konstant VPN kræver en IP-adresse til både server og DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Vis alt indhold i notifikationer"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Vis kun følsomt indhold, når skærmen er låst op"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Vis slet ingen notifikationer"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hvordan skal låseskærmen vises?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Hvad skal der vises på låseskærmen?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Låseskærm"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Vis alt indhold i arbejdsnotifikationer"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Skjul følsomt arbejdsindhold"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Tillad administrationsadgang til alle filer"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Giv denne app tilladelse til at læse, ændre og slette alle filer på denne enhed eller andre tilsluttede lagringsløsninger. Hvis du giver tilladelse til dette, kan appen få adgang til dine filer, uden du specifikt bliver gjort opmærksom på det."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Kan få adgang til alle filer"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Stemmeaktiverede apps"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Tillad stemmeaktivering"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Stemmeaktivering aktiverer godkendte apps håndfrit ved hjælp af stemmekommandoer. Indbygget adaptiv registrering sørger for, at dine private data forbliver beskyttet.\n\n"<a href="">"Få flere oplysninger om beskyttelse med adaptiv registrering"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Notifikationer i fuld skærm"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Tillad notifikationer i fuld skærm fra denne app"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Tillad appen at vise notifikationer, der fylder hele skærmen, når enheden er låst. Apps kan benytte denne mulighed til at fremhæve alarmer, indgående opkald og andre presserende notifikationer."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brugte mere batteri end normalt i baggrunden"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brugte mere batteri i forgrunden"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brugte mere batteri end normalt i forgrunden"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Afvigelse i batteriforbrug"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Højt batteriforbrug"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Højt batteriforbrug i baggrunden"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Højt batteriforbrug i forgrunden"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"systemnavigering, navigering med to knapper, navigering med tre knapper, navigering med bevægelser, stryg"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistent"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Stryg for at aktivere assistenten"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Stryg opad fra et af de nederste hjørner for at aktivere appen for din digitale assistent."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Stryg opad fra et af de nedre hjørner for at aktivere appen for din digitale assistent."</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hold knappen Hjem nede for at aktivere Assistent"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Hold knappen Hjem nede for at aktivere appen for den digitale assistent."</string>
<string name="low_label" msgid="6525629096999711220">"Lav"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Vælg grammatisk køn"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Scanning af vildledende apps"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Tjek appaktivitet for phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Brug scanning"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Brug scanning til arbejdsapps"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Brug scanning til at registrere vildledende apps"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Brug scanning til at registrere vildledende arbejdsapps"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 047db86..ad7efec 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Eingabestift"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Audiofreigabe"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Audioinhalte freigeben"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Anrufe und Wecker"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Mit LE Audio-Stream verbinden"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Audiostreams in der Nähe"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audiostreams"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Über QR-Code mit einem Audiostream verbinden"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Keine Audiostreams in der Nähe gefunden."</string>
<string name="date_and_time" msgid="1788358029823431692">"Datum & Uhrzeit"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Löschen"</string>
@@ -287,7 +291,7 @@
<string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Nicht verfügbar"</string>
<string name="security_status_title" msgid="6958004275337618656">"Sicherheitsstatus"</string>
<string name="security_dashboard_summary" msgid="7571035662779425918">"Displaysperre, „Mein Gerät finden“, App-Sicherheit"</string>
- <string name="safety_center_title" msgid="7732397372178774777">"Sicherheit und Datenschutz"</string>
+ <string name="safety_center_title" msgid="7732397372178774777">"Datenschutz & Sicherheit"</string>
<string name="safety_center_summary" msgid="3554867379951053869">"App-Sicherheit, Gerätesperre, Berechtigungen"</string>
<string name="security_settings_face_preference_summary" msgid="6675126437396914838">"Gesicht hinzugefügt"</string>
<string name="security_settings_face_preference_summary_none" msgid="523320857738436024">"Einrichtung erforderlich"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Arbeitsprofil"</string>
<string name="private_space_title" msgid="7078627930195569767">"Privater Bereich"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Apps in privatem Ordner verstecken"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Mit Displaysperre entsperren"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Apps in privatem Ordner verstecken, auf den nur du zugreifen kannst"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Sperre für privaten Bereich"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Du kannst den privaten Bereich auf dieselbe Weise entsperren wie dein Gerät oder eine andere Sperre auswählen"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Displaysperre des Geräts verwenden"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Entsperrung per Gesichtserkennung und Fingerabdruck"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Zum Einrichten tippen"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Identisch mit Displaysperre des Geräts"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Neue Sperre für privaten Bereich festlegen?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Ausblenden, wenn gesperrt"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"„Privater Bereich“ ausblenden, wenn gesperrt"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Blende „Privater Bereich“ in deiner App-Liste aus, damit niemand weiß, dass dieser Bereich auf deinem Gerät ist"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Auf „Privater Bereich“ zugreifen, wenn ausgeblendet"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"In Suchleiste nach „Privater Bereich“ suchen"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tippe auf die Kachel für „Privater Bereich“"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Entsperre „Privater Bereich“"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Aus"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"An"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Privaten Bereich erstellen"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Privaten Bereich löschen"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Privater Bereich wurde erstellt"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Privater Bereich ist bereits vorhanden"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Privater Bereich konnte nicht erstellt werden"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Privater Bereich wurde gelöscht"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Privater Bereich konnte nicht gelöscht werden"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Displaysperre einrichten"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Zur Nutzung von „Privater Bereich“ auf dem Gerät Displaysperre einrichten."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Displaysperre einrichten"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Abbrechen"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Abbrechen"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Einrichten"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"„Privater Bereich“ einrichten"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Interne Apps in einem sicheren Bereich ausblenden, auf den nur du zugreifen kannst"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"So funktionierts"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Auf „Privater Bereich“ lässt sich vom unteren Teil deiner App-Liste zugreifen"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Apps in „Privater Bereich“ sind durch eine Sperre geschützt"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Benachrichtigungen von Apps im privaten Bereich werden nicht angezeigt, wenn dieser gesperrt ist"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Apps im privaten Bereich werden nicht im Berechtigungsmanager, im Privatsphäredashboard und in anderen Einstellungen angezeigt, wenn der private Bereich gesperrt ist"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Der private Bereich wird eingerichtet…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Informationen zur Nutzung von Apps im privaten Bereich sind verborgen, wenn dieser gesperrt ist"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Über die App-Liste auf den privaten Bereich zugreifen"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Der private Bereich konnte nicht eingerichtet werden"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Du kannst es jetzt oder später noch einmal versuchen"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Wiederholen"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Displaysperre zum Entsperren verwenden?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Du kannst den privaten Bereich auf dieselbe Weise entsperren wie dein Gerät oder eine andere Sperre auswählen"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Displaysperre verwenden"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Neue Sperre auswählen"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Fertig!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Fertig"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Scrolle nach unten, um auf den privaten Bereich zuzugreifen"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Zum Einrichten des privaten Bereichs anmelden"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Du musst dich in einem Konto anmelden, um den privaten Bereich einrichten zu können"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Zum Einblenden von „Privater Bereich“ (UX nicht endgültig)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Öffne die Einstellungen"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Tippe auf „Datenschutz & Sicherheit“ > „Privater Bereich“ > „‚Privater Bereich‘ ausblenden, wenn gesperrt“"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Schaltfläche „‚Privater Bereich‘ ausblenden, wenn gesperrt“ aus"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Hinweis für Google-Mitarbeiter: Diese Funktion befindet sich noch in der Entwicklungsphase"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Du kannst bis zu <xliff:g id="COUNT">%d</xliff:g> Fingerabdrücke hinzufügen."</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Du hast die maximale Anzahl an Fingerabdrücken hinzugefügt"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Es können keine Fingerabdrücke mehr hinzugefügt werden"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Verbinden"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Verbindung trennen"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Koppeln und verbinden"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bei aktiviertem Bluetooth kann dein Gerät mit Bluetooth-Geräten in der Nähe kommunizieren."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bei aktiviertem Bluetooth kann dein Gerät mit Bluetooth-Geräten in der Nähe kommunizieren"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bei aktiviertem Bluetooth kann dein Gerät mit anderen Bluetooth-Geräten in der Nähe kommunizieren.\n\nDamit es optimal funktioniert, können Apps und Dienste immer nach Geräten in der Nähe suchen, auch wenn Bluetooth deaktiviert ist. Dadurch werden beispielsweise standortbasierte Funktionen und Dienste verbessert. Dies lässt sich in den Bluetooth-Sucheinstellungen ändern."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Ändern"</string>
<string name="device_details_title" msgid="1155622417516195481">"Gerätedetails"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART die Überprüfung des Bytecodes für debug-fähige Apps gestatten"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Aktualisierungsrate anzeigen"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Aktuelle Aktualisierungsrate des Displays anzeigen"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR-Verhältnis anzeigen"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Aktuelles HDR/SDR-Verhältnis anzeigen"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Für NFC muss das Gerät entsperrt werden"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Apps weiterhin verwenden, wenn das Gerät zusammengeklappt ist"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Setzt die Aktualisierungsrate für einige Inhalte automatisch auf <xliff:g id="ID_1">%1$d</xliff:g> Hz herauf. Dadurch wird die Akkunutzung erhöht."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Maximale Aktualisierungsrate erzwingen"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Höchste Aktualisierungsrate für bessere Touchscreen-Reaktion und flüssigere Animationen. Erhöhter Akkuverbrauch."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Aufmerksamkeitserkennung"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Gemeinschaftliche Einstellungen"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"Zugangspunkt bearbeiten"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Zugangspunkt hinzufügen"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nicht definiert"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nicht festgelegt"</string>
<string name="apn_name" msgid="6677695784108157953">"Name"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Zum Öffnen Schaltfläche „Bedienungshilfen“ nutzen"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Zum Öffnen die Lautstärketasten gedrückt halten"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Zum Öffnen dreimal auf das Display tippen"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Zum Öffnen mit zwei Fingern dreimal auf das Display tippen"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Zum Öffnen Touch-Geste verwenden"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Touch-Geste für Bedienungshilfen verwenden"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Wenn du diese Funktion verwenden möchtest, tippe unten auf dem Display auf die Schaltfläche \"Bedienungshilfen\" <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nWenn du zwischen den Funktionen wechseln möchtest, halte diese Schaltfläche gedrückt."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Tippe zum Verwenden dieser Funktion auf dem Display auf die Schaltfläche „Bedienungshilfen“."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Wenn du diese Funktion verwenden möchtest, halte beide Lautstärketasten gedrückt."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Tippe dreimal auf das Display, um die Vergrößerung zu starten oder zu beenden."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Tippe zum Starten oder Beenden der Vergrößerung mit zwei Fingern dreimal auf eine beliebige Stelle des Displays."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Wenn du diese Funktion verwenden möchtest, wische vom unteren Displayrand mit zwei Fingern nach oben.\n\nWenn du zwischen den Funktionen wechseln möchtest, wische mit zwei Fingern über das Display nach oben und halte."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Wenn du diese Funktion verwenden möchtest, wische vom unteren Displayrand mit drei Fingern nach oben.\n\nWenn du zwischen den Funktionen wechseln möchtest, wische mit drei Fingern über das Display nach oben und halte."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Wenn du eine Bedienungshilfe verwenden möchtest, wische vom unteren Displayrand mit zwei Fingern nach oben.\n\nWenn du zwischen den Funktionen wechseln möchtest, wische mit zwei Fingern über das Display nach oben und halte."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Lautstärketasten gedrückt halten"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"Lautstärketasten gedrückt halten"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Halte beide Lautstärketasten gedrückt"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Mit zwei Fingern dreimal auf das Display tippen"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"mit zwei Fingern dreimal auf das Display tippen"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Tippe {0,number,integer}-Mal schnell mit zwei Fingern auf das Display"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Dreimal auf den Bildschirm tippen"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"dreimal auf den Bildschirm tippen"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Tippe {0,number,integer}-mal schnell auf das Display. Durch diesen Kurzbefehl kann dein Gerät langsamer werden."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Die Funktion kann deine Interaktionen mit einer App oder einem Hardwaresensor verfolgen und in deinem Namen mit Apps interagieren."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Zulassen"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Ablehnen"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Beenden"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Abbrechen"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> beenden?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Wenn du auf \"<xliff:g id="STOP">%1$s</xliff:g>\" tippst, wird \"<xliff:g id="SERVICE">%2$s</xliff:g>\" beendet."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Keine Dienste installiert"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Kein Dienst ausgewählt"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Es wurde keine Beschreibung bereitgestellt."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Wenn du die Hintergrundaktivität einer App einschränkst, kann dies zu unerwünschtem Verhalten führen"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Da bei dieser App die Akkunutzung nicht optimiert wird, kannst du sie nicht einschränken.\n\nDu musst du zunächst die Akkuoptimierung aktivieren."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Akkunutzung verwalten"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Hintergrundnutzung zulassen"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Du kannst die Hintergrundnutzung aktivieren, um Updates in Echtzeit herunterzuladen, oder deaktivieren, um die Akkulaufzeit zu verlängern"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Uneingeschränkt"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimiert"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Eingeschränkt"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Name"</string>
<string name="vpn_type" msgid="5533202873260826663">"Typ"</string>
<string name="vpn_server" msgid="2908816134941973935">"Serveradresse"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP-Verschlüsselung (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-Schlüssel"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-ID"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Vorinstallierter IPSec-Schlüssel"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-Nutzerzertifikat"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec-CA-Zertifikat"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-Serverzertifikat"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Erweiterte Optionen anzeigen"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-Suchdomains"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-Server (z. B. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Weiterleitungsrouten (z. B. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nutzername"</string>
<string name="vpn_password" msgid="1183746907642628127">"Passwort"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Kontoinformationen speichern"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(nicht verwendet)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(Server nicht überprüfen)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(vom Server erhalten)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Dieser VPN-Typ kann nicht durchgehend verbunden bleiben"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Durchgehend aktives VPN unterstützt numerische Serveradressen"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Ein DNS-Server muss für durchgehend aktives VPN angegeben werden"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS-Serveradressen müssen für durchgehend aktives VPN numerisch sein"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Bei den eingegebenen Informationen wird durchgehend aktives VPN nicht unterstützt"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Abbrechen"</string>
<string name="vpn_done" msgid="5137858784289564985">"Schließen"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Verbindungen ohne VPN blockieren"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN-Verbindung erforderlich?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Unsicher. Update auf IKEv2-VPN empfohlen."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Wähle ein VPN-Profil für eine durchgehende Verbindung aus. Netzwerkverkehr ist nur möglich, wenn eine Verbindung zu diesem VPN besteht."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Keines"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Für ein durchgehend aktives VPN ist eine IP-Adresse für den Server und für das DNS erforderlich."</string>
@@ -3018,7 +2999,7 @@
<string name="nfc_and_payment_settings_no_payment_installed_summary" msgid="4879818114908207465">"Installiere zuerst eine Zahlungs-App, damit du die Option verwenden kannst"</string>
<string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Kürzlich geöffnete Apps, Standard-Apps"</string>
<string name="notification_settings_work_profile" msgid="6076211850526353975">"Für Apps im Arbeitsprofil ist der Benachrichtigungszugriff nicht verfügbar."</string>
- <string name="account_dashboard_title" msgid="8228773251948253914">"Passwörter und Konten"</string>
+ <string name="account_dashboard_title" msgid="8228773251948253914">"Passwörter & Konten"</string>
<string name="account_dashboard_default_summary" msgid="1730719656099599488">"Gespeicherte Passwörter, Autofill, synchronisierte Konten"</string>
<string name="app_default_dashboard_title" msgid="4071015747629103216">"Standard-Apps"</string>
<string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Geklonte Apps"</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Gesamten Benachrichtigungsinhalt anzeigen"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Sensible Inhalte nur im entsperrten Zustand anzeigen"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Keine Benachrichtigungen anzeigen"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Wie sollen Benachrichtigungen auf dem Sperrbildschirm angezeigt werden?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Was soll auf deinem Sperrbildschirm angezeigt werden?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Sperrbildschirm"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Alle geschäftlichen Benachrichtigungen anzeigen"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Vertrauliche geschäftliche Inhalte ausblenden"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Zugriff zum Verwalten aller Dateien zulassen"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Du kannst dieser App erlauben, alle Dateien auf diesem Gerät und auf allen verbundenen Laufwerken zu lesen, zu ändern und zu löschen. Sie kann dann ohne deine explizite Zustimmung auf Dateien zugreifen."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Auf alle Dateien zugreifen"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps mit Sprachaktivierung"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Sprachaktivierung zulassen"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Mit der Sprachaktivierung lassen sich zugelassene Apps per Sprachbefehl starten. Ein integrierter adaptiver Sensor sorgt dafür, dass deine Daten privat bleiben.\n\n"<a href="">"Weitere Informationen zum geschützten adaptiven Sensor"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Vollbildbenachrichtigungen"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Vollbildbenachrichtigungen von dieser App erlauben"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Diese App darf Benachrichtigungen anzeigen, die das gesamte Display ausfüllen, wenn das Gerät gesperrt ist. Apps können diese verwenden, um Wecker, eingehende Anrufe oder andere dringende Benachrichtigungen hervorzuheben."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> hat den Akku im Hintergrund stärker als üblich beansprucht"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> hat den Akku im Vordergrund stärker beansprucht"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> hat den Akku im Vordergrund stärker als üblich beansprucht"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalie bei der Akkunutzung"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Hohe Akkunutzung"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Hohe Akkunutzung im Hintergrund"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Hohe Akkunutzung im Vordergrund"</string>
@@ -4097,7 +4082,7 @@
<string name="system_navigation_title" msgid="4890381153527184636">"Navigationsmodus"</string>
<string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"Bedienung über 2 Schaltflächen"</string>
<string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"Wenn du zwischen Apps wechseln möchtest, wische auf der Startbildschirmtaste nach oben. Wische noch einmal nach oben, um alle Apps zu sehen. Tippe auf die Schaltfläche \"Zurück\", um zurückzugehen."</string>
- <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Sicherheit und Notfälle"</string>
+ <string name="emergency_settings_preference_title" msgid="6183455153241187148">"Notfälle & Sicherheit"</string>
<string name="emergency_dashboard_summary" msgid="401033951074039302">"Notfall-SOS, medizinische Informationen, Benachrichtigungen"</string>
<string name="edge_to_edge_navigation_title" msgid="714427081306043819">"Bedienung über Gesten"</string>
<string name="edge_to_edge_navigation_summary" msgid="818109176611921504">"Öffne den Startbildschirm, indem du vom unteren Displayrand nach oben wischst. Um zwischen Apps zu wechseln, wische vom unteren Displayrand nach oben, halte und lass dann los. Wenn du zurückgehen möchtest, wische vom linken oder vom rechten Rand nach innen."</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"Systemsteuerung, Bedienung über 2 Schaltflächen, Bedienung über 3 Schaltflächen, Gestensteuerung, Bedienung über Gesten, wischen"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitaler Assistent"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Zum Öffnen des Assistenten wischen"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Wische von einer unteren Ecke nach oben, um die App für den digitalen Assistenten aufzurufen."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Wische von einer unteren Ecke nach oben, um die App für den digitalen Assistenten aufzurufen"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Aufrufen von Assistant per Drücken der Startbildschirmtaste"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Halte die Startbildschirmtaste gedrückt, um die App für den digitalen Assistenten aufzurufen."</string>
<string name="low_label" msgid="6525629096999711220">"Niedrig"</string>
@@ -4957,10 +4942,10 @@
<string name="about_phone_device_name_warning" msgid="3243226572404472381">"Dein Gerätename ist für Apps, die du installiert hast, sichtbar. Wenn du dein Gerät mit Bluetooth-Geräten oder einem WLAN verbindest oder einen WLAN-Hotspot einrichtest, kann der Name möglicherweise auch von anderen Personen gesehen werden."</string>
<string name="grammatical_gender_title" msgid="8584242850477270828">"Genus"</string>
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Genus auswählen"</string>
- <string name="content_protection_preference_title" msgid="5069260032659193074">"Auf Apps mit irreführenden Funktionen scannen"</string>
+ <string name="content_protection_preference_title" msgid="5069260032659193074">"Nach Apps mit irreführenden Funktionen suchen"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"App-Aktivitäten auf Phishing prüfen"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Scannen verwenden"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Scannen für geschäftliche Apps verwenden"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Nach Apps mit irreführenden Funktionen suchen"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Nach geschäftlichen Apps mit irreführenden Funktionen suchen"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 0e913dd..a4ec270 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Γραφίδα"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Κοινή χρήση ήχου"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Κοινή χρήση ήχου"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Κλήσεις και ξυπνητήρια"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Σύνδεση σε ροή LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Ροές ήχου σε κοντινή απόσταση"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Ροές ήχου"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Συνδεθείτε σε μια ροή ήχου χρησιμοποιώντας τον κωδικό QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Δεν βρέθηκαν ροές ήχου κοντά."</string>
<string name="date_and_time" msgid="1788358029823431692">"Ημερομηνία & ώρα"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Διακομιστής μεσολάβησης"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Διαγραφή"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Προφίλ εργασίας"</string>
<string name="private_space_title" msgid="7078627930195569767">"Ιδιωτικός χώρος"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Απόκρυψη εφαρμογών σε ιδιωτικό φάκελο"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Ξεκλείδωμα με χρήση κλειδώματος οθόνης"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Απόκρυψη εφαρμογών σε έναν ιδιωτικό φάκελο στον οποίο μόνο εσείς έχετε πρόσβαση"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Κλείδωμα Ιδιωτικού χώρου"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Μπορείτε να ξεκλειδώσετε τον Ιδιωτικό χώρο όπως ξεκλειδώνετε τη συσκευή σας ή να επιλέξετε διαφορετικό κλείδωμα"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Χρήση κλειδώματος οθόνης συσκευής"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Ξεκλείδωμα με το πρόσωπο και με δακτυλικό αποτύπωμα"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Πατήστε για ρύθμιση"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Ίδιο με το κλείδωμα οθόνης της συσκευής"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Επιλογή νέου κλειδώματος για τον Ιδιωτικό χώρο;"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Απόκρυψη κατά το κλείδωμα"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Απόκρυψη Ιδιωτικού χώρου κατά το κλείδωμα"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Για να μην γνωρίζουν άλλοι τον Ιδιωτικό χώρο στη συσκευή σας, μπορείτε να τον κρύψετε από τη λίστα εφαρμογών"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Πρόσβαση στον Ιδιωτικό χώρο κατά την απόκρυψη"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Αναζητήστε τον Ιδιωτικό χώρο στη γραμμή αναζήτησης"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Πατήστε το πλακάκι Ιδιωτικός χώρος"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Ξεκλείδωμα του Ιδιωτικού χώρου"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Ανενεργός"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Ενεργός"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Σύστημα"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Δημιουργία Ιδιωτικού χώρου"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Διαγραφή Ιδιωτικού χώρου"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Ο Ιδιωτικός χώρος δημιουργήθηκε με επιτυχία"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Ο Ιδιωτικός χώρος υπάρχει ήδη"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Δεν ήταν δυνατή η δημιουργία του Ιδιωτικού χώρου"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Ο Ιδιωτικός χώρος διαγράφηκε με επιτυχία"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Δεν ήταν δυνατή η διαγραφή του Ιδιωτικού χώρου"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Ορισμός κλειδώματος οθόνης"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Για χρήση ιδιωτικού χώρου, ορίστε κλείδ. οθόνης στη συσκευή."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Ρύθμιση κλειδώματος οθόνης"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Ακύρωση"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Ακύρωση"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Ρύθμιση"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Ρύθμιση Ιδιωτικού χώρου"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Κρύψτε τις ιδιωτικές εφαρμογές σε έναν ασφαλή χώρο στον οποίο μόνο εσείς έχετε πρόσβαση"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Πώς λειτουργεί"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Μπορείτε να αποκτήσετε πρόσβαση στον Ιδιωτικό χώρο από το κάτω μέρος της λίστας εφαρμογών"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Οι εφαρμογές στον Ιδιωτικό χώρο προστατεύονται με κλείδωμα"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Οι ειδοποιήσεις από εφαρμογές στον Ιδιωτικό χώρο είναι κρυφές όταν είναι κλειδωμένος"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Οι εφαρμογές στον Ιδιωτικό χώρο δεν θα εμφανίζονται στη Διαχείριση αδειών, στον πίνακα ελέγχου απορρήτου και σε άλλες ρυθμίσεις όταν ο Ιδιωτικός χώρος είναι κλειδωμένος"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Ρύθμιση Ιδιωτικού χώρου…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Οι πληροφορίες χρήσης για τις εφαρμογές στον Ιδιωτικό χώρο είναι κρυφές όταν είναι κλειδωμένος"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Πρόσβαση στον Ιδιωτικό χώρο από τη λίστα εφαρμογών σας"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Ορισμένες εφαρμογές συστήματος είναι ήδη εγκατεστημένες στον Ιδιωτικό χώρο"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Δεν είναι δυνατή η ρύθμιση του Ιδιωτικού χώρου"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Δοκιμάστε ξανά τώρα ή επιστρέψτε αργότερα"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Επανάληψη"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Χρήση κλειδώματος οθόνης για ξεκλείδωμα;"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Μπορείτε να ξεκλειδώσετε τον Ιδιωτικό χώρο όπως ξεκλειδώνετε τη συσκευή σας ή να επιλέξετε διαφορετικό κλείδωμα"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Χρήση κλειδώματος οθόνης"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Επιλογή νέου κλειδώματος"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Όλα έτοιμα!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"Μπορείτε να αποκτήσετε πρόσβαση στον Ιδιωτικό χώρο από τη λίστα εφαρμογών σας"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Τέλος"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Κάντε κύλιση προς τα κάτω για πρόσβαση στον Ιδιωτικό χώρο"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Συνδεθείτε για τη διαμόρφωση του Ιδιωτικού χώρου"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Πρέπει να συνδεθείτε σε έναν λογαριασμό για να ρυθμίσετε τον Ιδιωτικό χώρο"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Για εμφάνιση του Ιδιωτικού χώρου (μη τελική εμπειρία χρήστη)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Άνοιγμα εφαρμογής Ρυθμίσεις"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Πατήστε την επιλογή Ασφάλεια και απόρρητο > Ιδιωτικός χώρος > Απόκρυψη Ιδιωτικού χώρου κατά το κλείδωμα"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Διακόπτης απενεργοποίησης Ιδιωτικού χώρου κατά το κλείδωμα"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Σημείωση για τους υπαλλήλους της Google: Η ανάπτυξη αυτής της λειτουργίας βρίσκεται ακόμα σε εξέλιξη"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Μπορείτε να προσθέσετε έως <xliff:g id="COUNT">%d</xliff:g> δακτυλικά αποτυπώματα"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Έχετε προσθέσει τον μέγιστο αριθμό δακτυλικών αποτυπωμάτων"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Δεν είναι δυνατή η προσθήκη περισσότερων δακτυλικών αποτυπωμάτων"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Σύνδεση"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Αποσύνδεση"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Σύζευξη και σύνδεση"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Όταν είναι ενεργοποιημένο το Bluetooth, η συσκευή σας μπορεί να επικοινωνεί με άλλες συσκευές Bluetooth που βρίσκονται κοντά."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Με ενεργό το Bluetooth, η συσκευή μπορεί να επικοινωνεί με άλλες κοντινές συσκευές Bluetooth"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Όταν είναι ενεργό το Bluetooth, η συσκευή σας μπορεί να επικοινωνεί με άλλες κοντινές συσκευές Bluetooth.\n\nΓια τη βελτίωση της εμπειρίας χρήσης της συσκευής, οι εφαρμογές και οι υπηρεσίες μπορούν ακόμα να πραγματοποιούν σάρωση για συσκευές σε κοντινή απόσταση ανά πάσα στιγμή, ακόμα και όταν το Bluetooth είναι απενεργοποιημένο. Αυτή η λειτουργία μπορεί να χρησιμοποιηθεί, για παράδειγμα, για τη βελτίωση λειτουργιών και υπηρεσιών που εκτελούνται βάσει τοποθεσίας. Μπορείτε να αλλάξετε αυτή την επιλογή στις ρυθμίσεις σάρωσης Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Αλλαγή"</string>
<string name="device_details_title" msgid="1155622417516195481">"Λεπτομέρειες συσκευής"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Επιτρέψτε στο ART να επαληθεύσει τον κώδικα byte για εφαρμογές με δυνατότητα εντοπισμού σφαλμάτων"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Εμφάνιση ρυθμού ανανέωσης"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Εμφάνιση του τρέχοντα ρυθμού ανανέωσης"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Εμφάνιση αναλογίας HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Εμφάνιση της τρέχουσας αναλογίας HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Να απαιτείται ξεκλείδωμα της συσκευής για το NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Συνέχιση χρήσης εφαρμογών κατά την αναδίπλωση"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Αυξάνει αυτόματα τον ρυθμό ανανέωσης έως και <xliff:g id="ID_1">%1$d</xliff:g> Hz για ορισμένο περιεχόμενο. Αυξάνει τη χρήση μπαταρίας."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Επιβολή μέγιστου ρυθμού ανανέωσης"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Ο υψηλότερος δυνατός ρυθμός ανανέωσης για βελτιωμένη απόκριση αφής και ποιότητα κινούμενων εικόνων. Αυξάνει τη χρήση της μπαταρίας."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Παρακολούθηση οθόνης"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Κοινόχρηστες ρυθμίσεις"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Επεξ/σία σημ. πρόσβ."</string>
+ <string name="apn_add" msgid="9069613192201630934">"Προσθήκη σημείου πρόσβασης"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Δεν έχει ρυθμιστεί"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Δεν ορίστηκε"</string>
<string name="apn_name" msgid="6677695784108157953">"Όνομα"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Χρήση κουμπιού προσβασιμότητας για άνοιγμα"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Παρατεταμένο πάτημα πλήκτρων έντασης για άνοιγμα"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Πατήστε τρεις φορές για να ανοίξει η οθόνη"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Τριπλό πάτημα οθόνης με δύο δάχτυλα για άνοιγμα"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Χρήση κίνησης για άνοιγμα"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Χρήση κίνησης προσβασιμότητας"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Για να χρησιμοποιήσετε αυτήν τη λειτουργία, πατήστε το κουμπί προσβασιμότητας <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> στο κάτω μέρος της οθόνης.\n\nΓια εναλλαγή μεταξύ λειτουργιών, αγγίξτε παρατεταμένα το κουμπί προσβασιμότητας."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Για να χρησιμοποιήσετε αυτήν τη λειτουργία, πατήστε το κουμπί προσβασιμότητας στην οθόνη σας."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Για να χρησιμοποιήσετε αυτήν τη λειτουργία, πιέστε παρατεταμένα και τα δύο πλήκτρα έντασης ήχου."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Για έναρξη και διακοπή της μεγιστοποίησης, πατήστε τρεις φορές οπουδήποτε στην οθόνη σας."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Για έναρξη και διακοπή της μεγιστοποίησης, πατήστε τρεις φορές οπουδήποτε στην οθόνη με δύο δάχτυλα."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Για να χρησιμοποιήσετε αυτήν τη λειτουργία, σύρετε προς τα επάνω από το κάτω μέρος της οθόνης χρησιμοποιώντας 2 δάχτυλα.\n\nΓια εναλλαγή μεταξύ λειτουργιών, σύρετε προς τα επάνω με 2 και κρατήστε τα δάχτυλά σας στην οθόνη."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Για να χρησιμοποιήσετε αυτήν τη λειτουργία, σύρετε προς τα επάνω από το κάτω μέρος της οθόνης χρησιμοποιώντας 3 δάχτυλα.\n\nΓια εναλλαγή μεταξύ λειτουργιών, σύρετε προς τα επάνω με 3 και κρατήστε τα δάχτυλά σας στην οθόνη."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Για να χρησιμοποιήσετε μια λειτουργία προσβασιμότητας, σύρετε προς τα επάνω από το κάτω μέρος της οθόνης χρησιμοποιώντας 2 δάχτυλα.\n\nΓια εναλλαγή μεταξύ λειτουργιών, σύρετε προς τα επάνω με 2 δάχτυλα και κρατήστε τα δάχτυλά σας στην οθόνη."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Πατήστε παρατεταμένα τα πλήκτρα έντασης"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"παρατεταμένο πάτημα πλήκτρων έντασης"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Πατήστε παρατεταμένα και τα δύο πλήκτρα έντασης ήχου."</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Τριπλό πάτημα οθόνης με δύο δάχτυλα"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"τριπλό πάτημα οθόνης με δύο δάχτυλα"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Πατήστε γρήγορα την οθόνη {0,number,integer} φορές με δύο δάχτυλα"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Τριπλό πάτημα οθόνης"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"τριπλό πάτημα οθόνης"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Πατήστε γρήγορα στην οθόνη {0,number,integer} φορές. Αυτή η συντόμευση μπορεί να μειώσει την ταχύτητα της συσκευής σας."</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Μπορεί να παρακολουθήσει τις αλληλεπιδράσεις σας με μια εφαρμογή ή έναν αισθητήρα εξοπλισμού και να αλληλεπιδράσει με εφαρμογές εκ μέρους σας."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Ναι"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Όχι"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Διακοπή"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Ακύρωση"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Διακοπή <xliff:g id="SERVICE">%1$s</xliff:g>;"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Εάν πατήσετε το στοιχείο <xliff:g id="STOP">%1$s</xliff:g> θα διακοπεί η υπηρεσία <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Δεν έχουν εγκατασταθεί υπηρεσίες"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Δεν έχει επιλεγεί κάποια υπηρεσία"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Δεν υπάρχει περιγραφή."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Εάν περιορίσετε τη δραστηριότητα στο παρασκήνιο για μια εφαρμογή, μπορεί να μην λειτουργήσει σωστά"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Εφόσον δεν έχει οριστεί βελτιστοποίηση μπαταρίας, δεν είναι δυνατός ο περιορισμός της εφαρμογής.\n\nΓια περιορισμό, ενεργοποιήστε τη βελτιστοποίηση."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Διαχείριση χρήσης μπαταρίας"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Επιτρέψτε τη χρήση στο παρασκήνιο"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Ενεργοποιήστε για ενημερώσεις σε πραγματικό χρόνο, απενεργοποιήστε για εξοικονόμηση μπαταρίας"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Απεριόριστη"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Βελτιστοποιημένη"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Περιορισμένη"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Όνομα"</string>
<string name="vpn_type" msgid="5533202873260826663">"Τύπος"</string>
<string name="vpn_server" msgid="2908816134941973935">"Διεύθυνση διακομιστή"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Κρυπτογράφηση PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Μυστικό L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Αναγνωριστικό IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Ήδη κοινόχρηστο κλειδί IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Πιστοποιητικό χρήστη IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Πιστοποιητικό CA IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Πιστοποιητικό διακομιστή IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Εμφάνιση σύνθετων επιλογών"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Τομείς αναζήτησης DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Διακομιστής DNS (π.χ. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Διαδρομές προώθησης (π.χ. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Όνομα χρήστη"</string>
<string name="vpn_password" msgid="1183746907642628127">"Κωδικός πρόσβασης"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Αποθήκευση πληροφοριών λογαριασμού"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(δεν χρησιμοποιείται)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(να μην γίνεται επαλήθευση διακομιστή)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(Λήφθηκε από το διακομιστή)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Αυτός ο τύπος VPN δεν μπορεί να παραμένει πάντα συνδεδεμένος"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Το μονίμως ενεργό VPN υποστηρίζει μόνο αριθμητικές διευθύνσεις διακομιστή"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Θα πρέπει να καθοριστεί ένας διακομιστής DNS για το μονίμως ενεργό VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Οι διευθύνσεις διακομιστή DNS πρέπει να είναι αριθμητικές για το μονίμως ενεργό VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Οι πληροφορίες που έχουν εισαχθεί δεν υποστηρίζουν το μονίμως ενεργό VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Ακύρωση"</string>
<string name="vpn_done" msgid="5137858784289564985">"Παράβλεψη"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Αποκλεισμός συνδέσεων χωρίς VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Να απαιτείται σύνδεση VPN;"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Μη ασφαλές. Ενημέρωση σε VPN IKEv2."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Επιλέξτε ένα προφίλ VPN στο οποίο θα παραμένετε πάντα συνδεδεμένοι. Η κίνηση δικτύου θα επιτρέπεται μόνο κατά τη σύνδεση σε αυτό το VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Κανένα"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Το VPN που έχει ρυθμιστεί να είναι ενεργοποιημένο πάντα απαιτεί μια διεύθυνση IP τόσο για τον διακομιστή όσο και για το DNS."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Εμφάνιση όλου του περιεχομένου ειδοποιήσεων"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Εμφάνιση ευαίσθητου περιεχ. μόνο με ξεκλείδωμα"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Να μην εμφανίζονται ειδοποιήσεις"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Πώς θέλετε να εμφανίζεται η οθόνη κλειδώματος;"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Τι θέλετε να δείχνει η οθόνη κλειδώματος;"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Οθόνη κλειδώματος"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Εμφάνιση όλου του περιεχομ. ειδοποιήσεων εργασίας"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Απόκρυψη ευαίσθητου περιεχομένου εργασίας"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Να επιτρέπεται η πρόσβαση για τη διαχείριση όλων των αρχείων"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Να επιτρέπεται σε αυτή την εφαρμογή η ανάγνωση, η τροποποίηση και η διαγραφή όλων των αρχείων σε αυτήν τη συσκευή και σε κάθε συνδεδεμένη μονάδα αποθήκευσης. Εάν εκχωρηθούν σχετικά δικαιώματα, η εφαρμογή μπορεί να έχει πρόσβαση σε αρχεία χωρίς να έχετε ενημερωθεί ρητά."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Με πρόσβαση σε όλα τα αρχεία"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Εφαρμογές που ενεργοποιούνται μέσω φωνής"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Επιτρέπεται η φωνητική ενεργοποίηση"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Η φωνητική ενεργοποίηση ενεργοποιεί handsfree τις εγκεκριμένες εφαρμογές, με χρήση φωνητικών εντολών. Η ενσωματωμένη προσαρμοστική ανίχνευση διασφαλίζει την ιδιωτικότητα των δεδομένων σας.\n\n"<a href="">"Περισσότερες πληροφορίες για την προσαρμοστική ανίχνευση"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Ειδοποιήσεις σε πλήρη οθόνη"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Να επιτρέπονται οι ειδοποιήσεις σε πλήρη οθόνη από αυτή την εφαρμογή"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Να επιτρέπεται στην εφαρμογή η εμφάνιση ειδοποιήσεων σε πλήρη οθόνη όταν η συσκευή είναι κλειδωμένη. Οι εφαρμογές ενδέχεται να χρησιμοποιούν αυτήν τη λειτουργία για επισήμανση ξυπνητηριών, εισερχόμενων κλήσεων ή άλλων επειγουσών ειδοποιήσεων."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Η εφαρμογή <xliff:g id="APP_LABEL">%1$s</xliff:g> χρησιμοποίησε περισσότερη μπαταρία στο παρασκήνιο από ό,τι συνήθως"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Η εφαρμογή <xliff:g id="APP_LABEL">%1$s</xliff:g> χρησιμοποίησε περισσότερη μπαταρία στο προσκήνιο"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Η εφαρμογή <xliff:g id="APP_LABEL">%1$s</xliff:g> χρησιμοποίησε περισσότερη μπαταρία στο προσκήνιο από ό,τι συνήθως"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Ανωμαλία στη χρήση της μπαταρίας"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Υψηλή χρήση μπαταρίας"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Υψηλή χρήση μπαταρίας στο παρασκήνιο"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Υψηλή χρήση μπαταρίας στο προσκήνιο"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"πλοήγηση συστήματος, πλοήγηση με δύο κουμπιά, πλοήγηση με τρία κουμπιά, πλοήγηση με κινήσεις, ολίσθηση"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Ψηφιακός βοηθός"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Σύρετε για άνοιγμα του βοηθού"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Σύρετε προς τα επάνω από μια από τις κάτω γωνίες για άνοιγμα της εφαρμογής ψηφιακού βοηθού."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Σύρετε προς τα επάνω από μια από τις κάτω γωνίες για να ανοίξετε την εφαρμογή ψηφιακού βοηθού"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Πατήστε παρατεταμένα το κουμπί αρχικής σελίδας για τον Βοηθό"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Πατήστε παρατεταμένα το κουμπί αρχικής οθόνης για ενεργοποίηση της εφαρμογής ψηφιακού βοηθού."</string>
<string name="low_label" msgid="6525629096999711220">"Χαμηλή"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Επιλογή γραμματικού γένους"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Σάρωση για παραπλανητικές εφαρμογές"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Έλεγχος δραστηριότητας σε εφαρμογές για ηλεκτρονικό ψάρεμα (phishing)"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Χρήση σάρωσης"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Χρήση σάρωσης για εφαρμογές εργασιών"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Χρήση σάρωσης για παραπλανητικές εφαρμογές"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Χρήση σάρωσης για παραπλανητικές εφαρμογές για την εργασία"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 46068c4..299c5c9 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Audio sharing"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Share audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Calls and alarms"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Connect to an LE audio stream"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Nearby audio streams"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audio streams"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connect to an audio stream using QR code"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"No nearby audio streams were found."</string>
<string name="date_and_time" msgid="1788358029823431692">"Date and time"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Clear"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Work profile"</string>
<string name="private_space_title" msgid="7078627930195569767">"Private Space"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Hide apps in a private folder"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Unlock using screen lock"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Hide apps in a private folder that only you can access"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Private Space lock"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"You can unlock Private Space the same way that you unlock your device, or choose a different lock"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Use device screen lock"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Face and Fingerprint Unlock"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tap to set up"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Same as device screen lock"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Choose a new lock for Private Space?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Hide when locked"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Hide Private Space when locked"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"To stop other people knowing Private Space is on your device, you can hide it from your apps list"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Access Private Space when hidden"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Search for \'Private Space\' in the search bar"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tap the Private Space tile"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Unlock your Private Space"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Off"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"On"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Create Private Space"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Delete Private Space"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Private Space successfully created"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Private Space already exists"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Private Space could not be created"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Private Space successfully deleted"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Private Space could not be deleted"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Set a screen lock"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"To use Private Space, set a screen lock on this device."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Set screen lock"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancel"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Cancel"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Set up"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Set up Private Space"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Hide private apps in a secure space that only you can access"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"How it works"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"You can access Private Space from the bottom of your apps list"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Apps in Private Space are protected by a lock"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Notifications from apps in Private Space are hidden when it’s locked"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Private Space apps won’t appear in permission manager, privacy dashboard and other settings when Private Space is locked"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Setting up Private Space…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Usage info for Private Space apps is hidden when it’s locked"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Access Private Space from your apps list"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Some system apps are already installed in Private Space"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Couldn’t set up Private Space"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Try again now, or come back later"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Try again"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Use screen lock to unlock?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"You can unlock Private Space the same way you unlock your device, or choose a different lock"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Use screen lock"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Choose new lock"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"All set!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"You can access Private Space from your apps list"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Done"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Scroll down to access Private Space"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Sign in to set up Private Space"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"You need to sign in to an account to set up Private Space"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"To show Private Space (not final UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Open the Settings app"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Tap on Security & privacy > Private Space > Hide Private Space when locked"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Turn off \'Hide Private Space when locked\' toggle"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Note to Googlers: The development of this feature is still in progress"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"You can add up to <xliff:g id="COUNT">%d</xliff:g> fingerprints"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"You’ve added the maximum number of fingerprints"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Can’t add more fingerprints"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connect"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Disconnect"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Pair & connect"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.\n\nTo improve device experience, apps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Change"</string>
<string name="device_details_title" msgid="1155622417516195481">"Device details"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Allow ART to verify bytecode for debuggable apps"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Show refresh rate"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Show the current display refresh rate"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Show HDR/SDR ratio"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Show the current HDR/SDR ratio"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Require device unlock for NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Continue using apps on fold"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatically raises the refresh rate up to <xliff:g id="ID_1">%1$d</xliff:g> Hz for some content. Increases battery usage."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Force peak refresh rate"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Highest refresh rate for improved touch responsiveness and animation quality. Increases battery usage."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Screen attention"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Communal settings"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"Edit access point"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Add access point"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Not set"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Not set"</string>
<string name="apn_name" msgid="6677695784108157953">"Name"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use Accessibility button to open"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hold volume keys to open"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triple-tap screen to open"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Two-finger triple tap screen to open"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Use gesture to open"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Use accessibility gesture"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"To use this feature, tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> on the bottom of your screen.\n\nTo switch between features, touch and hold the accessibility button."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"To use this feature, tap the Accessibility button on your screen."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"To use this feature, press and hold both volume keys."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"To start and stop magnification, triple-tap anywhere on your screen."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"To start and stop magnification, triple tap anywhere on your screen with two fingers."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"To use this feature, swipe up from the bottom of the screen with two fingers.\n\nTo switch between features, swipe up with two fingers and hold."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"To use this feature, swipe up from the bottom of the screen with three fingers.\n\nTo switch between features, swipe up with three fingers and hold."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"To use an accessibility feature, swipe up from the bottom of the screen with two fingers.\n\nTo switch between features, swipe up with two fingers and hold."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold volume keys"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Press and hold both volume keys"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Two-finger triple tap screen"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"two-finger triple tap screen"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Quickly tap screen {0,number,integer} times with two fingers"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple-tap screen"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"triple-tap screen"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Quickly tap screen {0,number,integer} times. This shortcut may slow down your device"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"It can track your interactions with an app or a hardware sensor, and interact with apps on your behalf."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Allow"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Deny"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Stop"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancel"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Stop <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Tapping <xliff:g id="STOP">%1$s</xliff:g> will stop <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"No services installed"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"No service selected"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"No description provided."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"If you limit background activity for an app, it may misbehave"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Since this app is not set to optimise battery, you can’t restrict it.\n\nTo restrict the app, first turn on battery optimisation."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Manage battery usage"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Allow background usage"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Enable for real-time updates, disable to save battery"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Unrestricted"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimised"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restricted"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Name"</string>
<string name="vpn_type" msgid="5533202873260826663">"Type"</string>
<string name="vpn_server" msgid="2908816134941973935">"Server address"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP encryption (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secret"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifier"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec preshared key"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec user certificate"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA certificate"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec server certificate"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Show advanced options"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS search domains"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS servers (e.g. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Forwarding routes (e.g. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Username"</string>
<string name="vpn_password" msgid="1183746907642628127">"Password"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Save account information"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(not used)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(don\'t verify server)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(received from server)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"This VPN type can\'t stay connected at all times"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Always-on VPN only supports numeric server addresses"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"A DNS server must be specified for always-on VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS server addresses must be numeric for always-on VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"The information entered doesn\'t support always-on VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Cancel"</string>
<string name="vpn_done" msgid="5137858784289564985">"Dismiss"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Block connections without VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Require VPN connection?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Not secure. Update to an IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"None"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Always-on VPN requires an IP address for both server and DNS."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Show all notification content"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Show sensitive content only when unlocked"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Don\'t show notifications at all"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"How do you want the lock screen to display?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"What do you want your lock screen to show?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lock screen"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Show all work notification content"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Hide sensitive work content"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Allow access to manage all files"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Can access all files"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Voice activation apps"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Allow voice activation"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Voice activation turns on approved apps, hands-free, using voice command. Built-in adaptive sensing ensures data stays private only to you.\n\n"<a href="">"More about protected adaptive sensing"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Full-screen notifications"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Allow full-screen notifications from this app"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Allow this app to show notifications that take up the full screen when the device is locked. Apps may use these to highlight alarms, incoming calls or other urgent notifications."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the background"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery while in the foreground"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the foreground"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Battery usage anomaly"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"High battery usage"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"High battery usage in the background"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"High battery usage in the foreground"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"system navigation, 2-button navigation, 3-button navigation, gesture navigation, swipe"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistant"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swipe to invoke the assistant"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swipe up from a bottom corner to invoke digital assistant app."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swipe up from the bottom corner to invoke digital assistant app."</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hold Home for Assistant"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Press and hold the Home button to invoke digital assistant app."</string>
<string name="low_label" msgid="6525629096999711220">"Low"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Select grammatical gender"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Scanning for deceptive apps"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Check app activity for phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Use scanning"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Use scanning for work apps"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Use scanning for deceptive apps"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Use scanning for deceptive apps for work"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 1ac9204..1a139a4 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Audio sharing"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Share audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Calls and alarms"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Connect to a LE audio stream"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Nearby audio streams"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audio streams"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connect to an audio stream using QR code"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"No nearby audio streams were found."</string>
<string name="date_and_time" msgid="1788358029823431692">"Date and time"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Clear"</string>
@@ -539,7 +543,14 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Work profile"</string>
<string name="private_space_title" msgid="7078627930195569767">"Private Space"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Hide apps in a private folder"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Unlock using screen lock"</string>
+ <string name="private_space_description" msgid="5494963647270826210">"Hide apps in a private folder that only you can access"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Private Space lock"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"You can unlock Private Space the same way you unlock your device, or choose a different lock"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Use device screen lock"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Face & Fingerprint Unlock"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tap to set up"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Same as device screen lock"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Choose a new lock for Private Space?"</string>
<string name="private_space_hide_title" msgid="8687034008994037610">"Hide when locked"</string>
<string name="privatespace_hide_page_title" msgid="972581369094289386">"Hide Private Space when locked"</string>
<string name="privatespace_hide_page_summary" msgid="1052569521186403642">"To stop other people knowing Private Space is on your device, you can hide it from your apps list"</string>
@@ -550,11 +561,7 @@
<string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Off"</string>
<string name="privatespace_hide_on_summary" msgid="6136704537527640183">"On"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Create Private Space"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Delete Private Space"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Private Space successfully created"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Private Space already exists"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Private Space could not be created"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Private Space successfully deleted"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Private Space could not be deleted"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Set a screen lock"</string>
@@ -568,40 +575,30 @@
<string name="privatespace_how_title" msgid="8794102046435526065">"How it works"</string>
<string name="privatespace_access_bottom_text" msgid="1075244097441349030">"You can access Private Space from the bottom of your apps list"</string>
<string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Apps in Private Space are protected by a lock"</string>
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Notifications from apps in Private Space are hidden when it’s locked"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Private Space apps won’t appear in permission manager, privacy dashboard, and other settings when Private Space is locked"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Setting up Private Space…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Usage info for Private Space apps is hidden when it’s locked"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Access Private Space from your apps list"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Some system apps are already installed in Private Space"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Couldn’t set up Private Space"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Try again now, or come back later"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Try Again"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Use screen lock to unlock?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"You can unlock Private Space the same way you unlock your device, or choose a different lock"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Use screen lock"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Choose new lock"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"All set!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"You can access Private Space from your apps list"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Done"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Scroll down to access Private Space"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Sign in to set up Private Space"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"You need to sign in to an account to set up Private Space"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"To show Private Space (Not final UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Open the Settings App"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Tap on Security & privacy > Private Space > Hide Private Space when locked"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Turn off Hide Private Space when locked toggle"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Note to Googlers: The development of this feature is still in progress"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"You can add up to <xliff:g id="COUNT">%d</xliff:g> fingerprints"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"You’ve added the maximum number of fingerprints"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Can’t add more fingerprints"</string>
@@ -765,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connect"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Disconnect"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Pair & connect"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.\n\nTo improve device experience, apps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Change"</string>
<string name="device_details_title" msgid="1155622417516195481">"Device details"</string>
@@ -818,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Allow ART to verify bytecode for debuggable apps"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Show refresh rate"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Show the current display refresh rate"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Show HDR/SDR ratio"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Show the current HDR/SDR ratio"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Require device unlock for NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1119,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Continue using apps on fold"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatically raises the refresh rate up to <xliff:g id="ID_1">%1$d</xliff:g> Hz for some content. Increases battery usage."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Force peak refresh rate"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Highest refresh rate for improved touch responsiveness & animation quality. Increases battery usage."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Screen attention"</string>
@@ -1356,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Communal settings"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"Edit access point"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Add access point"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Not set"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Not set"</string>
<string name="apn_name" msgid="6677695784108157953">"Name"</string>
@@ -1990,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use accessibility button to open"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hold volume keys to open"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triple-tap screen to open"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Two finger triple tap screen to open"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Use gesture to open"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Use accessibility gesture"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"To use this feature, tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> on the bottom of your screen.\n\nTo switch between features, touch and hold the accessibility button."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"To use this feature, tap the accessibility button on your screen."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"To use this feature, press and hold both volume keys."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"To start and stop magnification, triple-tap anywhere on your screen."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"To start and stop magnification, triple-tap anywhere on your screen with two fingers."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"To use this feature, swipe up from the bottom of the screen with 2 fingers.\n\nTo switch between features, swipe up with 2 fingers and hold."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"To use this feature, swipe up from the bottom of the screen with 3 fingers.\n\nTo switch between features, swipe up with 3 fingers and hold."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"To use an accessibility feature, swipe up from the bottom of the screen with 2 fingers.\n\nTo switch between features, swipe up with 2 fingers and hold."</string>
@@ -2017,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold volume keys"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Press and hold both volume keys"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Two-finger triple-tap screen"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"two-finger triple-tap screen"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Quickly tap screen {0,number,integer} times with two fingers"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple-tap screen"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"triple-tap screen"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Quickly tap screen {0,number,integer} times. This shortcut may slow down your device"</string>
@@ -2247,10 +2245,9 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"It can track your interactions with an app or a hardware sensor and interact with apps on your behalf."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Allow"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Deny"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Stop"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancel"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Stop <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Tapping <xliff:g id="STOP">%1$s</xliff:g> will stop <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Turn off"</string>
+ <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Keep on"</string>
+ <string name="disable_service_title" msgid="8178020230162342801">"Turn off <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"No services installed"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"No service selected"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"No description provided."</string>
@@ -2320,6 +2317,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"If you limit background activity for an app, it may misbehave"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Since this app is not set to optimize battery, you can\'t restrict it.\n\nTo restrict the app, first turn on battery optimization."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Manage battery usage"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Allow background usage"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Enable for real-time updates, disable to save battery"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Unrestricted"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimized"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restricted"</string>
@@ -2728,27 +2727,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Name"</string>
<string name="vpn_type" msgid="5533202873260826663">"Type"</string>
<string name="vpn_server" msgid="2908816134941973935">"Server address"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP encryption (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secret"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifier"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec pre-shared key"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec user certificate"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA certificate"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec server certificate"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Show advanced options"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS search domains"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS servers (e.g. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Forwarding routes (e.g. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Username"</string>
<string name="vpn_password" msgid="1183746907642628127">"Password"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Save account information"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(not used)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(don’t verify server)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(received from server)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"This VPN type can\'t stay connected at all times"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Always-on VPN only supports numeric server addresses"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"A DNS server must be specified for always-on VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS server addresses must be numeric for always-on VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"The information entered doesn\'t support always-on VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Cancel"</string>
<string name="vpn_done" msgid="5137858784289564985">"Dismiss"</string>
@@ -2784,6 +2774,7 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Block connections without VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Require VPN connection?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Not secure. Update to an IKEv2 VPN"</string>
+ <string name="vpn_start_unsupported" msgid="7139925503292269904">"Failed to start unsupported VPN."</string>
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"None"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Always-on VPN requires an IP address for both server and DNS."</string>
@@ -3341,7 +3332,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Show all notification content"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Show sensitive content only when unlocked"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Don\'t show notifications at all"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"How do you want the lock screen to display?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"What do you want your lock screen to show?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lock screen"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Show all work notification content"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Hide sensitive work content"</string>
@@ -3830,6 +3821,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Allow access to manage all files"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Can access all files"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Voice activation apps"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Allow voice activation"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Voice activation turns-on approved apps, hands-free, using voice command. Built-in adaptive sensing ensures data stays private only to you.\n\n"<a href="">"More about protected adaptive sensing"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Full screen notifications"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Allow full screen notifications from this app"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Allow this app to show notifications that take up the full screen when the device is locked. Apps may use these to highlight alarms, incoming calls, or other urgent notifications."</string>
@@ -3993,6 +3987,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the background"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery while in the foreground"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the foreground"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Battery usage anomaly"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"High battery usage"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"High battery usage in the background"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"High battery usage in the foreground"</string>
@@ -4090,7 +4085,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"system navigation, two-button navigation, three-button navigation, gesture navigation, swipe"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistant"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swipe to invoke assistant"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swipe up from a bottom corner to invoke digital assistant app."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swipe up from a bottom corner to invoke digital assistant app"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hold Home for Assistant"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Press and hold the Home button to invoke digital assistant app."</string>
<string name="low_label" msgid="6525629096999711220">"Low"</string>
@@ -4943,8 +4938,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Select Grammatical gender"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Scanning for deceptive apps"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Check app activity for phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Use scanning"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Use scanning for work apps"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Use scanning for deceptive apps"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Use scanning for deceptive apps for work"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index a79cdb3..9b7bf7d 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Audio sharing"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Share audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Calls and alarms"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Connect to an LE audio stream"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Nearby audio streams"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audio streams"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connect to an audio stream using QR code"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"No nearby audio streams were found."</string>
<string name="date_and_time" msgid="1788358029823431692">"Date and time"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Clear"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Work profile"</string>
<string name="private_space_title" msgid="7078627930195569767">"Private Space"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Hide apps in a private folder"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Unlock using screen lock"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Hide apps in a private folder that only you can access"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Private Space lock"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"You can unlock Private Space the same way that you unlock your device, or choose a different lock"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Use device screen lock"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Face and Fingerprint Unlock"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tap to set up"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Same as device screen lock"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Choose a new lock for Private Space?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Hide when locked"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Hide Private Space when locked"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"To stop other people knowing Private Space is on your device, you can hide it from your apps list"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Access Private Space when hidden"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Search for \'Private Space\' in the search bar"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tap the Private Space tile"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Unlock your Private Space"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Off"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"On"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Create Private Space"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Delete Private Space"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Private Space successfully created"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Private Space already exists"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Private Space could not be created"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Private Space successfully deleted"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Private Space could not be deleted"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Set a screen lock"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"To use Private Space, set a screen lock on this device."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Set screen lock"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancel"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Cancel"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Set up"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Set up Private Space"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Hide private apps in a secure space that only you can access"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"How it works"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"You can access Private Space from the bottom of your apps list"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Apps in Private Space are protected by a lock"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Notifications from apps in Private Space are hidden when it’s locked"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Private Space apps won’t appear in permission manager, privacy dashboard and other settings when Private Space is locked"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Setting up Private Space…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Usage info for Private Space apps is hidden when it’s locked"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Access Private Space from your apps list"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Some system apps are already installed in Private Space"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Couldn’t set up Private Space"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Try again now, or come back later"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Try again"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Use screen lock to unlock?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"You can unlock Private Space the same way you unlock your device, or choose a different lock"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Use screen lock"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Choose new lock"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"All set!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"You can access Private Space from your apps list"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Done"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Scroll down to access Private Space"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Sign in to set up Private Space"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"You need to sign in to an account to set up Private Space"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"To show Private Space (not final UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Open the Settings app"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Tap on Security & privacy > Private Space > Hide Private Space when locked"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Turn off \'Hide Private Space when locked\' toggle"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Note to Googlers: The development of this feature is still in progress"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"You can add up to <xliff:g id="COUNT">%d</xliff:g> fingerprints"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"You’ve added the maximum number of fingerprints"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Can’t add more fingerprints"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connect"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Disconnect"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Pair & connect"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.\n\nTo improve device experience, apps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Change"</string>
<string name="device_details_title" msgid="1155622417516195481">"Device details"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Allow ART to verify bytecode for debuggable apps"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Show refresh rate"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Show the current display refresh rate"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Show HDR/SDR ratio"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Show the current HDR/SDR ratio"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Require device unlock for NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Continue using apps on fold"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatically raises the refresh rate up to <xliff:g id="ID_1">%1$d</xliff:g> Hz for some content. Increases battery usage."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Force peak refresh rate"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Highest refresh rate for improved touch responsiveness and animation quality. Increases battery usage."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Screen attention"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Communal settings"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"Edit access point"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Add access point"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Not set"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Not set"</string>
<string name="apn_name" msgid="6677695784108157953">"Name"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use Accessibility button to open"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hold volume keys to open"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triple-tap screen to open"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Two-finger triple tap screen to open"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Use gesture to open"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Use accessibility gesture"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"To use this feature, tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> on the bottom of your screen.\n\nTo switch between features, touch and hold the accessibility button."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"To use this feature, tap the Accessibility button on your screen."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"To use this feature, press and hold both volume keys."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"To start and stop magnification, triple-tap anywhere on your screen."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"To start and stop magnification, triple tap anywhere on your screen with two fingers."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"To use this feature, swipe up from the bottom of the screen with two fingers.\n\nTo switch between features, swipe up with two fingers and hold."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"To use this feature, swipe up from the bottom of the screen with three fingers.\n\nTo switch between features, swipe up with three fingers and hold."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"To use an accessibility feature, swipe up from the bottom of the screen with two fingers.\n\nTo switch between features, swipe up with two fingers and hold."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold volume keys"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Press and hold both volume keys"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Two-finger triple tap screen"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"two-finger triple tap screen"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Quickly tap screen {0,number,integer} times with two fingers"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple-tap screen"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"triple-tap screen"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Quickly tap screen {0,number,integer} times. This shortcut may slow down your device"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"It can track your interactions with an app or a hardware sensor, and interact with apps on your behalf."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Allow"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Deny"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Stop"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancel"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Stop <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Tapping <xliff:g id="STOP">%1$s</xliff:g> will stop <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"No services installed"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"No service selected"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"No description provided."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"If you limit background activity for an app, it may misbehave"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Since this app is not set to optimise battery, you can’t restrict it.\n\nTo restrict the app, first turn on battery optimisation."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Manage battery usage"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Allow background usage"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Enable for real-time updates, disable to save battery"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Unrestricted"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimised"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restricted"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Name"</string>
<string name="vpn_type" msgid="5533202873260826663">"Type"</string>
<string name="vpn_server" msgid="2908816134941973935">"Server address"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP encryption (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secret"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifier"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec preshared key"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec user certificate"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA certificate"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec server certificate"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Show advanced options"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS search domains"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS servers (e.g. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Forwarding routes (e.g. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Username"</string>
<string name="vpn_password" msgid="1183746907642628127">"Password"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Save account information"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(not used)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(don\'t verify server)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(received from server)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"This VPN type can\'t stay connected at all times"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Always-on VPN only supports numeric server addresses"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"A DNS server must be specified for always-on VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS server addresses must be numeric for always-on VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"The information entered doesn\'t support always-on VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Cancel"</string>
<string name="vpn_done" msgid="5137858784289564985">"Dismiss"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Block connections without VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Require VPN connection?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Not secure. Update to an IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"None"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Always-on VPN requires an IP address for both server and DNS."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Show all notification content"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Show sensitive content only when unlocked"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Don\'t show notifications at all"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"How do you want the lock screen to display?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"What do you want your lock screen to show?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lock screen"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Show all work notification content"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Hide sensitive work content"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Allow access to manage all files"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Can access all files"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Voice activation apps"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Allow voice activation"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Voice activation turns on approved apps, hands-free, using voice command. Built-in adaptive sensing ensures data stays private only to you.\n\n"<a href="">"More about protected adaptive sensing"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Full-screen notifications"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Allow full-screen notifications from this app"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Allow this app to show notifications that take up the full screen when the device is locked. Apps may use these to highlight alarms, incoming calls or other urgent notifications."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the background"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery while in the foreground"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the foreground"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Battery usage anomaly"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"High battery usage"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"High battery usage in the background"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"High battery usage in the foreground"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"system navigation, 2-button navigation, 3-button navigation, gesture navigation, swipe"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistant"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swipe to invoke the assistant"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swipe up from a bottom corner to invoke digital assistant app."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swipe up from the bottom corner to invoke digital assistant app."</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hold Home for Assistant"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Press and hold the Home button to invoke digital assistant app."</string>
<string name="low_label" msgid="6525629096999711220">"Low"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Select grammatical gender"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Scanning for deceptive apps"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Check app activity for phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Use scanning"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Use scanning for work apps"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Use scanning for deceptive apps"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Use scanning for deceptive apps for work"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 33a8227..159cce8 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Audio sharing"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Share audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Calls and alarms"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Connect to an LE audio stream"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Nearby audio streams"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audio streams"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connect to an audio stream using QR code"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"No nearby audio streams were found."</string>
<string name="date_and_time" msgid="1788358029823431692">"Date and time"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Clear"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Work profile"</string>
<string name="private_space_title" msgid="7078627930195569767">"Private Space"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Hide apps in a private folder"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Unlock using screen lock"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Hide apps in a private folder that only you can access"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Private Space lock"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"You can unlock Private Space the same way that you unlock your device, or choose a different lock"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Use device screen lock"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Face and Fingerprint Unlock"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tap to set up"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Same as device screen lock"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Choose a new lock for Private Space?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Hide when locked"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Hide Private Space when locked"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"To stop other people knowing Private Space is on your device, you can hide it from your apps list"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Access Private Space when hidden"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Search for \'Private Space\' in the search bar"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tap the Private Space tile"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Unlock your Private Space"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Off"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"On"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Create Private Space"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Delete Private Space"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Private Space successfully created"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Private Space already exists"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Private Space could not be created"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Private Space successfully deleted"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Private Space could not be deleted"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Set a screen lock"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"To use Private Space, set a screen lock on this device."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Set screen lock"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancel"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Cancel"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Set up"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Set up Private Space"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Hide private apps in a secure space that only you can access"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"How it works"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"You can access Private Space from the bottom of your apps list"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Apps in Private Space are protected by a lock"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Notifications from apps in Private Space are hidden when it’s locked"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Private Space apps won’t appear in permission manager, privacy dashboard and other settings when Private Space is locked"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Setting up Private Space…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Usage info for Private Space apps is hidden when it’s locked"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Access Private Space from your apps list"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Some system apps are already installed in Private Space"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Couldn’t set up Private Space"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Try again now, or come back later"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Try again"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Use screen lock to unlock?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"You can unlock Private Space the same way you unlock your device, or choose a different lock"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Use screen lock"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Choose new lock"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"All set!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"You can access Private Space from your apps list"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Done"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Scroll down to access Private Space"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Sign in to set up Private Space"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"You need to sign in to an account to set up Private Space"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"To show Private Space (not final UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Open the Settings app"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Tap on Security & privacy > Private Space > Hide Private Space when locked"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Turn off \'Hide Private Space when locked\' toggle"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Note to Googlers: The development of this feature is still in progress"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"You can add up to <xliff:g id="COUNT">%d</xliff:g> fingerprints"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"You’ve added the maximum number of fingerprints"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Can’t add more fingerprints"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connect"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Disconnect"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Pair & connect"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.\n\nTo improve device experience, apps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Change"</string>
<string name="device_details_title" msgid="1155622417516195481">"Device details"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Allow ART to verify bytecode for debuggable apps"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Show refresh rate"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Show the current display refresh rate"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Show HDR/SDR ratio"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Show the current HDR/SDR ratio"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Require device unlock for NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Continue using apps on fold"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatically raises the refresh rate up to <xliff:g id="ID_1">%1$d</xliff:g> Hz for some content. Increases battery usage."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Force peak refresh rate"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Highest refresh rate for improved touch responsiveness and animation quality. Increases battery usage."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Screen attention"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Communal settings"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"Edit access point"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Add access point"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Not set"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Not set"</string>
<string name="apn_name" msgid="6677695784108157953">"Name"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use Accessibility button to open"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hold volume keys to open"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triple-tap screen to open"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Two-finger triple tap screen to open"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Use gesture to open"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Use accessibility gesture"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"To use this feature, tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> on the bottom of your screen.\n\nTo switch between features, touch and hold the accessibility button."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"To use this feature, tap the Accessibility button on your screen."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"To use this feature, press and hold both volume keys."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"To start and stop magnification, triple-tap anywhere on your screen."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"To start and stop magnification, triple tap anywhere on your screen with two fingers."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"To use this feature, swipe up from the bottom of the screen with two fingers.\n\nTo switch between features, swipe up with two fingers and hold."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"To use this feature, swipe up from the bottom of the screen with three fingers.\n\nTo switch between features, swipe up with three fingers and hold."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"To use an accessibility feature, swipe up from the bottom of the screen with two fingers.\n\nTo switch between features, swipe up with two fingers and hold."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold volume keys"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Press and hold both volume keys"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Two-finger triple tap screen"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"two-finger triple tap screen"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Quickly tap screen {0,number,integer} times with two fingers"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple-tap screen"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"triple-tap screen"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Quickly tap screen {0,number,integer} times. This shortcut may slow down your device"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"It can track your interactions with an app or a hardware sensor, and interact with apps on your behalf."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Allow"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Deny"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Stop"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancel"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Stop <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Tapping <xliff:g id="STOP">%1$s</xliff:g> will stop <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"No services installed"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"No service selected"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"No description provided."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"If you limit background activity for an app, it may misbehave"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Since this app is not set to optimise battery, you can’t restrict it.\n\nTo restrict the app, first turn on battery optimisation."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Manage battery usage"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Allow background usage"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Enable for real-time updates, disable to save battery"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Unrestricted"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimised"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restricted"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Name"</string>
<string name="vpn_type" msgid="5533202873260826663">"Type"</string>
<string name="vpn_server" msgid="2908816134941973935">"Server address"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP encryption (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secret"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifier"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec preshared key"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec user certificate"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA certificate"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec server certificate"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Show advanced options"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS search domains"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS servers (e.g. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Forwarding routes (e.g. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Username"</string>
<string name="vpn_password" msgid="1183746907642628127">"Password"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Save account information"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(not used)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(don\'t verify server)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(received from server)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"This VPN type can\'t stay connected at all times"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Always-on VPN only supports numeric server addresses"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"A DNS server must be specified for always-on VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS server addresses must be numeric for always-on VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"The information entered doesn\'t support always-on VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Cancel"</string>
<string name="vpn_done" msgid="5137858784289564985">"Dismiss"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Block connections without VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Require VPN connection?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Not secure. Update to an IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"None"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Always-on VPN requires an IP address for both server and DNS."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Show all notification content"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Show sensitive content only when unlocked"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Don\'t show notifications at all"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"How do you want the lock screen to display?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"What do you want your lock screen to show?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lock screen"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Show all work notification content"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Hide sensitive work content"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Allow access to manage all files"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Can access all files"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Voice activation apps"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Allow voice activation"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Voice activation turns on approved apps, hands-free, using voice command. Built-in adaptive sensing ensures data stays private only to you.\n\n"<a href="">"More about protected adaptive sensing"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Full-screen notifications"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Allow full-screen notifications from this app"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Allow this app to show notifications that take up the full screen when the device is locked. Apps may use these to highlight alarms, incoming calls or other urgent notifications."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the background"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery while in the foreground"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the foreground"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Battery usage anomaly"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"High battery usage"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"High battery usage in the background"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"High battery usage in the foreground"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"system navigation, 2-button navigation, 3-button navigation, gesture navigation, swipe"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistant"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swipe to invoke the assistant"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swipe up from a bottom corner to invoke digital assistant app."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swipe up from the bottom corner to invoke digital assistant app."</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hold Home for Assistant"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Press and hold the Home button to invoke digital assistant app."</string>
<string name="low_label" msgid="6525629096999711220">"Low"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Select grammatical gender"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Scanning for deceptive apps"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Check app activity for phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Use scanning"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Use scanning for work apps"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Use scanning for deceptive apps"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Use scanning for deceptive apps for work"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 0c48892..0192d73 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Audio sharing"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Share audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Calls and alarms"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Connect to a LE audio stream"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Nearby audio streams"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audio streams"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connect to an audio stream using QR code"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"No nearby audio streams were found."</string>
<string name="date_and_time" msgid="1788358029823431692">"Date & time"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Clear"</string>
@@ -539,7 +543,14 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Work profile"</string>
<string name="private_space_title" msgid="7078627930195569767">"Private Space"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Hide apps in a private folder"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Unlock using screen lock"</string>
+ <string name="private_space_description" msgid="5494963647270826210">"Hide apps in a private folder that only you can access"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Private Space lock"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"You can unlock Private Space the same way you unlock your device, or choose a different lock"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Use device screen lock"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Face & Fingerprint Unlock"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tap to set up"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Same as device screen lock"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Choose a new lock for Private Space?"</string>
<string name="private_space_hide_title" msgid="8687034008994037610">"Hide when locked"</string>
<string name="privatespace_hide_page_title" msgid="972581369094289386">"Hide Private Space when locked"</string>
<string name="privatespace_hide_page_summary" msgid="1052569521186403642">"To stop other people knowing Private Space is on your device, you can hide it from your apps list"</string>
@@ -550,11 +561,7 @@
<string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Off"</string>
<string name="privatespace_hide_on_summary" msgid="6136704537527640183">"On"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Create Private Space"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Delete Private Space"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Private Space successfully created"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Private Space already exists"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Private Space could not be created"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Private Space successfully deleted"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Private Space could not be deleted"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Set a screen lock"</string>
@@ -568,40 +575,30 @@
<string name="privatespace_how_title" msgid="8794102046435526065">"How it works"</string>
<string name="privatespace_access_bottom_text" msgid="1075244097441349030">"You can access Private Space from the bottom of your apps list"</string>
<string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Apps in Private Space are protected by a lock"</string>
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Notifications from apps in Private Space are hidden when it’s locked"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Private Space apps won’t appear in permission manager, privacy dashboard, and other settings when Private Space is locked"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Setting up Private Space…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Usage info for Private Space apps is hidden when it’s locked"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Access Private Space from your apps list"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Some system apps are already installed in Private Space"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Couldn’t set up Private Space"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Try again now, or come back later"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Try Again"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Use screen lock to unlock?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"You can unlock Private Space the same way you unlock your device, or choose a different lock"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Use screen lock"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Choose new lock"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"All set!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"You can access Private Space from your apps list"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Done"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Scroll down to access Private Space"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Sign in to set up Private Space"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"You need to sign in to an account to set up Private Space"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"To show Private Space (Not final UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Open the Settings App"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Tap on Security & privacy > Private Space > Hide Private Space when locked"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Turn off Hide Private Space when locked toggle"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Note to Googlers: The development of this feature is still in progress"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"You can add up to <xliff:g id="COUNT">%d</xliff:g> fingerprints"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"You’ve added the maximum number of fingerprints"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Can’t add more fingerprints"</string>
@@ -765,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connect"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Disconnect"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Pair & connect"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.\n\nTo improve device experience, apps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Change"</string>
<string name="device_details_title" msgid="1155622417516195481">"Device details"</string>
@@ -818,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Allow ART to verify bytecode for debuggable apps"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Show refresh rate"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Show the current display refresh rate"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Show HDR/SDR ratio"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Show the current HDR/SDR ratio"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Require device unlock for NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1119,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Continue using apps on fold"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatically raises the refresh rate up to <xliff:g id="ID_1">%1$d</xliff:g> Hz for some content. Increases battery usage."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Force peak refresh rate"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Highest refresh rate for improved touch responsiveness & animation quality. Increases battery usage."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Screen attention"</string>
@@ -1356,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Communal settings"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"Edit access point"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Add access point"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Not set"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Not set"</string>
<string name="apn_name" msgid="6677695784108157953">"Name"</string>
@@ -1990,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use accessibility button to open"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hold volume keys to open"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triple tap screen to open"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Two finger triple tap screen to open"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Use gesture to open"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Use accessibility gesture"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"To use this feature, tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> on the bottom of your screen.\n\nTo switch between features, touch & hold the accessibility button."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"To use this feature, tap the accessibility button on your screen."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"To use this feature, press & hold both volume keys."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"To start and stop magnification, triple-tap anywhere on your screen."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"To start and stop magnification, triple-tap anywhere on your screen with two fingers."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"To use this feature, swipe up from the bottom of the screen with 2 fingers.\n\nTo switch between features, swipe up with 2 fingers and hold."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"To use this feature, swipe up from the bottom of the screen with 3 fingers.\n\nTo switch between features, swipe up with 3 fingers and hold."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"To use an accessibility feature, swipe up from the bottom of the screen with 2 fingers.\n\nTo switch between features, swipe up with 2 fingers and hold."</string>
@@ -2017,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold volume keys"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Press & hold both volume keys"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Two-finger triple-tap screen"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"two-finger triple-tap screen"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Quickly tap screen {0,number,integer} times with two fingers"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple-tap screen"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"triple-tap screen"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Quickly tap screen {0,number,integer} times. This shortcut may slow down your device"</string>
@@ -2247,10 +2245,9 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"It can track your interactions with an app or a hardware sensor, and interact with apps on your behalf."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Allow"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Deny"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Stop"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancel"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Stop <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Tapping <xliff:g id="STOP">%1$s</xliff:g> will stop <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Turn off"</string>
+ <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Keep on"</string>
+ <string name="disable_service_title" msgid="8178020230162342801">"Turn off <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"No services installed"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"No service selected"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"No description provided."</string>
@@ -2320,6 +2317,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"If you limit background activity for an app, it may misbehave"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Since this app is not set to optimize battery, you can’t restrict it.\n\nTo restrict the app, first turn on battery optimization."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Manage battery usage"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Allow background usage"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Enable for real-time updates, disable to save battery"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Unrestricted"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimized"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restricted"</string>
@@ -2728,27 +2727,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Name"</string>
<string name="vpn_type" msgid="5533202873260826663">"Type"</string>
<string name="vpn_server" msgid="2908816134941973935">"Server address"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP encryption (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secret"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifier"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec pre-shared key"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec user certificate"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA certificate"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec server certificate"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Show advanced options"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS search domains"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS servers (e.g. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Forwarding routes (e.g. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Username"</string>
<string name="vpn_password" msgid="1183746907642628127">"Password"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Save account information"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(not used)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(don’t verify server)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(received from server)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"This VPN type can\'t stay connected at all times"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Always-on VPN only supports numeric server addresses"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"A DNS server must be specified for always-on VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS server addresses must be numeric for always-on VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"The information entered doesn\'t support always-on VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Cancel"</string>
<string name="vpn_done" msgid="5137858784289564985">"Dismiss"</string>
@@ -2784,6 +2774,7 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Block connections without VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Require VPN connection?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Not secure. Update to an IKEv2 VPN"</string>
+ <string name="vpn_start_unsupported" msgid="7139925503292269904">"Failed to start unsupported VPN."</string>
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"None"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Always-on VPN requires an IP address for both server and DNS."</string>
@@ -3341,7 +3332,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Show all notification content"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Show sensitive content only when unlocked"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Don’t show notifications at all"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"How do you want the lock screen to display?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"What do you want your lock screen to show?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lock screen"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Show all work notification content"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Hide sensitive work content"</string>
@@ -3830,6 +3821,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Allow access to manage all files"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Can access all files"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Voice activation apps"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Allow voice activation"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Voice activation turns-on approved apps, hands-free, using voice command. Built-in adaptive sensing ensures data stays private only to you.\n\n"<a href="">"More about protected adaptive sensing"</a>""</string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Full screen notifications"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Allow full screen notifications from this app"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Allow this app to show notifications that take up the full screen when the device is locked. Apps may use these to highlight alarms, incoming calls, or other urgent notifications."</string>
@@ -3993,6 +3987,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the background"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery while in the foreground"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the foreground"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Battery usage anomaly"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"High battery usage"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"High battery usage in the background"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"High battery usage in the foreground"</string>
@@ -4090,7 +4085,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"system navigation, 2 button navigation, 3 button navigation, gesture navigation, swipe"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistant"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swipe to invoke assistant"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swipe up from a bottom corner to invoke digital assistant app."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swipe up from a bottom corner to invoke digital assistant app"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hold Home for Assistant"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Press and hold the Home button to invoke digital assistant app."</string>
<string name="low_label" msgid="6525629096999711220">"Low"</string>
@@ -4943,8 +4938,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Select Grammatical gender"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Scanning for deceptive apps"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Check app activity for phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Use scanning"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Use scanning for work apps"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Use scanning for deceptive apps"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Use scanning for deceptive apps for work"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index c774242..4ab5436 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"Otros dispositivos"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos guardados"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Asociado con la cuenta"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Se usó previamente con la cuenta"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Se usaron previamente con la cuenta"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"Se activará el Bluetooth para vincular"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"Preferencias de conexión"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Conectados anteriormente"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pluma stylus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Uso compartido de audio"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Comparte audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Llamadas y alarmas"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Conectarse a reproducción de LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Reproducciones de audio cercanas"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Reproducciones de audio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Conectarse a una reproducción de audio usando un código QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"No hay reproducciones de audio cercanas."</string>
<string name="date_and_time" msgid="1788358029823431692">"Fecha y hora"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Eliminar"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Perfil de trabajo"</string>
<string name="private_space_title" msgid="7078627930195569767">"Espacio privado"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Esconde las apps en una carpeta privada"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Desbloquea con el bloqueo de pantalla"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Esconde las apps en una carpeta privada a la que solo tú puedes acceder"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Bloqueo de Espacio privado"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Puedes desbloquear Espacio privado de la misma manera que desbloqueas el dispositivo o elegir un bloqueo diferente"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usar el bloqueo de pantalla del dispositivo"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueo facial y con huellas dactilares"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Presiona para configurar"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Igual al bloqueo de pantalla del dispositivo"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"¿Quieres un nuevo bloqueo para Espacio privado?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Se oculta con el dispositivo bloqueado"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Oculta Espacio privado con el dispositivo bloqueado"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Oculta Espacio privado de tu lista para que no puedan verlo"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Accede a Espacio privado cuando está oculto"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Busca \"Espacio privado\" en la barra de búsqueda"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Presiona la tarjeta de Espacio privado"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Desbloquea tu Espacio privado"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desactivado"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Activado"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Crea un Espacio privado"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Borra un Espacio privado"</string>
- <string name="private_space_created" msgid="2978055968937762232">"El Espacio privado se creó correctamente"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"El Espacio privado ya existe"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"No se pudo crear el Espacio privado"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"El Espacio privado se borró correctamente"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"No se pudo borrar el Espacio privado"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Configura un bloqueo de pant."</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Para usar Espacio privado, configura un bloqueo de pantalla."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Configurar bloqueo de pantalla"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancelar"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Cancelar"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Configuración"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Configura Espacio privado"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Esconde las apps privadas en un espacio seguro que solo tú puedes acceder"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Cómo funciona"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Puedes acceder a Espacio privado desde el final de tu lista de apps"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Las apps en Espacio privado están protegidas con un bloqueo"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Las notificaciones de las apps en Espacio privado se ocultan cuando está bloqueado"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Las apps de Espacio privado no se mostrarán en el Administrador de permisos, el panel de privacidad ni en ninguna otra configuración cuando Espacio privado esté bloqueado"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Configurando Espacio privado…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Espacio privado no muestra la información de uso de las apps cuando está bloqueado"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Accede a Espacio privado desde la lista de apps"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"No se pudo configurar Espacio privado"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Vuelve a intentarlo ahora o regresa más tarde"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Reintentar"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"¿Usar bloqueo de pantalla para desbloquear?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Puedes desbloquear Espacio privado de la misma manera que desbloqueas el dispositivo o elegir un bloqueo diferente"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Usar bloqueo de pantalla"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Elegir nuevo bloqueo"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Todo listo"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Listo"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Desplázate hacia abajo para acceder a Espacio privado"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Accede para configurar el Espacio privado"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Debes acceder a una cuenta para configurar el Espacio privado"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Para mostrar Espacio privado (versión preliminar de la UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Abre la app de Configuración"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Presiona Seguridad y privacidad > Espacio privado > Oculta Espacio privado con el dispositivo bloqueado"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Desactivar Oculta Espacio privado con el disp. bloqueado"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Nota para Googlers: Esta función aún se encuentra en desarrollo"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Puedes agregar hasta <xliff:g id="COUNT">%d</xliff:g> huellas dactilares"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Agregaste la cantidad máxima permitida de huellas digitales"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"No se pueden agregar más huellas digitales"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Conectar"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desconectar"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Vincular y conectar"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Cuando Bluetooth está activado, permite conectarse con dispositivos cercanos que tengan Bluetooth."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Activa el Bluetooth para conectarte a dispositivos"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Cuando Bluetooth está activado, tu dispositivo puede usarlo para comunicarse con otros dispositivos Bluetooth cercanos.\n\nPara mejorar la experiencia, las apps y los servicios pueden buscar dispositivos cercanos incluso cuando la conexión Bluetooth esté desactivada. Esta función puede usarse, por ejemplo, para mejorar las funciones y los servicios basados en la ubicación. Puedes cambiar esta opción en la configuración de búsqueda de Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Cambiar"</string>
<string name="device_details_title" msgid="1155622417516195481">"Detalles del dispositivo"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permite que ART verifique el bytecode de apps depurables"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Frecuencia de actualización"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Muestra la frecuencia de actualización actual de pantalla"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostrar la relación entre HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostrar la relación actual entre HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Usar NFC solo si el dispositivo está desbloqueado"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuar usando apps con el dispositivo plegado"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Aumenta automáticamente la frecuencia de actualización a <xliff:g id="ID_1">%1$d</xliff:g> Hz para cierto contenido. Incrementa el uso de batería."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forzar frecuencia de actualización máxima"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"La máxima frecuencia de actualización mejora la respuesta táctil y la calidad de las animaciones. Incrementa el uso de batería."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Atención a la pantalla"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Configuraciones compartidas"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Editar punto de acceso"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Agregar punto de acceso"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Sin establecer"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Sin definir"</string>
<string name="apn_name" msgid="6677695784108157953">"Nombre"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usa el botón de accesibilidad para abrir"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mantén presionadas las teclas de volumen para abrir"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Presiona tres veces para abrir el servicio"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Presiona tres veces la pantalla con dos dedos para abrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usa el gesto para abrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usa los gestos de accesibilidad"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Para usar esta función, presiona el botón de accesibilidad <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ubicado en la parte inferior de la pantalla.\n\nSi quieres cambiar de función, mantén presionado el botón de accesibilidad."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para usar esta función, presiona el botón de accesibilidad en la pantalla."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Para usar esta función, mantén presionadas las teclas de volumen."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para iniciar y detener la ampliación, presiona tres veces en cualquier parte de la pantalla."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Para iniciar y detener la amplificación, presiona tres veces la pantalla con dos dedos."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esta función, desliza 2 dedos hacia arriba desde la parte inferior de la pantalla.\n\nSi quieres cambiar de función, desliza 2 dedos hacia arriba y mantén presionada la pantalla."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para usar esta función, desliza 3 dedos hacia arriba desde la parte inferior de la pantalla.\n\nSi quieres cambiar de función, desliza 3 dedos hacia arriba y mantén presionada la pantalla."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para usar una función de accesibilidad, desliza 2 dedos hacia arriba desde la parte inferior de la pantalla.\n\nSi quieres cambiar de función, desliza 2 dedos hacia arriba y mantén presionada la pantalla."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Mantener presionadas las teclas de volumen"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"mantener presionadas las teclas de volumen"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Mantén presionadas ambas teclas de volumen."</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Presiona la pantalla tres veces con dos dedos"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"presiona la pantalla tres veces con dos dedos"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Presiona la pantalla rápidamente {0,number,integer} veces con dos dedos"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Presionar tres veces la pantalla"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"presionar tres veces la pantalla"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Presiona rápidamente la pantalla {0,number,integer} veces. Esta combinación de teclas podría hacer que tu dispositivo funcione más lento."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Puede realizar el seguimiento de tus interacciones con una app o un sensor de hardware, así como interactuar con las apps por ti."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permitir"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Rechazar"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Detener"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancelar"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"¿Quieres detener <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Si presionas <xliff:g id="STOP">%1$s</xliff:g>, se detendrá <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"No se instaló ningún servicio."</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"No se seleccionó ningún servicio"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"No se proporcionó ninguna descripción."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si limitas la actividad en segundo plano de una app, es posible que no funcione correctamente"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Como no se configuró la app para optimizar la batería, no puedes restringirla.\n\nPrimero, activa optimización de batería."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Administrar uso de batería"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permitir uso en segundo plano"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Habilitar para actualizaciones en tiempo real; inhabilitar para ahorrar batería"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sin restricciones"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizado"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restringido"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nombre"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
<string name="vpn_server" msgid="2908816134941973935">"Dirección del servidor"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Encriptación de PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secreto"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Clave de IPSec compartida previamente"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificado de usuario IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificado de CA de IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificado de servidor IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Mostrar opciones avanzadas"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Dominios de búsqueda de DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidores DNS (por ejemplo, 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Rutas de reenvío (por ejemplo, 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nombre de usuario"</string>
<string name="vpn_password" msgid="1183746907642628127">"Contraseña"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Guardar información de la cuenta"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(No se utiliza)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(no verificar el servidor)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(recibido desde el servidor)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Este tipo de VPN no puede permanecer conectada todo el tiempo"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN siempre activada solo es compatible con direcciones de servidor numéricas"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Debe especificarse un servidor DNS para VPN siempre activada"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Las direcciones de servidor DNS deben ser numéricas para VPN siempre activada"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"La información ingresada no es compatible con la VPN siempre activada."</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Cancelar"</string>
<string name="vpn_done" msgid="5137858784289564985">"Ignorar"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Bloquear conexiones sin VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"¿Requerir una conexión VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"La VPN no es segura. Actualiza a una VPN IKEv2."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecciona el perfil de la VPN con la que deseas establecer una conexión ininterrumpida. El tráfico de red solo se permitirá cuando estés conectado a esta VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Ninguna"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"La VPN siempre activada requiere una dirección IP tanto para el servidor como para el DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostrar todo el contenido de las notificaciones"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Mostrar contenido sensible solo al desbloquear"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"No mostrar notificaciones"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"¿Cómo quieres que se muestren las notificaciones en la pantalla de bloqueo?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"¿Qué quieres que muestre tu pantalla de bloqueo?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Pantalla de bloqueo"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostrar el contenido de notificaciones de trabajo"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ocultar contenido de trabajo confidencial"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Permitir administrar todos los archivos"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permite que esta app lea, modifique y borre todos los archivos en el dispositivo o cualquier volumen de almacenamiento conectado. Si habilitas el permiso, es posible que la app acceda a archivos sin tu conocimiento explícito."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Pueden acceder a todos los archivos"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps con activación por voz"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permitir la activación por voz"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Las activaciones por voz inician apps aprobadas, sin usar las manos, a través de comandos por voz. Los sensores incorporados y adaptativos garantizan que los datos sean privados solo para ti.\n\n"<a href="">"Más información sobre los sensores adaptativos protegidos"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Notificaciones de pantalla completa"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Permitir notificaciones de pantalla completa de esta app"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permite que esta app muestre notificaciones que ocupan toda la pantalla cuando el dispositivo está bloqueado. Las apps pueden usarlas para destacar alarmas, llamadas entrantes y otras notificaciones urgentes."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usó más batería de la habitual estando en segundo plano"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usó más batería estando en primer plano"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usó más batería de la habitual estando en primer plano"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Uso de batería anómalo"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Uso de la batería alto"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Uso de la batería alto en segundo plano"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Uso de la batería alto en primer plano"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navegación del sistema, navegación con 2 botones, navegación con 3 botones, navegación por gestos, deslizar"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asistente digital"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Desliza el dedo para invocar al asistente"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Desliza el dedo hacia arriba desde una de las esquinas inferiores para invocar a la app de asistente digital."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Desliza el dedo hacia arriba desde una de las esquinas inferiores para invocar a la app de asistente digital."</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Mantén presionado el botón de inicio para activar Asistente"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Mantén presionado el botón de inicio para abrir la app de asistente digital."</string>
<string name="low_label" msgid="6525629096999711220">"Baja"</string>
@@ -4898,7 +4883,7 @@
<string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
<string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
<string name="user_aspect_ratio_option_a11y" msgid="1235801996029095219">"<xliff:g id="NUMERATOR">%1$s</xliff:g> por <xliff:g id="DENOMINATOR">%2$s</xliff:g>"</string>
- <string name="app_aspect_ratio_footer" msgid="4029509301182067475">"La app se reiniciará cuando cambies la relación de aspecto. Es posible que pierdas cambios sin guardar. Algunas apps podrían no estar optimizadas para ciertas relaciones de aspecto."</string>
+ <string name="app_aspect_ratio_footer" msgid="4029509301182067475">"Cuando cambies la relación de aspecto, se reiniciará la app. Es posible que pierdas los cambios que no se hayan guardado y que algunas apps no estén optimizadas para ciertas relaciones de aspecto."</string>
<string name="aspect_ratio_experimental_title" msgid="9088785421062044831">"Relación de aspecto (experimental)"</string>
<string name="aspect_ratio_experiment_title" msgid="128614319422121040">"Relaciones de aspecto (experimento)"</string>
<string name="aspect_ratio_labs_title" msgid="6733893837442759383">"Relación de aspecto (labs)"</string>
@@ -4958,9 +4943,9 @@
<string name="grammatical_gender_title" msgid="8584242850477270828">"Género gramatical"</string>
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecciona un género gramatical"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Análisis de apps engañosas"</string>
- <string name="content_protection_preference_summary" msgid="2252393849408445391">"Revisar la actividad en la app en busca de phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Usar análisis"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Usar análisis para apps de trabajo"</string>
+ <string name="content_protection_preference_summary" msgid="2252393849408445391">"Revisar la actividad en las apps en busca de phishing"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Usar análisis para apps engañosas"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Usar análisis para apps de trabajo engañosas"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index c0b0e1a..edfb3d8 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"Otros dispositivos"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos guardados"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Asociado a la cuenta"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Se ha usado previamente en una cuenta"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Usado previamente con una cuenta"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"El Bluetooth se activará para emparejar"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"Preferencias de conexión"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Conectado anteriormente"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Lápiz óptico"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Uso compartido de audio"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Compartir audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Llamadas y alarmas"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Conectar a stream de LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Streams de audio cercanos"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Streams de audio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Conectar a un stream de audio mediante código QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"No se han encontrado streams cercanos."</string>
<string name="date_and_time" msgid="1788358029823431692">"Fecha y hora"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Borrar"</string>
@@ -423,7 +427,7 @@
<string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"¡Listo!"</string>
<string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Ahora puedes usar tu reloj para desbloquear este teléfono cuando deslices hacia arriba en la pantalla de bloqueo o toques una notificación"</string>
<string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Hecho"</string>
- <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Desbloqueo con Reloj"</string>
+ <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Desbloqueo con reloj"</string>
<string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Puedes usar tu reloj para desbloquear este teléfono cuando deslices hacia arriba en la pantalla de bloqueo o toques una notificación"</string>
<string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Para usar Desbloqueo con reloj, tu reloj debe estar desbloqueado, en tu muñeca, dentro del alcance y conectado a este teléfono. Si se interrumpe la conexión, tendrás que desbloquear el teléfono para usar Desbloqueo con reloj.\n\nNota:\nNo puedes tener más de un reloj configurado a la vez. Para añadir otro reloj, primero quita el anterior."</string>
<string name="security_settings_remoteauth_settings_learn_more" msgid="5653556124819260050">"Más información sobre Desbloqueo con reloj"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Perfil de trabajo"</string>
<string name="private_space_title" msgid="7078627930195569767">"Espacio privado"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Oculta aplicaciones en una carpeta privada"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Desbloquear con el bloqueo de pantalla"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Oculta aplicaciones en una carpeta privada a la que solo tú puedes acceder"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Bloqueo de espacio privado"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Puedes desbloquear el espacio privado de la misma forma que desbloqueas tu dispositivo, o bien con un bloqueo diferente"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usar el bloqueo de pantalla del dispositivo"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueo facial y con huella digital"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toca para configurar"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Igual que el bloqueo de pantalla del dispositivo"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"¿Elegir un nuevo bloqueo para el espacio privado?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Ocultar cuando esté bloqueado"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Ocultar espacio privado si está bloqueado"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Para evitar que se sepa que usas espacio privado, puedes ocultarlo desde tu lista de aplicaciones"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Acceder al espacio privado cuando está oculto"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Busca espacio privado en la barra de búsqueda"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Toca el recuadro de espacio privado"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Desbloquea tu espacio privado"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desactivado"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Activado"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Crear espacio privado"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Eliminar espacio privado"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Espacio privado creado correctamente"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"El espacio privado ya existe"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"El espacio privado no se ha podido crear"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Espacio privado eliminado correctamente"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"El espacio privado no se ha podido eliminar"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Define un bloqueo de pantalla"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Para usar el espacio privado, define un bloqueo de pantalla."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Define un bloqueo de pantalla"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancelar"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Cancelar"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Configurar"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Configurar espacio privado"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Oculta las aplicaciones privadas en un espacio seguro al que solo tú tengas acceso"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Cómo funciona"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Puedes acceder al espacio privado desde la parte inferior de tu lista de aplicaciones"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Las aplicaciones del espacio privado están protegidas con un bloqueo"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Las notificaciones de las aplicaciones del espacio privado se ocultan si está bloqueado"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Las aplicaciones del espacio privado no se mostrarán en Gestor de permisos, el panel de privacidad o en otros ajustes si el espacio privado está bloqueado"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Configurando espacio privado…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"La información de uso de las aplicaciones del espacio privado se oculta cuando está bloqueado"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Acceder al espacio privado desde la lista de aplicaciones"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"No se ha podido configurar el espacio privado"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Inténtalo de nuevo ahora o vuelve más tarde"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Reintentar"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"¿Usar bloqueo de pantalla para desbloquear?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Puedes desbloquear el espacio privado de la misma forma que desbloqueas tu dispositivo, o bien con un bloqueo diferente"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Usar bloqueo de pantalla"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Elegir nuevo aspecto"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"¡Todo listo!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Hecho"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Desplázate hacia abajo para acceder al espacio privado"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Inicia sesión para configurar el espacio privado"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Debes iniciar sesión en una cuenta para configurar el espacio privado"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Para mostrar espacio privado (versión preliminar de UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Abrir la aplicación Ajustes"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Toca Seguridad & Privacidad > Espacio privado > Ocultar espacio privado si está bloqueado"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Desactivar Ocultar espacio privado si está bloqueado"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Nota para Googlers: El desarrollo de esta función aún está en curso"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Puedes añadir hasta <xliff:g id="COUNT">%d</xliff:g> huellas digitales"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Has añadido el número máximo de huellas digitales"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"No se pueden añadir más huellas digitales"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Conectar"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desconectar"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Emparejar y conectar"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Cuando el Bluetooth está activado, tu dispositivo se puede comunicar con otros dispositivos cercanos que tengan Bluetooth"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Con el Bluetooth activado, tu dispositivo se puede comunicar con dispositivos Bluetooth cercanos"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Cuando el Bluetooth está activado, tu dispositivo puede comunicarse con otros dispositivos Bluetooth cercanos.\n\nPara mejorar la experiencia de uso del dispositivo, las aplicaciones y los servicios pueden buscar dispositivos cercanos en cualquier momento aunque el Bluetooth esté desactivado. Esto puede servir, por ejemplo, para mejorar servicios y funciones basados en la ubicación. Puedes cambiar esta opción en los ajustes de búsqueda de dispositivos Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Cambiar"</string>
<string name="device_details_title" msgid="1155622417516195481">"Detalles del dispositivo"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permite que el ART verifique el bytecode de aplicaciones depurables"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar tasa de refresco"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Muestra la tasa de refresco de la pantalla"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostrar proporción HDR-SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Muestra la proporción HDR-SDR actual"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Requerir que el dispositivo esté desbloqueado para usar NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Seguir usando aplicaciones con el dispositivo plegado"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Pantalla fluida"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Incrementa automáticamente la frecuencia de actualización a <xliff:g id="ID_1">%1$d</xliff:g> Hz en determinados tipos de contenido. Aumenta el uso de la batería."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forzar tasa de refresco máxima"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Se usa la tasa de refresco más alta posible para mejorar la capacidad de respuesta táctil y la calidad de las animaciones. Aumenta el uso de la batería."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Pantalla atenta"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Ajustes comunes"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"Editar punto de acceso"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Añadir punto de acceso"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Sin establecer"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Sin configurar"</string>
<string name="apn_name" msgid="6677695784108157953">"Nombre"</string>
@@ -1535,7 +1520,7 @@
<string name="about_settings_summary" msgid="4831942939227432513">"Ver información legal, estado, versión del software"</string>
<string name="legal_information" msgid="7509900979811934843">"Información legal"</string>
<string name="manual" msgid="3651593989906084868">"Manual"</string>
- <string name="regulatory_labels" msgid="5960251403367154270">"Etiquetas normativas"</string>
+ <string name="regulatory_labels" msgid="5960251403367154270">"Etiquetas regulatorias"</string>
<string name="safety_and_regulatory_info" msgid="8285048080439298528">"Manual de seguridad y normativas"</string>
<string name="copyright_title" msgid="83245306827757857">"Derechos de autor"</string>
<string name="license_title" msgid="8745742085916617540">"Licencia"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usa el botón de accesibilidad para abrir"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mantén pulsadas las teclas de volumen para abrir"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Toca tres veces la pantalla para abrir"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Toca tres veces la pantalla para abrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usar gesto para abrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usar gesto de accesibilidad"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Para usar esta función, toca el botón de accesibilidad <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>, situado en la parte inferior de la pantalla.\n\nPara pasar de una función a otra, mantén pulsado el botón de accesibilidad."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para usar esta función, toca el botón de accesibilidad de la pantalla."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Para usar esta función, mantén pulsadas las dos teclas de volumen."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para iniciar o detener la ampliación, toca tres veces en cualquier parte de la pantalla."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Para iniciar o detener la ampliación, toca 3 veces en cualquier parte de la pantalla con dos dedos."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esta función, desliza hacia arriba con dos dedos desde la parte inferior de la pantalla.\n\nPara pasar de una función a otra, desliza hacia arriba con dos dedos y mantén pulsada la pantalla."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para usar esta función, desliza hacia arriba con tres dedos desde la parte inferior de la pantalla.\n\nPara pasar de una función a otra, desliza hacia arriba con tres dedos y mantén pulsada la pantalla."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para usar una función de accesibilidad, desliza hacia arriba con dos dedos desde la parte inferior de la pantalla.\n\nPara pasar de una función a otra, desliza hacia arriba con dos dedos y mantén pulsada la pantalla."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Mantener teclas de volumen"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"mantener pulsadas las teclas de volumen"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Mantén pulsadas las dos teclas de volumen"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Toca tres veces la pantalla con dos dedos"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"tocar tres veces la pantalla con dos dedos"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Toca la pantalla {0,number,integer} veces rápidamente con dos dedos"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple toque en la pantalla"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"tocar tres veces la pantalla"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Toca la pantalla {0,number,integer} veces rápidamente. Esta acción puede hacer que tu dispositivo funcione más lento."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Puede registrar tus interacciones con una aplicación o un sensor de hardware, así como interactuar con las aplicaciones en tu nombre."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permitir"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Denegar"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Detener"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancelar"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"¿Detener <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Si tocas <xliff:g id="STOP">%1$s</xliff:g>, se detendrá <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"No se ha instalado ningún servicio."</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"No se ha seleccionado ningún servicio"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"No se ha especificado ninguna descripción."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si limitas la actividad en segundo plano de una aplicación, puede que no funcione correctamente"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Esta aplicación no optimiza la batería, por lo que no puedes restringirla.\n\nPara hacerlo, activa antes la optimización."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gestionar el uso de batería"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permitir uso en segundo plano"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Habilita esta opción para recibir notificaciones en tiempo real, inhabilítala para ahorrar batería"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sin restricciones"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizado"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restringido"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nombre"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
<string name="vpn_server" msgid="2908816134941973935">"Dirección del servidor"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Cifrado de PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secreto"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador de IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Clave precompartida de IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificado de usuario de IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificado AC de IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificado del servidor IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Mostrar opciones avanzadas"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Dominios de búsqueda de DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidores de DNS (por ejemplo, 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Rutas de reenvío (por ejemplo, 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nombre de usuario"</string>
<string name="vpn_password" msgid="1183746907642628127">"Contraseña"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Guardar información de la cuenta"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(no se usa)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(no verificar servidor)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(recibido desde el servidor)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Este tipo de VPN no puede estar activo siempre"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"El modo de VPN siempre activada solo admite direcciones de servidor numéricas"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Debes especificar un servidor DNS para el modo de VPN siempre activada"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Las direcciones del servidor DNS deben ser numéricas en el modo de VPN siempre activada"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"La información introducida no es compatible con el modo de VPN siempre activada"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Cancelar"</string>
<string name="vpn_done" msgid="5137858784289564985">"Cerrar"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Bloquear conexiones sin VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"¿Requerir una conexión VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"No es segura. Cambia a una VPN IKEv2."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecciona un perfil de VPN para permanecer conectado de forma continua. Solo se permitirá el tráfico de red cuando estés conectado a esta red VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Ninguno"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Las redes VPN activadas continuamente requieren una dirección IP para el servidor y el DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostrar todo el contenido de las notificaciones"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Mostrar contenido sensible solo al desbloquear"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"No mostrar ninguna notificación"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"¿Cómo quieres que se muestren las notificaciones en la pantalla de bloqueo?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"¿Qué quieres que se muestre en tu pantalla de bloqueo?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Pantalla de bloqueo"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostrar todo (notificaciones de trabajo)"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ocultar contenido de trabajo sensible"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Dar acceso para gestionar todos los archivos"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permite que esta aplicación lea, modifique y elimine todos los archivos de este dispositivo o de cualquier volumen de almacenamiento conectado. Si le das permiso, podrá acceder a archivos sin avisarte expresamente."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Puede acceder a todos los archivos"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplicaciones de activación por voz"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permitir la activación por voz"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"La activación por voz activa las aplicaciones aprobadas con solo usar un comando de voz. La detección adaptativa integrada asegura que tus datos se mantengan privados.\n\n"<a href="">"Más información sobre la detección adaptativa protegida"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Notificaciones a pantalla completa"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Permitir notificaciones a pantalla completa de esta aplicación"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permite que esta aplicación muestre notificaciones que ocupan toda la pantalla cuando el dispositivo está bloqueado. La aplicación puede usar esta opción para resaltar alarmas, llamadas entrantes u otras notificaciones urgentes."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ha usado más batería de lo habitual en segundo plano"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ha usado más batería en primer plano"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ha usado más batería de lo habitual en primer plano"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalía en el uso de la batería"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Uso de batería alto"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Uso de batería alto en segundo plano"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Uso de batería alto en primer plano"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navegación del sistema, navegación con 2 botones, navegación con 3 botones, navegación por gestos, deslizar"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asistente digital"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Deslizar para abrir asistente"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Desliza el dedo desde una de las esquinas inferiores de la pantalla para abrir una aplicación de asistente digital."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Desliza desde una de las esquinas inferiores para abrir una aplicación de asistente digital."</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Mantener pulsado Inicio para activar el Asistente"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Mantén pulsado el botón de inicio para abrir la aplicación del asistente digital"</string>
<string name="low_label" msgid="6525629096999711220">"Baja"</string>
@@ -4957,10 +4942,10 @@
<string name="about_phone_device_name_warning" msgid="3243226572404472381">"Las aplicaciones que hayas instalado pueden ver el nombre de tu dispositivo. También es posible que lo vean otros usuarios si lo conectas con dispositivos Bluetooth, si te conectas a una red Wi-Fi o si configuras un punto de acceso Wi-Fi."</string>
<string name="grammatical_gender_title" msgid="8584242850477270828">"Género gramatical"</string>
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecciona el género gramatical"</string>
- <string name="content_protection_preference_title" msgid="5069260032659193074">"Buscando aplicaciones engañosas"</string>
+ <string name="content_protection_preference_title" msgid="5069260032659193074">"Buscar aplicaciones engañosas"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Comprobar la actividad de las aplicaciones en busca de phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Usar análisis"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Usar análisis en aplicaciones de trabajo"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Buscar aplicaciones engañosas"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Buscar aplicaciones de trabajo engañosas"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index ffc09c2..eab7917 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Elektronpliiats"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Heli jagamine"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Heli jagamine"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Kõned ja äratused"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE Audio vooga ühendamine"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Läheduses asuvad helivood"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Helivood"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR-koodi kaudu helivooga ühendamine"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Läheduses asuvaid helivooge ei leitud"</string>
<string name="date_and_time" msgid="1788358029823431692">"Kuupäev ja kellaaeg"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Puhverserver"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Kustuta"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Tööprofiil"</string>
<string name="private_space_title" msgid="7078627930195569767">"Privaatne ruum"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Peida privaatses kaustas olevad rakendused"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Avamine ekraaniluku abil"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Peidetakse rakendused privaatses kaustas, millele ainult teie juurde pääsete"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Privaatse ruumi lukk"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Privaatse ruumi saate lukust avada samal viisil, nagu avate lukust oma seadme. Võite ka valida erineva luku."</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Seadme ekraaniluku kasutamine"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Näo ja sõrmejäljega avamine"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Seadistamiseks puudutage"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Sama mis seadme ekraanilukk"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Kas valida privaatse ruumi jaoks uus lukk?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Peida lukustatuna"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Privaatse ruumi peitmine, kui see on lukustatud"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Privaatse ruumi saate oma rakenduste loendis peita, et teised ei teaks selle olemasolust teie seadmes"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Juurdepääs privaatsele ruumile, kui see on peidetud"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Sisestage otsinguribale tekst „Privaatne ruum”"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Puudutage privaatse ruumi paani"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Avage oma privaatne ruum"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Väljas"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Sees"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Süsteem"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Privaatse ruumi loomine"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Privaatse ruumi kustutamine"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Privaatse ruumi loomine õnnestus"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Privaatne ruum on juba olemas"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Privaatset ruumi ei saanud luua"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Privaatse ruumi kustutamine õnnestus"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Privaatset ruumi ei saanud kustutada"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Ekraaniluku seadistamine"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Seadistage privaatse ruumi jaoks seadmele ekraanilukk."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Seadistage ekraanilukk"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Tühista"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Tühista"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Seadistamine"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Privaatse ruumi seadistamine"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Privaatsete rakenduste peitmine turvalises ruumis, millele pääsete juurde ainult teie"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Tööpõhimõtted"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Privaatsele ruumile pääsete juurde oma rakenduste loendi allosas"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Privaatse ruumi rakendused on lukuga kaitstud"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Kui privaatne ruum on lukustatud, siis on privaatse ruumi rakenduste märguanded peidetud"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Kui privaatne ruum on lukustatud, ei kuvata privaatse ruumi rakendusi lubade halduris, privaatsuse juhtpaneelil ega muudes seadetes"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Privaatse ruumi seadistamine…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Kui privaatne ruum on lukustatud, siis on privaatse ruumi rakenduste kasutusteave peidetud"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Juurdepääs privaatsele ruumile rakenduste loendist"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Mõned süsteemirakendused on juba privaatsesse ruumi installitud"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Privaatset ruumi ei saanud seadistada"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Proovige kohe uuesti või tulge hiljem tagasi"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Proovi uuesti"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Kas kasutada lukust avamiseks ekraanilukku?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Privaatse ruumi saate lukust avada samal moel seadme lukust avamisega või valida erineva luku"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Kasuta ekraanilukku"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Uue luku valimine"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Valmis!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"Privaatsele ruumile pääsete juurde oma rakenduste loendist"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Valmis"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Juurdepääsuks privaatsele ruumile kerige alla"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Privaatse ruumi seadistamiseks logige sisse"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Privaatse ruumi seadistamiseks peate kontole sisse logima"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Privaatse ruumi kuvamiseks (mitte lõplik kasutuskogemus)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Avage rakendus Seaded"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Puudutage valikut Turvalisus ja privaatsus > Privaatne ruum > Peida privaatne ruum, kui see on lukus"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Lülitage välja lüliti Peida privaatne ruum, kui see on lukustatud"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Märkus Google\'i töötajatele: selle funktsiooni arendamine on veel pooleli"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Saate lisada kuni <xliff:g id="COUNT">%d</xliff:g> sõrmejälge"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Olete lisanud maksimaalse arvu sõrmejälgi"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Rohkem sõrmejälgi ei saa lisada"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Ühenda"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Katkesta ühendus"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Seo ja ühenda"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kui Bluetooth on sisse lülitatud, saab seade suhelda teiste lähikonna Bluetooth-seadmetega."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kui Bluetooth on sisse lülitatud, saab seade suhelda teiste lähikonna Bluetooth-seadmetega"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kui Bluetooth on sisse lülitatud, saab teie seade suhelda teiste läheduses olevate Bluetooth-seadmetega.\n\nSeadme kasutuskogemuse täiustamiseks saavad rakendused ja teenused endiselt igal ajal otsida läheduses olevaid seadmeid isegi siis, kui Bluetooth on välja lülitatud. Seda saab kasutada näiteks asukohapõhiste funktsioonide ja teenuste täiustamiseks. Saate seda muuta Bluetoothi skannimise seadetes."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Muutke"</string>
<string name="device_details_title" msgid="1155622417516195481">"Seadme üksikasjad"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Luba ART silutavate rakenduste baidikoodi kinnitamiseks"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Kuva värskendussagedus"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Kuva ekraani praegune värskendussagedus"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Kuva HDR-/SDR-suhe"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Kuva praegune HDR-/SDR-suhe"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Nõua NFC puhul seadme avamist"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Jätka rakenduste kasutamist voldituna"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Suurendab teatud sisu puhul värskendamissagedust automaatselt kuni <xliff:g id="ID_1">%1$d</xliff:g> hertsini. Akukasutus suureneb."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Jõusta kõrgeim värskendamissagedus"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Kõrgeim värskendamissagedus täiustab puutetundlikkust ja pakub sujuvamaid animatsioone. Akukasutus suureneb."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Ekraanivaatamise tuvastus"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Ühised seaded"</string>
<string name="apn_settings" msgid="4295467389400441299">"Pääsupunktid (APN-id)"</string>
<string name="apn_edit" msgid="2003683641840248741">"Pääsupunkti muutmine"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Pääsupunkti lisamine"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Määramata"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Määramata"</string>
<string name="apn_name" msgid="6677695784108157953">"Nimi"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Avamiseks juurdepääsetavuse nupu kasutamine"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Avamiseks hoidke helitugevuse klahve all"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Avamiseks puudutage ekraani kolm korda"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Avamiseks ekraani kahe sõrmega kolmekordne puudutamine"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Kasutage avamiseks liigutust"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Juurdepääsuliigutuse kasutamine"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Selle funktsiooni kasutamiseks puudutage ekraanikuva allosas juurdepääsetavuse nuppu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nFunktsioonide vahel vahetamiseks puudutage juurdepääsetavuse nuppu pikalt."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Selle funktsiooni kasutamiseks puudutage ekraanikuval juurdepääsetavuse nuppu."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Selle funktsiooni kasutamiseks vajutage pikalt mõlemat helitugevuse klahvi."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Suurenduse käivitamiseks ja peatamiseks puudutage ekraani kolm korda."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Suurenduse käivitamiseks ja peatamiseks puudutage ekraani kahe sõrmega kolm korda."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Selle funktsiooni kasutamiseks pühkige ekraanikuva allosast kahe sõrmega üles.\n\nFunktsioonide vahel vahetamiseks pühkige kahe sõrmega üles ja hoidke sõrmi ekraanil."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Selle funktsiooni kasutamiseks pühkige ekraanikuva allosast kolme sõrmega üles.\n\nFunktsioonide vahel vahetamiseks pühkige kolme sõrmega üles ja hoidke sõrmi ekraanil."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Juurdepääsufunktsiooni kasutamiseks pühkige ekraanikuva allosast kahe sõrmega üles.\n\nFunktsioonide vahel vahetamiseks pühkige kahe sõrmega üles ja hoidke sõrmi ekraanil."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Helitugevuse klahvide allhoidmine"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"helitugevuse klahvide allhoidmine"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Hoidke all mõlemat helitugevuse klahvi"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Ekraani kahe sõrmega kolmekordne puudutamine"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ekraani kahe sõrmega kolmekordne puudutamine"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Puudutage kahe sõrmega hetkeks ekraani {0,number,integer} korda"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekraani kolmikpuudutamine"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ekraani kolmikpuudutamine"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Puudutage ekraani kiiresti {0,number,integer} korda. See otsetee võib teie seadme tööd aeglustada."</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"See saab jälgida teie suhtlust rakenduse või riistvaraanduriga ja teie eest rakendustega suhelda."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Luba"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Keela"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Peata"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Tühista"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Kas peatan teenuse <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Nupu <xliff:g id="STOP">%1$s</xliff:g> puudutamisel teenus <xliff:g id="SERVICE">%2$s</xliff:g> peatatakse."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ühtki teenust pole installitud"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ükski teenus ei ole valitud"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Kirjeldust ei ole sisestatud."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Kui piirate rakenduse tegevust taustal, võib rakendus toimida valesti."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Kuna rak. pole aku optimeerimine seadistatud, ei saa te seda piirata.\n\nRak. piiramiseks lülit. esmalt sisse aku optimeerimine."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Akukasutuse haldamine"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Taustal kasutamise lubamine"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Lubage, et saada reaalajas värskendusi. Keelake, et säästa akut."</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Piiranguteta"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimeeritud"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Piiratud"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nimi"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tüüp"</string>
<string name="vpn_server" msgid="2908816134941973935">"Serveri aadress"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP krüpteerimine (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP saladus"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSeci tunnus"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSeci eeljagatud võti"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSeci kasutaja sertifikaat"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSeci CA-sertifikaat"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Serveri IPSeci sertifikaat"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Kuva täpsemad valikud"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-i otsingudomeenid"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-serverid (nt 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Edastamismarsruudid (nt 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Kasutajanimi"</string>
<string name="vpn_password" msgid="1183746907642628127">"Parool"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Salvesta kontoteave"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ei kasutata)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ära kinnita serverit)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(serverist saadud)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Seda tüüpi VPN ei saa olla alati ühendatud"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Alati sisselülitatud VPN toetab ainult numbritest koosnevaid serveriaadresse"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Alati sisselülitatud VPN-i puhul peab olema määratud DNS-server"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Alati sisselülitatud VPN-i puhul peab DNS-serveri aadress koosnema numbritest"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Sisestatud teave ei toeta alati sisselülitatud VPN-i"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Tühista"</string>
<string name="vpn_done" msgid="5137858784289564985">"Loobu"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN-ita ühenduste blokeerimine"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Kas vajate VPN-i ühendust?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Pole turvaline. Värskendage versioonile IKEv2 VPN."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Valige VPN-i profiil, millega olla alati ühendatud. Võrguliiklus on lubatud ainult siis, kui olete ühendatud selle VPN-iga."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Puudub"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Alati sees VPN-i jaoks on vaja IP-aadressi nii serverile kui ka DNS-ile."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Kuva kogu märguande sisu"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Kuva tundlik sisu ainult avatuna"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ära kuva märguandeid üldse"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kuidas soovite lukustuskuva kuvada?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Mida soovite oma lukustuskuval näha?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lukustuskuva"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Kuva tööprofiili märguannete kogu sisu"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Peida tundlik töösisu"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Luba juurdepääs kõikide failide haldamisele"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Sellel rakendusel lubatakse lugeda, muuta ja kustutada kõiki selles seadmes ning ühendatud andmekandjatel olevaid faile. Loa andmisel võib rakendus failidele juurde pääseda ilma teie teadmata."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Pääseb failidele juurde"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Häälaktiveeritavad rakendused"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Luba häälaktiveerimine"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Häälega aktiveerimine lülitab sisse kinnitatud rakendused, vabakäerežiimi ja häälkäskluste kasutamise. Sisseehitatud kohanduv tuvastamine tagab, et andmed jäävad teie jaoks privaatseks.\n\n"<a href="">"Lisateave turvalise kohanduva tuvastamise kohta"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Kogu ekraani katvad märguanded"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Luba selle rakenduse kogu ekraani katvad märguanded"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Lubage sellel rakendusel kuvada kogu ekraani katvaid märguandeid, kui seade on lukustatud. Rakendused võivad selle abil tõsta esile alarme, sissetulevaid kõnesid või muid pakilisi märguandeid."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> kasutas taustal tavapärasest rohkem akut"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> kasutas esiplaanil rohkem akut"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> kasutas esiplaanil tavapärasest rohkem akut"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Akukasutuse anomaalia"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Suur akukasutus"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Suur akukasutus taustal"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Suur akukasutus esiplaanil"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"süsteemis navigeerimine, kahe nupuga navigeerimine, kolme nupuga navigeerimine, liigutustega navigeerimine, pühkimine"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitaalne assistent"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Assistendi käivitamiseks pühkimine"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Pühkige ekraanikuva alanurgast üles, et digitaalse assistendi rakendus käivitada."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Pühkige ekraanikuva alanurgast üles, et digitaalse assistendi rakendus käivitada"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistendi kasutamiseks nupu Avakuva allhoidmine"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Vajutage avakuva nuppu pikalt, et digitaalse assistendi rakendus käivitada."</string>
<string name="low_label" msgid="6525629096999711220">"Väike"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Grammatilise soo valimine"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Petturlike rakenduste skannimine"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Rakenduse tegevuste kontrollimine andmepüügi suhtes"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Skannimise kasutamine"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Töörakenduste puhul skannimise kasutamine"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Kasuta petturlike rakenduste tuvastamiseks skannimist"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Kasuta tööl petturlike rakenduste tuvastamiseks skannimist"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 8d5ba3c..4596104 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -112,7 +112,7 @@
<string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Utzi"</string>
<string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Desgaitu Kontsumo txikiko Bluetooth bidezko audioa"</string>
<string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Kontsumo txikiko Bluetooth bidezko audioa darabilten hardware-gaitasunak gailuarekin bateragarriak badira, Kontsumo txikiko Bluetooth bidezko audioa eginbidea desgaitzen du."</string>
- <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Erakutsi kontsumo txikiko Bluetooth bidezko audioaren etengailua gailuaren xehetasunetan"</string>
+ <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Erakutsi kontsumo txikiko audioaren etengailua gailuaren xehetasunetan"</string>
<string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Ez aplikatu kontsumo txikiko Bluetooth bidezko audioaren baimendutakoen zerrenda"</string>
<string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Erabili kontsumo txikiko audioa modu lehenetsian, hura darabilen gailu periferikoak baimendutakoen zerrendako irizpideak betetzen dituen egiaztatu ez bada ere."</string>
<string name="connected_device_media_device_title" msgid="3783388247594566734">"Multimedia-gailuak"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Arkatza"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Audioa partekatzea"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Partekatu audioa"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Deiak eta alarmak"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Konektatu kontsumo txikiko zuzeneko audio-igorpen batera"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Inguruko zuzeneko audio-igorpenak"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Zuzeneko audio-igorpenak"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Konektatu zuzeneko audio-igorpen batera QR kodea erabilita"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Ez da aurkitu zuzeneko audio-igorpenik."</string>
<string name="date_and_time" msgid="1788358029823431692">"Data eta ordua"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxya"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Garbitu"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Laneko profila"</string>
<string name="private_space_title" msgid="7078627930195569767">"Eremu pribatua"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Ezkutatu aplikazioak karpeta pribatu batean"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Desblokeatu pantailaren blokeoaren bidez"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Ezkutatu aplikazioak zeuk bakarrik atzi dezakezun karpeta pribatu batean"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Eremu pribatuaren blokeoa"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Gailua desblokeatzeko darabilzun modu berarekin desblokea dezakezu eremu pribatua. Bestela, aukeratu beste blokeo bat."</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Erabili gailuaren pantailaren blokeoa"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Aurpegiaren eta hatz-markaren bidez desblokeatzeko eginbidea"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Konfiguratzeko, sakatu hau"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Gailuaren pantailaren blokeo bera"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Eremu pribatua blokeatzeko modua aldatu nahi duzu?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Ezkutatu blokeatuta dagoenean"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Ezkutatu Eremu pribatua blokeatuta dagoenean"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Inork jakin ez dezan gailuan Eremu pribatua daukazula, aplikazio-zerrendatik ezkuta dezakezu"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Atzitu Eremu pribatua ezkutatuta dagoenean ere"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Bilatu \"Eremu pribatua\" bilaketa-barran"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Sakatu eremu pribatuaren lauza"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Desblokeatu Eremu pribatua"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desaktibatuta"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Aktibatuta"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Sortu eremu pribatua"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Ezabatu eremu pribatua"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Sortu da eremu pribatua"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Badago eremu pribatua"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Ezin izan da sortu eremu pribatua"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Ezabatu da eremu pribatua"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Ezin izan da ezabatu eremu pribatua"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Ezarri pantailaren blokeoa"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Eremu pribatua erabiltzeko, ezarri pantaila blokeatzeko aukera bat gailuan."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Ezarri pantailaren blokeoa"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Utzi"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Utzi"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Konfiguratu"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Konfiguratu Eremu pribatua"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Ezkutatu aplikazio pribatuak eremu seguru batean, zuk soilik atzitu ahal izateko"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Nola funtzionatzen du?"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Eremu pribatua aplikazio-zerrendaren behealdetik atzi dezakezu"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Eremu pribatuko aplikazioak blokeo bidez babesten dira"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Eremu pribatua blokeatuta badago, hango aplikazioen jakinarazpenak ezkutatzen dira"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Eremu pribatua blokeatuta badago, hango aplikazioak ez dira agertuko baimenen kudeatzailean, pribatutasun-panelean eta beste ezarpenetan"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Eremu pribatua konfiguratzen…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Eremu pribatuko aplikazioei buruzko erabilera-informazioa ezkutatuta dago eremu pribatua blokeatuta dagoenean"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Atzitu eremu pribatua aplikazioen zerrendatik"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Ezin izan da konfiguratu eremu pribatua"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Saiatu berriro edo itzuli geroago"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Saiatu berriro"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Pantailaren blokeoa erabili desblokeatzeko?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Gailua desblokeatzeko darabilzun modu berarekin desblokea dezakezu eremu pribatua. Bestela, aukeratu beste blokeo bat."</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Erabili pantailaren blokeoa"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Aukeratu beste blokeo bat"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Dena prest!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Eginda"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Egin behera eremu pribatua atzitzeko"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Eremu pribatua konfiguratzeko, hasi saioa"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Eremu pribatua konfiguratu ahal izateko, kontu batekin hasi behar duzu saioa"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Eremu pribatua erakusteko (ez da azken bertsioa)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Ireki Ezarpenak aplikazioa"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Sakatu Segurtasuna eta pribatutasuna > Eremu pribatua > Ezkutatu Eremu pribatua blokeatuta dagoenean"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Eremu pribatua blokeatuta dagoenean desaktibatzeko aukera"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google-ko langileentzako oharra: eginbide hau garatzen ari da oraindik"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"<xliff:g id="COUNT">%d</xliff:g> hartz-marka gehi ditzakezu gehienez"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Iritsi zara onartzen den gehieneko hatz-marka kopurura"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Ezin duzu gehitu beste hatz-markarik"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Konektatu"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Deskonektatu"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Parekatu eta konektatu"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetootha aktibatuta badago, inguruko Bluetooth bidezko gailuekin komunika daiteke gailua."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetootha aktibatuta badago, inguruko Bluetooth bidezko gailuekin komunika daiteke gailua"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetootha aktibatuta dagoenean, inguruan dauden Bluetooth bidezko beste gailu batzuekin komunika daiteke gailua.\n\nGailuaren erabilera hobetzeko, aplikazioek eta zerbitzuek inguruko gailuak bilatzen jarraituko dute Bluetootha desaktibatuta badago ere. Besteak beste, kokapenean oinarritutako eginbideak eta zerbitzuak hobetzeko erabil daiteke aukera hori. Aldatzeko, joan Bluetooth bidezko bilaketaren ezarpenetara."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Aldatu"</string>
<string name="device_details_title" msgid="1155622417516195481">"Gailuaren xehetasunak"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Eman aratz daitezkeen aplikazioen byte-kodea egiaztatzeko baimena ART egiaztatzaileari"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Erakutsi freskatze-abiadura"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Erakutsi pantailaren freskatze-abiadura"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Erakutsi HDR/SDR erlazioa"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Erakutsi oraingo HDR/SDR erlazioa"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFCa"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Behartu gailua desblokeatzera NFCa erabiltzeko"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Jarraitu aplikazioak erabiltzen gailua tolestuta egon bitartean"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Zenbait edukiren freskatze-abiadura <xliff:g id="ID_1">%1$d</xliff:g> Hz-eraino igotzen du automatikoki. Bateria gehiago erabiltzen du."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Erabili gehieneko freskatze-abiadura"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Freskatze-abiadura handiena, ukipenei erantzuteko gaitasuna eta animazioen kalitatea hobetzeko. Bateria gehiago erabiltzen du."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Pantaila kontzientea"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Ezarpen komunak"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNak"</string>
<string name="apn_edit" msgid="2003683641840248741">"Editatu sarbide-puntua"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Gehitu sarbide-puntu bat"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Ezarri gabe"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ez da ezarri"</string>
<string name="apn_name" msgid="6677695784108157953">"Izena"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Erabili Erabilerraztasuna botoia irekitzeko"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Irekitzeko, eduki sakatuta bolumen-botoiak"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Irekitzeko, sakatu pantaila hiru aldiz"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Irekitzeko, sakatu pantaila 3 aldiz 2 hatzekin"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Erabili keinua irekitzeko"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Erabili erabilerraztasun-keinua"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Eginbide hau erabiltzeko, sakatu pantailaren behealdeko <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> Erabilerraztasuna botoia.\n\nEginbide batetik bestera aldatzeko, eduki sakatuta Erabilerraztasuna botoia."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Eginbide hau erabiltzeko, sakatu pantailako Erabilerraztasuna botoia."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Eginbide hau erabiltzeko, eduki sakatuta bi bolumen-botoiak."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Luparen eginbidea abiarazteko eta gelditzeko, sakatu hiru aldiz pantailako edozein puntu."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Luparen eginbidea abiarazteko eta gelditzeko, sakatu 3 aldiz pantailako edozein puntu 2 hatzekin."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Eginbide hau erabiltzeko, pasatu bi hatz pantailaren behealdetik gorantz.\n\nEginbide batetik bestera aldatzeko, pasatu bi hatz gorantz eta eduki pantaila sakatuta."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Eginbide hau erabiltzeko, pasatu hiru hatz pantailaren behealdetik gorantz.\n\nEginbide batetik bestera aldatzeko, pasatu hiru hatz gorantz eta eduki pantaila sakatuta."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Erabilerraztasun-eginbide bat erabiltzeko, pasatu bi hatz pantailaren behealdetik gorantz.\n\nEginbide batetik bestera aldatzeko, pasatu bi hatz gorantz eta eduki pantaila sakatuta."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Eduki sakatuta bolumen-botoiak"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"eduki sakatuta bolumen-botoiak"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Eduki sakatuta bolumen-botoiak"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Sakatu pantaila 3 aldiz 2 hatzekin"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"sakatu pantaila 3 aldiz 2 hatzekin"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Sakatu bizkor pantaila {0,number,integer} aldiz 2 hatzekin"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Sakatu pantaila hiru aldiz"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"sakatu pantaila hiru aldiz"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Sakatu pantaila bizkor {0,number,integer} aldiz. Baliteke lasterbide honek gailua moteltzea."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Aplikazioekin edo hardware-sentsoreekin dituzun interakzioen jarraipena egin dezake, eta zure izenean beste aplikazio batzuekin interakzioan jardun."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Baimendu"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Ukatu"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Gelditu"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Utzi"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> gelditu?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> sakatuz gero, <xliff:g id="SERVICE">%2$s</xliff:g> gelditu egingo da."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ez dago zerbitzurik instalatuta"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ez da hautatu zerbitzurik"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Ez da azalpenik eman."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Aplikazio baten atzeko planoko jarduerak mugatzen badituzu, baliteke aplikazioak behar bezala ez funtzionatzea"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Aplikazio hau bateria optimizatzeko konfiguratuta ez dagoenez, ezin duzu mugatu.\n\nMugatzeko, aktibatu bateriaren optimizazioa."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Kudeatu bateria-erabilera"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Eman atzeko planoan erabiltzeko baimena"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Gaitu denbora errealeko berritasunak jasotzeko eta desgaitu bateria aurrezteko"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Mugagabea"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizatua"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Mugatua"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Izena"</string>
<string name="vpn_type" msgid="5533202873260826663">"Mota"</string>
<string name="vpn_server" msgid="2908816134941973935">"Zerbitzariaren helbidea"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP enkriptatzea (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP sekretua"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifikatzailea"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec aurrez partekatutako gakoa"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec erabiltzaile-ziurtagiria"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Autoritate ziurtagiri-emaile batek jaulkitako IPSec ziurtagiria"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec zerbitzari-ziurtagiria"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Erakutsi aukera aurreratuak"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS bilaketa-domeinuak"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS zerbitzariak (adibidez, 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Desbideratze-ibilbideak (adibidez, 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Erabiltzaile-izena"</string>
<string name="vpn_password" msgid="1183746907642628127">"Pasahitza"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Gorde kontuari buruzko informazioa"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ez da erabiltzen)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ez egiaztatu zerbitzaria)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(zerbitzaritik jasoa)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Mota honetako VPN sareek ezin dute egon konektatuta beti"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Beti aktibatuta dagoen VPN sareak zenbakizko zerbitzari-helbideak soilik onartzen ditu"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Beti aktibatuta dagoen VPN sarearen DNS zerbitzaria zehaztu egin behar da"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS zerbitzariaren helbideak zenbakizkoa izan behar du beti aktibatuta dagoen VPN sarerako"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Egindako aukerarekin ezin da erabili beti aktibatuta dagoen VPNa"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Utzi"</string>
<string name="vpn_done" msgid="5137858784289564985">"Baztertu"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blokeatu VPNrik gabeko konexioak"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN konexioak erabiltzera derrigortu?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ez da segurua. Eguneratu IKEv2 motako VPN batera."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Hautatu beti konektatuta egoteko VPN profila. VPN horrekin konektatuta zaudenean soilik onartuko da sare-trafikoa."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Bat ere ez"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Beti aktibatutako VPNa izateko, IP helbidea izan behar dute zerbitzariak nahiz DNSak."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Erakutsi jakinarazpenen eduki osoa"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Erakutsi kontuzko edukia pantaila desblokeatuta dagoenean soilik"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ez erakutsi jakinarazpenik"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Nola nahi duzu pantaila blokeatua bistaratzea?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Zer nahi duzu agertzea pantaila blokeatuan?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Pantaila blokeatua"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Erakutsi eduki guztia laneko jakinarazpenetan"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ezkutatu laneko kontuzko informazioa"</string>
@@ -3472,7 +3453,7 @@
<string name="interact_across_profiles_summary_allowed" msgid="1365881452153799092">"Konektatuta"</string>
<string name="interact_across_profiles_summary_not_allowed" msgid="5802674212788171790">"Konektatu gabe"</string>
<string name="interact_across_profiles_empty_text" msgid="419061031064397168">"Ez dago aplikaziorik konektatuta"</string>
- <string name="interact_across_profiles_keywords" msgid="5996472773111665049">"gurutzatu profila konektatutako aplikazioak laneko aplikazioa eta aplikazio pertsonala"</string>
+ <string name="interact_across_profiles_keywords" msgid="5996472773111665049">"profilartekoa konektatutako aplikazioak laneko aplikazioa eta aplikazio pertsonala"</string>
<string name="interact_across_profiles_switch_enabled" msgid="7294719120282287495">"Konektatuta"</string>
<string name="interact_across_profiles_switch_disabled" msgid="4312196170211463988">"Konektatu aplikazioak"</string>
<string name="interact_across_profiles_summary_1" msgid="6093976896137600231">"Konektatutako aplikazioek baimenak partekatzen dituzte eta batak bestearen datuak atzitu ahal dituzte."</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Eman fitxategi guztiak kudeatzeko baimena"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Eman gailuko edo konektatutako biltegiratze-unitateetako fitxategiak irakurtzeko, aldatzeko eta ezabatzeko baimena aplikazioari. Baimena emanez gero, baliteke aplikazioak fitxategiak atzitzea zuk jakin ez arren."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Fitxategi guztiak atzi ditzake"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Ahots bidez aktibatzen diren aplikazioak"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Eman ahots bidezko aktibazioa erabiltzeko baimena"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Ahots bidezko aktibazioarekin, onartutako aplikazioak aktibatzen dira eskurik erabili gabe, ahozko aginduen bidez. Hautemate egokitu integratuari esker, zuk bakarrik atzitu ahal izango dituzu datuak.\n\n"<a href="">"Hautemate egokitu babestuari buruzko informazio gehiago"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Pantaila osoko jakinarazpenak"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Eman pantaila osoko jakinarazpenak erakusteko baimena aplikazioari"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Eman gailua blokeatuta dagoenean pantaila osoa hartzen duten jakinarazpenak erakusteko baimena aplikazioari. Alarmen, sarrerako deien edo bestelako premiazko jakinarazpenen berri emateko erabil dezakete aplikazioek."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> aplikazioak ohi baino bateria gehiago erabili du atzeko planoan"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> aplikazioak bateria gehiago erabili du aurreko planoan"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> aplikazioak ohi baino bateria gehiago erabili du aurreko planoan"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia bat dago bateria-erabileran"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Bateriaren erabilera handia"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Bateriaren atzeko planoko erabilera handia"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Bateriaren aurreko planoko erabilera handia"</string>
@@ -4081,7 +4066,7 @@
<string name="managed_profile_settings_title" msgid="3400923723423564217">"Laneko profilaren ezarpenak"</string>
<string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Bilatu laneko kontaktuak aplikazio pertsonaletan"</string>
<string name="managed_profile_contact_search_summary" msgid="4974727886709219105">"IKT saileko administratzailea bilaketak eta sarrerako deiak ikusteko gai izango da, agian"</string>
- <string name="cross_profile_calendar_title" msgid="7570277841490216947">"Profilekin sinkronizatutako egutegia"</string>
+ <string name="cross_profile_calendar_title" msgid="7570277841490216947">"Profilarteko egutegia"</string>
<string name="cross_profile_calendar_summary" msgid="8856185206722860069">"Erakutsi laneko gertaerak egutegi pertsonalean"</string>
<string name="managed_profile_settings_footer" msgid="996500759305118103">"Laneko aplikazioak desaktibatuta daudenean, pausatuta daude. Gainera, ezin dira atzitu, eta ez duzu jasoko haien jakinarazpenik."</string>
<string name="automatic_storage_manager_settings" msgid="519158151463974656">"Kudeatu memoria"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"sisteman nabigatzeko modua, sistemako nabigazioa, bi botoiko nabigazioa, hiru botoiko nabigazioa, keinu bidezko nabigazioa"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Laguntzaile digitala"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Laguntzaile digitala abiarazteko, pasatu hatza"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Laguntzaile digitalaren aplikazioa abiarazteko, pasatu hatza beheko izkina batetik gora."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Laguntzaile digitalaren aplikazioa abiarazteko, pasatu hatza beheko ertz batetik gora"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Laguntzailea abiarazteko, eduki sakatuta Hasiera"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Laguntzaile digitalaren aplikazioari deitzeko, eduki sakatuta Hasiera botoia"</string>
<string name="low_label" msgid="6525629096999711220">"Txikia"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Hautatu genero gramatikala"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Azpikeriazko aplikazioak bilatzea"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Bilatu phishinga aplikazioetako jardueretan"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Aztertu"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Aztertu laneko aplikazioak"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Erabili azpikeriazko aplikazioak bilatzeko aukera"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Erabili laneko aplikazioen artean azpikeriazko aplikazioak bilatzeko aukera"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 9195019..17845db 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"قلم"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"همرسانی صدا"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"همرسانی صدا"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"تماسها و زنگهای هشدار"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"اتصال به جاریسازی صوتی کممصرف"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"جاریسازیهای صوتی اطراف"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"جاریسازیهای صوتی"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"اتصال به جاریسازی صوتی با رمزینه پاسخسریع"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"هیچ جاریسازی صوتی در اطراف پیدا نشد."</string>
<string name="date_and_time" msgid="1788358029823431692">"تاریخ و زمان"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"پروکسی"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"پاک کردن"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"نمایه کاری"</string>
<string name="private_space_title" msgid="7078627930195569767">"فضای خصوصی"</string>
<string name="private_space_summary" msgid="8237652417163408001">"پنهان کردن برنامهها در پوشه خصوصی"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"باز کردن قفل بااستفاده از قفل صفحه"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"پنهان کردن برنامهها در پوشهای خصوصی که فقط شما به آن دسترسی دارید"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"قفل «فضای خصوصی»"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"میتوانید با همان روشی که قفل دستگاهتان را باز میکنید قفل «فضای خصوصی» را باز کنید، یا اینکه قفل دیگری انتخاب کنید"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"استفاده از قفل صفحه دستگاه"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"قفلگشایی با اثر انگشت و چهره"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"برای راهاندازی ضربه بزنید"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"یکسان با قفل صفحه دستگاه"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"میخواهید قفل جدیدی برای «فضای خصوصی» انتخاب کنید؟"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"پنهان کردن هنگام قفل بودن"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"پنهان کردن «فضای خصوصی» هنگام قفل بودن"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"برای اینکه دیگران متوجه نشوند «فضای خصوصی» در دستگاهتان روشن است، میتوانید آن را از فهرست برنامهها پنهان کنید"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"دسترسی به «فضای خصوصی» هنگام پنهان بودن"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"در نوار جستجو، «فضای خصوصی» را جستجو کنید"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"روی کاشی «فضای خصوصی» ضربه بزنید"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"قفل «فضای خصوصی» را باز کنید"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"خاموش"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"روشن"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"سیستم"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"ایجاد «فضای خصوصی»"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"حذف «فضای خصوصی»"</string>
- <string name="private_space_created" msgid="2978055968937762232">"«فضای خصوصی» باموفقیت ایجاد شد"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"«فضای خصوصی» ازقبل وجود دارد"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"«فضای خصوصی» ایجاد نشد"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"«فضای خصوصی» باموفقیت حذف شد"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"«فضای خصوصی» حذف نشد"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"قفل صفحه تنظیم کنید"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"برای استفاده از «فضای خصوصی»، قفل صفحه در این دستگاه تنظیم کنید."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"تنظیم قفل صفحه"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"لغو کردن"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"لغو کردن"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"راهاندازی"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"راهاندازی «فضای خصوصی»"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"برنامههای خصوصی را در فضای امنی که فقط خودتان میتوانید به آن دسترسی داشته باشید پنهان کنید"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"سازوکار عمل"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"میتوانید از پایین فهرست برنامهها به «فضای خصوصی» دسترسی پیدا کنید"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"از برنامههای موجود در «فضای خصوصی» با یک قفل محافظت میشود"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"اعلان برنامههای موجود در «فضای خصوصی» هنگام قفل بودن آن پنهان میشوند"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"درصورت قفل بودن «فضای خصوصی»، برنامههای «فضای خصوصی» در مدیر اجازهها، داشبورد حریم خصوصی، و دیگر تنظیمات نشان داده نخواهد شد"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"درحال راهاندازی «فضای خصوصی»…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"اطلاعات استفاده برای برنامههای «فضای خصوصی» هنگام قفل بودن آن پنهان میشود"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"دسترسی به «فضای خصوصی» از فهرست برنامهها"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"برخیاز برنامههای سیستم ازقبل در «فضای خصوصی» نصب شدهاند"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"«فضای خصوصی» راهاندازی نشد"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"اکنون دوباره امتحان کنید یا بعداً برگردید"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"امتحان مجدد"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"از قفل صفحه برای باز کردن قفل استفاده شود؟"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"میتوانید با همان روشی که قفل دستگاهتان را باز میکنید قفل «فضای خصوصی» را باز کنید یا قفل دیگری انتخاب کنید"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"استفاده از قفل صفحه"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"انتخاب قفل جدید"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"همه چیز آماده است!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"میتوانید از فهرست برنامههایتان به «فضای خصوصی» دسترسی داشته باشید"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"تمام"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"برای دسترسی به «فضای خصوصی»، به پایین پیمایش کنید"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"برای راهاندازی «فضای خصوصی» به سیستم وارد شوید"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"برای راهاندازی «فضای خصوصی»، باید با حسابی به سیستم وارد شوید"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"برای نمایش «فضای خصوصی» (تجربه کاربری نهایی نیست)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"برنامه «تنظیمات» را باز کنید"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"روی «امنیت و حریم خصوصی > فضای خصوصی > پنهان کردن فضای خصوصی هنگام قفل بودن» ضربه بزنید"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"کلید «پنهان کردن فضای خصوصی هنگام قفل بودن» را خاموش کنید"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"یادداشت برای کارمندان Google: توسعه این ویژگی هنوز درحال انجام است"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"میتوانید حداکثر <xliff:g id="COUNT">%d</xliff:g> اثرانگشت اضافه کنید"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"حداکثر تعداد اثرانگشت را اضافه کردهاید"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"نمیتوانید اثرانگشتهای بیشتری اضافه کنید"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"اتصال"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"قطع اتصال"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"مرتبطسازی و اتصال"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"با بلوتوث روشن، دستگاهتان میتواند با دستگاههای بلوتوث اطراف در ارتباط باشد."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"با بلوتوث روشن، دستگاهتان میتواند با دستگاههای بلوتوث اطراف در ارتباط باشد"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"وقتی بلوتوث روشن است، دستگاهتان میتواند با دیگر دستگاههای بلوتوث اطراف ارتباط برقرار کند.\n\nبرای بهبود تجربه استفاده از دستگاه، برنامهها و سرویسها همچنان میتوانند در هرزمانی دستگاههای اطراف را اسکن کنند، حتی وقتی بلوتوث خاموش باشد. برای مثال، از این ویژگی میتوان برای بهبود ویژگیها و سرویسهای مکانمبنا استفاده کرد. میتوانید این ویژگی را در تنظیمات اسکن دستگاههای بلوتوث تغییر دهید."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"تغییر"</string>
<string name="device_details_title" msgid="1155622417516195481">"جزئیات دستگاه"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"به ART برای تأیید بایتکد برنامههای اشکالزدا اجازه داده شود"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"نمایش نرخ بازآوری"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"نمایش نرخ فعلی بازآوری نمایشگر"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"نمایش نسبت HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"نمایش نسبت فعلی HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"برای استفاده از NFC، باید قفل دستگاه باز باشد"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"ادامه دادن به استفاده از برنامهها درحالت تاخوردگی"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"نمایشگر روان"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"بهطور خودکار نرخ بازآوری را برای بعضی محتوا تا <xliff:g id="ID_1">%1$d</xliff:g> هرتز بالا میبرد. مصرف باتری را افزایش میدهد."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"اعمال بالاترین نرخ بازآوری"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"بالاترین نرخ بازآوری برای پاسخگویی بهبودیافته لمس و کیفیت پویانمایی. مصرف باتری را افزایش میدهد."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"توجه به صفحه"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"تنظیمات عمومی"</string>
<string name="apn_settings" msgid="4295467389400441299">"نامهای نقاط دستیابی"</string>
<string name="apn_edit" msgid="2003683641840248741">"ویرایش نقطه دستیابی"</string>
+ <string name="apn_add" msgid="9069613192201630934">"افزودن نقطه دسترسی"</string>
<string name="apn_not_set" msgid="8246646433109750293">"تنظیم نشده است"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"تنظیمنشده"</string>
<string name="apn_name" msgid="6677695784108157953">"نام"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"استفاده از دکمه دسترسپذیری برای باز کردن"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"نگهداشتن کلیدهای میزان صدا برای باز کردن"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"برای باز کردن، روی صفحهنمایش سه ضربه سریع بزنید"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"برای باز شدن، سه ضربه با دو انگشت رو صفحهنمایش بزنید"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"استفاده از اشاره برای باز کردن"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"استفاده از اشاره دسترسپذیری"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"برای استفاده از این ویژگی، روی دکمه دسترسپذیری <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> در پایین صفحه ضربه بزنید.\n\nبرای جابهجایی بین ویژگیها، دکمه دسترسپذیری را لمس کنید و نگه دارید."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"برای استفاده از این ویژگی، روی دکمه دسترسپذیری در صفحهنمایش ضربه بزنید."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"برای استفاده از این ویژگی، هر دو کلید میزان صدا را فشار دهید و نگه دارید."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"برای راهاندازی یا متوقف کردن درشتنمایی، روی جایی از صفحهنمایش سه ضربه بزنید."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"برای راهاندازی یا متوقف کردن درشتنمایی، روی جایی از صفحهنمایش با دو انگشت سه ضربه بزنید."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"برای استفاده از این ویژگی، با ۲ انگشت از پایین صفحه تند بهبالا بکشید.\n\nبرای جابهجایی بین ویژگیها، با ۲ انگشت تند بهبالا بکشید و نگه دارید."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"برای استفاده از این ویژگی، با ۳ انگشت از پایین صفحه تند بهبالا بکشید.\n\nبرای جابهجایی بین ویژگیها، با ۳ انگشت تند بهبالا بکشید و نگه دارید."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"برای استفاده از ویژگی دسترسپذیری، با ۲ انگشت از پایین صفحه تند بهبالا بکشید.\n\nبرای جابهجایی بین ویژگیها، با ۲ انگشت تند بهبالا بکشید و نگه دارید."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"نگهداشتن کلیدهای میزان صدا"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"نگه داشتن کلیدهای میزان صدا"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"هردو کلید میزان صدا را فشار دهید و نگه دارید"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"سه ضربه با دو انگشت روی صفحه"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"سه ضربه با دو انگشت روی صفحه"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"با دو انگشت {0,number,integer} بار بهسرعت روی صفحه ضربه بزنید"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"روی صفحهنمایش سه ضربه سریع بزنید"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"سه ضربه سریع روی صفحه"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"سریع روی صفحهنمایش {0,number,integer} بار ضربه بزنید. ممکن است این میانبر سرعت دستگاه را کاهش دهد"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"این عملکرد میتواند با برنامه یا حسگری سختافزاری تعاملاتتان را ردیابی کند و ازطرف شما با برنامهها تعامل داشته باشد."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"اجازه دادن"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"مجاز نبودن"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"متوقف کردن"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"لغو"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"«<xliff:g id="SERVICE">%1$s</xliff:g>» متوقف شود؟"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"با زدن روی «<xliff:g id="STOP">%1$s</xliff:g>»، «<xliff:g id="SERVICE">%2$s</xliff:g>» متوقف میشود."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"سرویسی نصب نشده است"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"سرویسی انتخاب نشده است"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"شرحی ارائه نشده است."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"محدود کردن فعالیت پسزمینه برای برنامه ممکن است باعث عملکرد نادرست آن شود."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"از آنجا که این برنامه برای بهینه کردن باتری تنظیم نشده است، نمیتوانید آن را محدود کنید.\n\nبرای محدود کردن برنامه، ابتدا بهینهسازی باتری را روشن کنید."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"مدیریت مصرف باتری"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"مجاز کردن مصرف در پسزمینه"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"فعال کردن برای بهروزرسانیهای همزمان، غیرفعال کردن برای صرفهجویی در باتری"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"نامحدود"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"بهینهسازیشده"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"محدودشده"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"نام"</string>
<string name="vpn_type" msgid="5533202873260826663">"نوع"</string>
<string name="vpn_server" msgid="2908816134941973935">"آدرس سرور"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"رمزگذاری PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"مورد محرمانه L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"شناسه IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"کلید IPSec از پیش مشترک شده"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"گواهی کاربر IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"گواهی IPSec CA"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"گواهی سرور IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"نمایش گزینههای پیشرفته"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"دامنههای جستجوی DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"سرور DNS (بهعنوان مثال 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"مسیرهای هدایت (مانند 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"نام کاربری"</string>
<string name="vpn_password" msgid="1183746907642628127">"گذرواژه"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"ذخیره اطلاعات حساب"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(استفاده نشده)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(سرور تأیید نشود)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(دریافت شده از سرور)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"این نوع VPN نمیتواند همیشه متصل بماند"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN همیشهروشن فقط از سرورهای با نشانی عددی پشتیبانی میکند"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"سرور DNS مربوط به VPN همیشهروشن باید مشخص شده باشد"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"نشانیهای سرور DNS مربوط به VPN همیشهروشن باید عددی باشند"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"اطلاعات واردشده از VPN همیشهروشن پشتیبانی نمیکند"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"لغو"</string>
<string name="vpn_done" msgid="5137858784289564985">"رد کردن"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"اتصالات مسدودشده بدون VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"به اتصال VPN نیاز است؟"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"امن نیست. به IKEv2 VPN بهروزرسانی کنید"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"یک نمایه VPN انتخاب کنید تا همیشه متصل بمانید. فقط درصورتیکه به این VPN متصل باشید ترافیک شبکه مجاز خواهد بود."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"خالی"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN همیشهفعال به نشانی IP برای DNS و سرور نیاز دارد."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"نمایش همه محتوای اعلان"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"نمایش محتوای حساس فقط درصورت باز بودن قفل صفحه"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"هرگز اعلان نشان داده نشود"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"میخواهید صفحه قفل چطور نمایش داده شود؟"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"میخواهید در صفحه قفل چه چیزی نشان داده شود؟"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"صفحه قفل"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"نمایش همه محتوای اعلان کاری"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"پنهان کردن محتوای کاری حساس"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"دسترسی دادن برای مدیریت همه فایلها"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"به این برنامه اجازه میدهد همه فایلهای موجود در این دستگاه یا فضاهای ذخیرهسازی متصلشده به آن را بخواند، تغییر دهد، و حذف کند. اگر این مجوز به برنامه داده شود، ممکن است بدون اطلاع صریح شما به فایلها دسترسی یابد."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"میتوانند به همه فایلها دسترسی داشته باشند"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"برنامههای دارای فعالسازی صوتی"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"مجاز کردن فعالسازی صوتی"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"فعالسازی صوتی برنامههای تأییدشده را بهصورت دستآزاد و بااستفاده از فرمان صوتی فعال میکند. حسگر تطبیقی داخلی اطمینان حاصل میکند که دادهها محرمانه میماند و فقط برای شما قابلنمایش است.\n\n"<a href="">"اطلاعات بیشتر درباره حسگر تطبیقی محافظتشده"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"اعلانهای تمامصفحه"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"اجازه دادن به اعلانهای تمامصفحه از این برنامه"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"به این برنامه اجازه میدهد وقتی دستگاه قفل است، اعلانها را روی کل صفحه نشان دهد. برنامهها ممکن است از این قابلیت برای برجسته کردن هشدارها، تماس ورودی، یا دیگر اعلانهای فوری استفاده کنند."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> در مدتی که در پسزمینه بود بیشتر از حالت معمول باتری مصرف کرد"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> در مدتی که در پیشزمینه بود باتری بیشتری مصرف کرد"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> در مدتی که در پیشزمینه بود بیشتر از حالت معمول باتری مصرف کرد"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ناهنجاری در مصرف باتری"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"مصرف بالای باتری"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"مصرف بالای باتری در پسزمینه"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"مصرف بالای باتری در پیشزمینه"</string>
@@ -4056,7 +4039,7 @@
<string name="keywords_long_background_tasks" msgid="5788956269136054574">"کارهای طولانی، انتقال داده، کارهای پسزمینه"</string>
<string name="reset_shortcut_manager_throttling" msgid="2183940254903144298">"بازنشانی محدودکننده سرعت ShortcutManager"</string>
<string name="reset_shortcut_manager_throttling_complete" msgid="8949943009096885470">"محدودکننده سرعت ShortcutManager بازنشانی شد"</string>
- <string name="notification_suggestion_title" msgid="6309263655965785411">"کنترل اطلاعات روی صفحه قفل"</string>
+ <string name="notification_suggestion_title" msgid="6309263655965785411">"کنترل بافت صفحه قفل"</string>
<string name="notification_suggestion_summary" msgid="7615611244249276113">"نمایش یا پنهان کردن محتوای اعلان"</string>
<string name="page_tab_title_support" msgid="3235725053332345773">"نکتهها و پشتیبانی"</string>
<string name="developer_smallest_width" msgid="632354817870920911">"کوچکترین عرض"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"پیمایش سیستمی، پیمایش ۲دکمهای، پیمایش ۳ دکمهای، پیمایش اشارهای، تند کشیدن"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"دستیار دیجیتالی"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"تند کشیدن برای فراخواندن دستیار"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"برای فراخواندن برنامه دستیار دیجیتالی، از پایین تند بهبالا بکشید."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"برای فراخواندن برنامه دستیار دیجیتالی، از گوشه پایین تند بهبالا بکشید"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"نگه داشتن کلید «صفحه اصلی» برای فراخواندن «دستیار»"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"برای فراخواندن برنامه دستیار دیجیتالی، دکمه «صفحه اصلی» را فشار دهید و نگه دارید."</string>
<string name="low_label" msgid="6525629096999711220">"کم"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"انتخاب جنسیت دستوری"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"اسکن برای یافتن برنامههای گمراهکننده"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"بررسی فعالیت برنامه ازنظر رمزگیری"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"استفاده از اسکن"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"استفاده از اسکن برای برنامههای کاری"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"استفاده از «اسکن برای یافتن برنامههای گمراهکننده»"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"استفاده از «اسکن برای یافتن برنامههای گمراهکننده در نمایه کاری»"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index c29ff7d..88ab715 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Näyttökynä"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Audion jakaminen"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Audion jakaminen"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Puhelut ja hälytykset"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Yhdistä LE Audio ‑striimiin"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Lähellä olevat audiostriimit"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audiostriimit"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Yhdistä audostriimiin QR-koodilla"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Audiostriimejä ei löytynyt lähistöltä."</string>
<string name="date_and_time" msgid="1788358029823431692">"Päivämäärä ja aika"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Välityspalvelin"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Tyhjennä"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Työprofiili"</string>
<string name="private_space_title" msgid="7078627930195569767">"Yksityinen tila"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Piilota sovellukset yksityiseen kansioon"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Avaaminen näytön lukituksella"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Piilota sovellukset yksityiseen kansioon, johon vain sinulla on pääsy"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Yksityisen tilan lukitus"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Voit avata yksityisen tilan lukituksen samaan tapaan kuin avaat laitteen lukituksen tai voit valita eri lukon"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Käytä laitteen näytön lukitusta"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Kasvojentunnistus- ja sormenjälkiavaus"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Ota käyttöön napauttamalla"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Sama kuin laitteen näytön lukitus"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Valitaanko yksityiselle tilalle uusi lukitus?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Piilottaminen lukittuna"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Yksityisen tilan piilottaminen, kun se on lukittuna"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Piilota yksityinen tila piilottamalla se sovelluslistalta"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Pääsy yksityiseen tilaan, kun se on piilotettuna"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Hae hakukentästä \"Yksityinen tila\""</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Napauta Yksityinen tila ‑laattaa"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Avaa yksityisen tilan lukitus"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Pois päältä"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Päällä"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Järjestelmä"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Yksityisen tilan luominen"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Yksityisen tilan poistaminen"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Yksityinen tila luotu"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Yksityinen tila on jo olemassa"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Yksityistä tilaa ei voitu luoda"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Yksityinen tila poistettu"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Yksityistä tilaa ei voitu poistaa"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Näytön lukituksen asettaminen"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Jos haluat käyttää yksityistä tilaa, aseta näytön lukitus."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Aseta näytön lukitus"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Peruuta"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Peruuta"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Ota käyttöön"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Yksityisen tilan ottaminen käyttöön"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Piilota suojatun tilan yksityiset sovellukset, joihin vain sinulla on pääsy"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Näin se toimii"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Saat pääsyn yksityiseen tilaan sovelluslistan alareunasta"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Yksityisen tilan sovelluksia suojataan lukolla"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Ilmoitukset yksityisen tilan sovelluksista ovat piilotettuina, kun se on lukittu"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Yksityisen tilan sovellukset eivät näy lupienhallinnassa, yksityisyydenhallintapaneelissa tai muissa asetuksissa, kun yksityinen tila on lukittuna"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Yksityistä tilaa otetaan käyttöön…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Yksityisen tilan sovellusten käyttötiedot piilotetaan, kun se on lukittu"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Yksityisen tilan käyttö sovelluslistalta"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Yksityisen tilan käyttöönotto epäonnistui"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Yritä uudelleen nyt tai palaa myöhemmin"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Yritä uudelleen"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Käytetäänkö avaamiseen näytön lukitusta?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Voit avata yksityisen tilan lukituksen samaan tapaan kuin avaat laitteen lukituksen tai voit valita eri lukon"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Käytä näytön lukitusta"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Valitse uusi lukko"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Valmis"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Valmis"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Vieritä alas käyttääksesi yksityistä tilaa"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Kirjaudu sisään, niin voit ottaa yksityisen tilan käyttöön"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Sinun täytyy kirjautua tilille, jotta voit ottaa yksityisen tilan käyttöön"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Näyttääksesi Yksityisen tilan (ei lopullinen UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Avaa Asetukset-sovellus"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Valitse Turvallisuus ja yksityisyys > Yksityinen tila > Yksityisen tilan piilottaminen, kun se on lukittuna"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"\"Yksityisen tilan piilottaminen, kun se on lukittuna\" pois"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Huomautus Googlen työntekijöille: Tämän ominaisuuden kehitys on kesken."</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Voit lisätä korkeintaan <xliff:g id="COUNT">%d</xliff:g> sormenjälkeä"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Et voi lisätä useampia sormenjälkiä."</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Enempää sormenjälkiä ei voi lisätä."</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Yhdistä"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Katkaise yhteys"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Muodosta laitepari ja yhdistä"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kun Bluetooth on käytössä, laite voi viestiä lähiympäristön Bluetooth-laitteiden kanssa."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kun Bluetooth on päällä, laite voi viestiä muiden lähellä olevien Bluetooth-laitteiden kanssa"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kun Bluetooth on käytössä, laitteesi voi kommunikoida muiden lähellä olevien Bluetooth-laitteiden kanssa.\n\nKun Bluetooth on poissa käytöstä, sovellukset ja palvelut voivat silti hakea lähellä olevia laitteita käyttökokemuksen parantamiseksi. Näin voidaan esimerkiksi kehittää sijaintiin perustuvia ominaisuuksia ja palveluita. Voit muuttaa tätä Bluetooth-haun asetuksissa."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Muuta"</string>
<string name="device_details_title" msgid="1155622417516195481">"Laitteen tiedot"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Salli ART vahvistaaksesi korjattavien sovellusten tavukoodi"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Näytä päivitysväli"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Näytä nykyisen näytön päivitysväli"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Näytä HDR-/SDR-suhde"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Näytä tämänhetkinen HDR-/SDR-suhde"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Vaadi laitteen lukituksen avaamista NFC:n käyttämiseksi"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Jatka sovellusten käyttöä taitetussa tilassa"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Nostaa tietyn sisällön päivittymistiheyden automaattisesti <xliff:g id="ID_1">%1$d</xliff:g> hertsiin. Lisää akun käyttöä."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Pakota suurin mahdollinen päivitysväli"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Korkein päivitysväli parantaa kosketukseen vastaamista ja animaatioiden laatua. Lisää akun käyttöä."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Huomionäyttö"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Yhteiskäytön asetukset"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN:t"</string>
<string name="apn_edit" msgid="2003683641840248741">"Muokkaa tukiasemaa"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Lisää tukiasema"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Ei asetettu"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ei valittu"</string>
<string name="apn_name" msgid="6677695784108157953">"Nimi"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Avaa saavutettavuuspainikkeella"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Avaa painamalla äänenvoimakkuuspainikkeita"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Avaa kolmoisnapauttamalla näyttöä"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Avaa napauttamalla näyttöä kolmesti kahdella sormella"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Avaa eleellä"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Käytä esteettömyyselettä"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Laita ominaisuus päälle napauttamalla näytön alareunassa olevaa esteettömyyspainiketta <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nVaihda ominaisuudesta toiseen painamalla esteettömyyspainiketta pitkään."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Ota ominaisuus käyttöön napauttamalla näytöllä näkyvää saavutettavuuspainiketta."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Laita tämä ominaisuus päälle painamalla pitkään molempia äänenvoimakkuuspainikkeita."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Aloita tai lopeta suurennus kolmoisnapauttamalla missä vain näytöllä."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Aloita tai lopeta suurennus kolmoisnapauttamalla kahdella sormella missä tahansa näytöllä."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Laita ominaisuus päälle pyyhkäisemällä näytön alalaidasta ylös kahdella sormella.\n\nVaihda ominaisuudesta toiseen pyyhkäisemällä ylös kahdella sormella ja koskettamalla pitkään."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Laita ominaisuus päälle pyyhkäisemällä näytön alalaidasta ylös kolmella sormella.\n\nVaihda ominaisuudesta toiseen pyyhkäisemällä ylös kolmella sormella ja koskettamalla pitkään."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Laita esteettömyysominaisuus päälle pyyhkäisemällä näytön alalaidasta ylös kahdella sormella.\n\nVaihda ominaisuudesta toiseen pyyhkäisemällä ylös kahdella sormella ja koskettamalla pitkään."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Paina äänenvoimakkuuspainikkeita pitkään"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"paina äänenvoimakkuuspainikkeita pitkään"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Paina molempia äänenvoimakkuuspainikkeita pitkään"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Kolmoisnapauta näyttöä kahdella sormella"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"kolmoisnapauta näyttöä kahdella sormella"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Napauta näyttöä {0,number,integer} kertaa nopeasti kahdella sormella"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Kolmoisnapauta näyttöä"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"kolmoisnapauta näyttöä"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Napauta näyttöä nopeasti {0,number,integer} kertaa. Tämän pikanäppäimen käyttö voi hidastaa laitettasi."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Se voi seurata toimintaasi sovelluksella tai laitteistoanturilla ja käyttää sovelluksia puolestasi."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Salli"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Estä"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Lopeta"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Peru"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Pysäytetäänkö <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Kun valitset <xliff:g id="STOP">%1$s</xliff:g>, <xliff:g id="SERVICE">%2$s</xliff:g> pysähtyy."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ei asennettuja palveluita"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Palvelua ei ole valittuna"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Ei kuvausta."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Jos rajoitat sovelluksen toimintaa taustalla, se voi alkaa toimia virheellisesti."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Sovellusta ei voi rajoittaa, koska akun optimointi ei ole käytössä.\n\nOta optimointi käyttöön rajoittamista varten."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Rajaa akunkäyttöä"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Salli käyttö taustalla"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Ota käyttöön reaaliaikaisille päivityksille, poista käytöstä akun säästämiseksi"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Ei rajoituksia"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimoitu"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Rajoitettu"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nimi"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tyyppi"</string>
<string name="vpn_server" msgid="2908816134941973935">"Palvelimen osoite"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP-salaus (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-salaisuus"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-tunnus"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Esijaettu IPSec-avain"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-käyttäjävarmenne"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec-CA-varmenne"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-palvelinvarmenne"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Näytä lisäasetukset"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Nimipalveluhaun verkkotunnukset"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-palvelimet (esim. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Reititykset (esim. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Käyttäjätunnus"</string>
<string name="vpn_password" msgid="1183746907642628127">"Salasana"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Tallenna tilitiedot"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ei käytössä)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(älä vahvista palvelinta)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(palvelimelta saatu)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Tämä VPN-tyyppi ei voi ylläpitää yhteyttä kaikissa tilanteissa."</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Aina käytössä oleva VPN-yhteys tukee vain numeromuotoisia palvelinosoitteita."</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Aina käytössä olevaa VPN-yhteyttä varten täytyy määrittää DNS-palvelin."</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Aina käytössä oleva VPN-yhteys edellyttää, että DNS-palvelimien osoitteet ovat numeromuodossa."</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Annetut tiedot eivät ole yhteensopivia aina käytössä olevan VPN-yhteyden kanssa."</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Peru"</string>
<string name="vpn_done" msgid="5137858784289564985">"Hylkää"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Estä yhteydet, jotka eivät käytä VPN:ää"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Vaaditaanko VPN-yhteyttä?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ei turvallinen. Päivitä IKEv2 VPN:ään"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Valitse VPN-profiili, johon muodostettu yhteys on aina käytössä. Verkkoliikenne sallitaan vain tämän VPN-yhteyden ollessa käytössä."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"-"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Aina käytössä oleva VPN edellyttää, että sekä palvelimella että DNS-palvelulla on IP-osoite."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Näytä ilmoitusten koko sisältö"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Näytä arkaluontoinen sisältö, jos lukitus avattu"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Älä näytä ilmoituksia ollenkaan"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Miten haluat lukitusnäytön näkyvän?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Mitä haluat lukitusnäytön näyttävän?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lukitusnäyttö"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Näytä kaikki työilmoitussisältö"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Piilota arkaluontoinen työsisältö"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Salli pääsy tiedostojen ylläpitoa varten"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Salli sovelluksen lukea, muokata ja poistaa kaikkia tiedostoja tällä laitteella ja yhdistetyillä tallennuslaitteilla. Jos sallit tämän, sovelluksella on pääsy tiedostoihin ilman, että sinulle ilmoitetaan asiasta erikseen."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Voi päästä kaikkiin tiedostoihin"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Puheaktivointisovellukset"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Salli puheaktivointi"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Puheaktivoinnilla voit laittaa hyväksyttyjä sovelluksia päälle ääniohjatusti. Sisäänrakennettu mukautuva tunnistus varmistaa, että datasi pysyy yksityisenä.\n\n"<a href="">"Lisätietoa suojatusta ja mukautuvasta tunnistuksesta"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Koko näytön ilmoitukset"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Salli sovelluksen lähettää koko näytön ilmoituksia"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Salli sovelluksen näyttää koko näytön ilmoituksia, kun laite on lukittu. Sovellukset voivat käyttää tällaisia ilmoituksia hälytyksistä, saapuvista puheluista tai muista tärkeistä asioista ilmoittamiseen."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> käytti tavallista enemmän akkua taustalla"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> käytti enemmän akkua etualalla"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> käytti tavallista enemmän akkua etualalla"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Akun käytön poikkeama"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Korkea akun käyttö"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Korkea akun käyttö taustalla"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Korkea akun käyttö etualalla"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"järjestelmän navigointi, kahden painikkeen navigointi, kolmen painikkeen navigointi, eleillä navigointi, pyyhkäisy"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digiavustaja"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Käynnistä avustaja pyyhkäisemällä"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Käynnistä digiavustajasovellus pyyhkäisemällä alakulmasta ylöspäin."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Käynnistä digiavustajasovellus pyyhkäisemällä alakulmasta ylöspäin"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Käynnistä Assistant painamalla aloitusnäyttöpainiketta"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Käynnistä digiavustaja painamalla aloitusnäyttöpainiketta pitkään."</string>
<string name="low_label" msgid="6525629096999711220">"Matala"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Valitse kieliopillinen suku"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Tarkistetaan löytyykö petollisia sovelluksia"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Tarkista sovellustoiminta tietojenkalastelun osalta"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Käytä tarkistusta"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Käytä tarkistusta työsovelluksiin"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Käytä tarkistusta petollisten sovellusten havaitsemiseen"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Käytä tarkistusta petollisten työsovellusten havaitsemiseen"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 97b5ca7..09a1aaa 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -100,7 +100,7 @@
<string name="bluetooth_connection_permission_request" msgid="8793131019383198861">"Demande de connexion Bluetooth"</string>
<string name="bluetooth_phonebook_request" msgid="1085102844577089889">"Demande d\'accès au répertoire téléphonique"</string>
<string name="bluetooth_map_request" msgid="8664081227240707479">"Demande d\'accès aux messages"</string>
- <string name="bluetooth_device_name_summary" msgid="8678342689845439583">"Visible comme « <xliff:g id="DEVICE_NAME">^1</xliff:g> » aux autres appareils"</string>
+ <string name="bluetooth_device_name_summary" msgid="8678342689845439583">"Visible en tant que « <xliff:g id="DEVICE_NAME">^1</xliff:g> » pour les autres appareils"</string>
<string name="bluetooth_off_footer" msgid="76578735660216295">"Activez le Bluetooth pour vous connecter à d\'autres appareils."</string>
<string name="bluetooth_paired_device_title" msgid="3240639218362342026">"Vos appareils"</string>
<string name="bluetooth_pairing_page_title" msgid="3403981358823707692">"Associer un autre appareil"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylet"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Partage du son"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Partager le son"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Appels et alarmes"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Se connecter à un flux LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Flux audio à proximité"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Flux audio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connectez-vous à un flux audio à l\'aide d\'un code QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Aucun flux audio trouvé à proximité."</string>
<string name="date_and_time" msgid="1788358029823431692">"Date et heure"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Serveur mandataire"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Effacer"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Profil professionnel"</string>
<string name="private_space_title" msgid="7078627930195569767">"Espace privé"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Masquer des applications dans un dossier privé"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Déverrouiller avec le Verrouillage de l\'écran"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Masquer des applications dans un dossier privé auquel vous seul pouvez avoir accès"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Verrouillage de l\'Espace privé"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Vous pouvez déverrouiller l\'Espace privé de la même manière que votre appareil ou choisir un autre type de verrou"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Utiliser le verrouillage de l\'écran de l\'appareil"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Déverrouil. par reconnaissance faciale et empreinte digitale"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toucher pour configurer"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Identique au verrouillage de l\'écran de l\'appareil"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Choisir un nouveau verrou pour l\'Espace privé?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Masquer lorsque verrouillé"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Masquer l\'Espace privé lorsqu\'il est verrouillé"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Masquez l\'Espace privé dans votre liste d\'applications pour préserver votre confidentialité"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Accéder à l\'Espace privé lorsqu\'il est masqué"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Recherchez « Espace privé » dans la barre de recherche"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Touchez la tuile Espace privé"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Déverrouillez votre Espace privé"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Désactivé"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Activé"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Système"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Créer un espace privé"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Supprimer l\'espace privé"</string>
- <string name="private_space_created" msgid="2978055968937762232">"L\'espace privé a bien été créé"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"L\'espace privé existe déjà"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Impossible de créer un espace privé"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"L\'espace privé a bien été supprimé"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Impossible de supprimer l\'espace privé"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Définir Verrouillage d\'écran"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Réglez le Verrouillage d\'écran pour utiliser l\'espace privé."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Définir Verrouillage d\'écran"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Annuler"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Annuler"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Configuration"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Configurer l\'Espace privé"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Masquez les applications privées dans un espace sécurisé dont l\'accès vous est réservé"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Fonctionnement"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Vous pouvez accéder à l\'Espace privé en bas de votre liste d\'applications"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Les applications de l\'Espace privé sont protégées par un verrou"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Les notifications des applications de l\'Espace privé sont masquées lorsqu\'il est verrouillé"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Les applications de l\'Espace privé ne figureront pas dans le gestionnaire des autorisations, dans le Tableau de bord de confidentialité ni dans d\'autres paramètres lorsque l\'Espace privé est verrouillé"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Configuration de l\'Espace privé en cours…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Les informations d\'utilisation des applications de l\'Espace privé sont masquées lorsque celui-ci est verrouillé"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Accéder à l\'Espace privé à partir de votre liste d\'applis"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Impossible de configurer l\'Espace privé"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Réessayez maintenant ou revenez plus tard"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Réessayer"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Utiliser Verrouillage d\'écran pour déverrouiller?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Vous pouvez déverrouiller l\'Espace privé de la même manière que votre appareil ou choisir un autre type de verrou"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Utiliser le Verrouillage d\'écran"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Sélectionner un nouveau verrou"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Tout est prêt!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Terminé"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Faire défiler vers le bas pour accéder à l\'Espace privé"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Se connecter pour créer un Espace privé"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Vous devez vous connecter à un compte pour configurer l\'Espace privé"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Pour afficher l\'Espace privé (version non finale de l\'EU)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Ouvrez l\'application Paramètres"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Touchez Sécurité et confidentialité > Espace privé > Masquer l\'Espace privé lorsqu\'il est verrouillé"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Désactiver Masquer l\'Espace privé lorsqu\'il est verrouillé"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Note pour les employés de Google : Le développement de cette fonctionnalité est toujours en cours"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Vous pouvez ajouter jusqu\'à <xliff:g id="COUNT">%d</xliff:g> empreintes digitales"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Vous avez ajouté le nombre maximal d\'empreintes digitales"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Impossible d\'ajouter des empreintes digitales"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connexion"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Déconnecter"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Associer et connecter"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Si la fonctionnalité Bluetooth est activée, l\'appareil peut communiquer avec les autres appareils Bluetooth à proximité."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Si la fonctionnalité Bluetooth est activée, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Lorsque le Bluetooth est activé, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité.\n\nPour améliorer l\'expérience d\'utilisation de l\'appareil, les applications et les services peuvent continuer de rechercher les appareils à proximité en tout temps, même si le Bluetooth est désactivé. Cette autorisation peut permettre, par exemple, d\'améliorer les fonctionnalités et les services reposant sur la localisation. Vous pouvez modifier cette option dans les paramètres de recherche Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Modifier"</string>
<string name="device_details_title" msgid="1155622417516195481">"Détails de l\'appareil"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Autoriser ART à vérifier le code à octets pour les applications débogables"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Afficher le taux d\'actualisation"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Affichez le taux d\'actualisation actuel"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Afficher le rapport HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Afficher le rapport HDR/SDR actuel"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"CCP"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Déverrouillage de l\'appareil requis pour utiliser la fonctionnalité CCP"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuer à utiliser les applications lorsque l\'appareil est plié"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Affichage fluide"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Augmente automatiquement la fréquence d\'actualisation jusqu\'à <xliff:g id="ID_1">%1$d</xliff:g> Hz pour certains contenus. Augmente l\'utilisation de la pile."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forcer la fréquence d\'actualisation de pointe"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Taux d\'actualisation supérieur pour une amélioration de la réactivité tactile et de la fluidité des animations. Cette fonction sollicite davantage la pile de l\'appareil."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Écran attentif"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Paramètres communs"</string>
<string name="apn_settings" msgid="4295467389400441299">"Noms des points d\'accès"</string>
<string name="apn_edit" msgid="2003683641840248741">"Modifier le point d\'accès"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Ajouter un point d\'accès"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Non défini"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Non configuré"</string>
<string name="apn_name" msgid="6677695784108157953">"Nom"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Utiliser le bouton d\'accessibilité pour ouvrir"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Maintenez les touches de volume enfoncées pour l\'ouvrir"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Touchez l\'écran trois fois pour l\'ouvrir"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Ouvrir en touchant l\'écran trois fois avec deux doigts"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utiliser un geste pour activer le service"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Utiliser le geste d\'accessibilité"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Pour utiliser cette fonctionnalité, touchez le bouton d\'accessibilité <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> dans le bas de l\'écran.\n\nPour basculer entre les fonctionnalités, maintenez le doigt sur le bouton d\'accessibilité."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Pour utiliser cette fonctionnalité, touchez le bouton d\'accessibilité sur votre écran."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Pour utiliser cette fonctionnalité, maintenez les deux touches de volume enfoncées."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Pour démarrer et arrêter l\'agrandissement, touchez l\'écran trois fois n\'importe où."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Pour démarrer et arrêter l\'Agrandissement, touchez l\'écran trois fois avec deux doigts."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Pour utiliser cette fonctionnalité, balayez l\'écran de bas en haut avec deux doigts.\n\nPour basculer entre les fonctionnalités, balayez l\'écran vers le haut avec deux doigts et maintenez la pression."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Pour utiliser cette fonctionnalité, balayez l\'écran de bas en haut avec trois doigts.\n\nPour basculer entre les fonctionnalités, balayez l\'écran vers le haut avec trois doigts et maintenez-les-y."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Pour utiliser une fonctionnalité d\'accessibilité, balayez l\'écran de bas en haut avec deux doigts.\n\nPour basculer entre les fonctionnalités, balayez l\'écran vers le haut avec deux doigts et maintenez-la pression."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Maintenir enfoncées les touches de volume"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"maintenir enfoncées les touches de volume"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Maintenez enfoncées les deux touches de volume"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Toucher l\'écran trois fois avec deux doigts"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"toucher l\'écran trois fois avec deux doigts"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Touchez rapidement l\'écran {0,number,integer} fois avec deux doigts"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Toucher l\'écran trois fois"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"toucher l\'écran trois fois"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Touchez rapidement l\'écran {0,number,integer} fois. Ce raccourci peut ralentir votre appareil"</string>
@@ -2074,7 +2058,7 @@
<string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Interrupteur pour raccrocher"</string>
<string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Grand curseur de souris"</string>
<string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Mettez en évidence le pointeur de la souris"</string>
- <string name="accessibility_disable_animations" msgid="2993529829457179058">"Supprimer les animations"</string>
+ <string name="accessibility_disable_animations" msgid="2993529829457179058">"Retirer les animations"</string>
<string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Réduisez les mouvements sur l\'écran"</string>
<string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Audio mono"</string>
<string name="accessibility_toggle_primary_mono_summary" msgid="1935283927319407303">"Combiner les chaînes lors de la lecture audio"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Cette fonctionnalité peut faire le suivi de vos interactions avec une application ou un capteur matériel et interagir avec des applications en votre nom."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Autoriser"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Refuser"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Arrêter"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Annuler"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Arrêter <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Touchez <xliff:g id="STOP">%1$s</xliff:g> pour arrêter le service <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Aucun service installé"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Aucun service sélectionné"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Aucune description fournie"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si vous limitez l\'activité en arrière-plan d\'une application, cela peut provoquer un fonctionnement instable"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Comme cette appli n\'est pas config. pour optim. la pile, vous ne pouvez pas la restr.\n\nPour la restr., activez l\'optim. de pile."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gérer l\'utilisation de la pile"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Autoriser l\'utilisation en arrière-plan"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Activez-la pour obtenir des mises à jour en temps réel; désactivez-la pour prolonger l\'autonomie de la pile"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Aucune restriction"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimisée"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Limitée"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nom"</string>
<string name="vpn_type" msgid="5533202873260826663">"Type"</string>
<string name="vpn_server" msgid="2908816134941973935">"Adresse du serveur"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Chiffrement PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Secret L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identifiant IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Clé pré-partagée IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificat utilisateur IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificat d\'autorité IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificat de serveur IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Afficher les options avancées"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domaines de recherche DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Serveurs DNS (p. ex. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Itinéraires transfert (p. ex. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nom d\'utilisateur"</string>
<string name="vpn_password" msgid="1183746907642628127">"Mot de passe"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Enregistrer les informations de compte"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(non utilisé)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne pas valider le serveur)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(certificat reçu du serveur)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ce type de RPV ne peut pas rester connecté en permanence"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Le RPV permanent n\'accepte que les adresses de serveur en format numérique"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Un serveur DNS doit être spécifié pour le RPV permanent"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Les adresses de serveur DNS doivent être numériques pour le RPV permanent"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Les données entrées ne sont pas compatibles avec le RPV permanent"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Annuler"</string>
<string name="vpn_done" msgid="5137858784289564985">"Ignorer"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Bloquer les connexions sans RPV"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Exiger une connexion RPV?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Pas sécuritaire. Passez à un RPV de type IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Sélectionnez un profil RPV auquel rester connecté en permanence. Le trafic réseau ne sera autorisé que lorsque vous serez connecté à ce RPV."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Aucun"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Le RPV permanent nécessite une adresse IP pour le serveur et le DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Afficher tout le contenu des notifications"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"N\'afficher le contenu sensible que si l\'appareil est déverrouillé"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"N\'afficher aucune notification"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Que souhaitez-vous afficher sur l\'écran de verrouillage?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Que souhaitez-vous voir sur votre écran de verrouillage?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Écran de verrouillage"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Afficher tout le contenu des notif. professionn."</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Masquez le contenu professionnel sensible"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Autorisez l\'accès pour gérer tous les fichiers"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Autoriser cette application à lire, à modifier et à supprimer tous les fichiers qui se trouvent sur cet appareil ou sur des volumes de stockage connectés. Si vous accordez cette autorisation, l\'application pourra accéder à des fichiers sans que vous le sachiez."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Peuvent accéder à tous les fichiers"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Applications activées par la voix"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permettre l\'activation vocale"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"L\'activation vocale permet d\'activer les applications approuvées, en mains libres, par commande vocale. La détection adaptative intégrée garantit que les données restent confidentielles pour vous seul.\n\n"<a href="">"En savoir plus sur la détection adaptative protégée"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Notifications en plein écran"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Autoriser les notifications en plein écran de cette application"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Autoriser cette application à afficher des notifications en plein écran lorsque l\'appareil est verrouillé. Les applications peuvent s\'en servir pour mettre en évidence des alarmes, des appels entrants ou d\'autres notifications urgentes."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a utilisé plus d\'énergie de la pile que d\'habitude en arrière-plan"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a utilisé plus d\'énergie de la pile en avant-plan"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a utilisé plus d\'énergie de la pile que d\'habitude en avant-plan"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalie relative à l\'utilisation de la pile"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Utilisation élevée de la pile"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Utilisation élevée de la pile en arrière-plan"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Utilisation élevée de la pile en avant-plan"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navigation système, navigation à deux boutons, navigation à trois boutons, navigation par gestes, balayer"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistant numérique"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Balayer l\'écran pour appeler l\'assistant"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Pour lancer l\'application de l\'assistant numérique, balayez l\'écran vers le haut à partir d\'un coin inférieur."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Pour lancer l\'application de l\'assistant numérique, balayez l\'écran vers le haut à partir d\'un coin inférieur"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Maintenir le doigt sur Accueil pour utiliser l\'Assistant"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Maintenez la touche d\'accueil enfoncée pour invoquer l\'application d\'assistant numérique."</string>
<string name="low_label" msgid="6525629096999711220">"Faible"</string>
@@ -4754,7 +4739,7 @@
<string name="app_info_all_services_label" msgid="1487070364839071105">"Tous les services"</string>
<string name="show_clip_access_notification" msgid="7782300987639778542">"Afficher l\'accès au presse-papiers"</string>
<string name="show_clip_access_notification_summary" msgid="474090757777203207">"Un message s\'affiche lorsque les applications accèdent à du texte, à des images ou à d\'autres contenus que vous avez copiés"</string>
- <string name="all_apps" msgid="3054120149509114789">"Toutes les applications"</string>
+ <string name="all_apps" msgid="3054120149509114789">"Toutes les applis"</string>
<string name="request_manage_bluetooth_permission_dont_allow" msgid="8798061333407581300">"Ne pas autoriser"</string>
<string name="uwb_settings_title" msgid="8578498712312002231">"Bande ultralarge (BUL)"</string>
<string name="uwb_settings_summary" msgid="3074271396764672268">"Aide à déterminer la position relative des appareils à proximité qui utilisent la connectivité à bande ultralarge"</string>
@@ -4888,7 +4873,7 @@
<string name="aspect_ratio_main_summary" msgid="4141964559612756940">"Essayez d\'autres proportions pour afficher cette application si elle n\'a pas été conçue pour s\'adapter à votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Il se peut que certaines applications ne soient pas optimisées pour certaines proportions."</string>
<string name="aspect_ratio_summary_text" msgid="4737461467467220325">"Essayez d\'autres proportions pour afficher une application si elle n\'a pas été conçue pour s\'adapter à votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
<string name="aspect_ratio_main_summary_text" msgid="5544816872094235840">"Essayez d\'autres proportions pour afficher une application si elle n\'a pas été conçue pour s\'adapter à votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Il se peut que certaines applications ne soient pas optimisées pour certaines proportions."</string>
- <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Applications suggérées"</string>
+ <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Applis suggérées"</string>
<string name="user_aspect_ratio_changed_apps_label" msgid="2096614916172567672">"Applis modif."</string>
<string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Application par défaut"</string>
<string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Plein écran"</string>
@@ -4958,9 +4943,9 @@
<string name="grammatical_gender_title" msgid="8584242850477270828">"Genre grammatical"</string>
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Sélectionnez un genre grammatical"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Analyse d\'applications trompeuses"</string>
- <string name="content_protection_preference_summary" msgid="2252393849408445391">"Vérifier l\'activité des applications pour détecter les tentatives d\'hameçonnage"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Activer l\'analyse"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Activer l\'analyse pour les applications professionnelles"</string>
+ <string name="content_protection_preference_summary" msgid="2252393849408445391">"Vérifiez l\'activité des applications pour détecter les tentatives d\'hameçonnage"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Utiliser l\'analyse des applications trompeuses"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Utiliser l\'analyse des applications trompeuses pour le travail"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 3ff2cb9..c67c630 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -43,11 +43,11 @@
<string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Réduire"</string>
<string name="font_size_make_larger_desc" msgid="5583046033381722247">"Agrandir"</string>
<string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Toujours"</string>
- <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"L\'écran avant s\'allume lorsque vous pliez votre appareil"</string>
+ <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"L\'écran frontal s\'allume lorsque vous pliez votre appareil"</string>
<string name="selective_stay_awake_title" msgid="7887645333447645168">"Seulement pour les jeux, les vidéos et autres"</string>
- <string name="selective_stay_awake_summary" msgid="9055967322921984543">"L\'écran avant s\'allume pour les applis qui empêchent la mise en veille de l\'écran"</string>
+ <string name="selective_stay_awake_summary" msgid="9055967322921984543">"L\'écran frontal s\'allume pour les applis qui empêchent la mise en veille de l\'écran"</string>
<string name="sleep_on_fold_title" msgid="7626123024330501411">"Jamais"</string>
- <string name="sleep_on_fold_summary" msgid="7737992842459588846">"L\'écran avant se verrouille lorsque vous pliez votre appareil"</string>
+ <string name="sleep_on_fold_summary" msgid="7737992842459588846">"L\'écran frontal se verrouille lorsque vous pliez votre appareil"</string>
<string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Utiliser la rotation automatique"</string>
<string name="smart_rotate_text_headline" msgid="5878008933992951904">"La détection de visages utilise la caméra avant pour améliorer la précision de la rotation automatique. Les images ne sont jamais stockées ni envoyées à Google."</string>
<string name="bluetooth" msgid="8898478620943459654">"Bluetooth"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylet"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Partage du contenu audio"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Partager le contenu audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Appels et alarmes"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Connecter à un flux LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Flux audio à proximité"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Flux audio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connecter à un flux audio à l\'aide d\'un code QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Aucun flux audio n\'a été détecté"</string>
<string name="date_and_time" msgid="1788358029823431692">"Date et heure"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Effacer"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Profil professionnel"</string>
<string name="private_space_title" msgid="7078627930195569767">"Espace privé"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Cachez vos applications dans un dossier privé"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Déverrouiller avec le verrouillage de l\'écran"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Cacher les applications dans un dossier privé auquel vous seul avez accès"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Verrouillage d\'Espace privé"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Vous pouvez déverrouiller Espace privé de la même manière que vous déverrouillez votre appareil ou bien choisir un verrouillage différent."</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Utiliser le verrouillage de l\'écran de l\'appareil"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Déverrouillage par reconnaissance faciale/empreinte digitale"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Appuyez pour configurer"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Comme pour verrouiller l\'écran de l\'appareil"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Choisir un nouveau verrouillage d\'Espace privé ?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Masquer lorsque l\'application est verrouillée"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Masquer Espace privé lorsque l\'application est verrouillée"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Vous pouvez masquer Espace privé de votre liste d\'applis pour éviter les regards indiscrets"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Accéder à Espace privé lorsque l\'application est masquée"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Rechercher \"Private Space\" dans la barre de recherche"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Appuyer sur le bloc Espace privé"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Déverrouiller votre Espace privé"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Désactivé"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Activé"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Système"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Créer un espace privé"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Supprimer l\'espace privé"</string>
- <string name="private_space_created" msgid="2978055968937762232">"L\'espace privé a bien été créé"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"L\'espace privé existe déjà"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Impossible de créer l\'espace privé"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"L\'espace privé a bien été supprimé"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Impossible de supprimer l\'espace privé"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Définir le verrouillage de l\'écran"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Pour utiliser Espace privé, définissez un verrouillage de l\'écran sur cet appareil."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Activer le verrouillage de l\'écran"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Annuler"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Annuler"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Configuration"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Configurer Espace privé"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Masquez les applications privées dans un espace sécurisé qui n\'est accessible que par vous"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Comment ça marche"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Vous pouvez accéder à Espace privé à partir du bas de votre liste d\'applications"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Les applis dans Espace privé sont protégées par un verrou"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Les notifications des applis dans Espace privé sont masquées lorsque cette application est verrouillée"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Les applis contenues dans Espace privé n\'apparaîtront pas dans le gestionnaire d\'autorisations, dans le tableau de bord Confidentialité ni dans d\'autres paramètres lorsque l\'application Espace privé est verrouillée"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Configuration d\'Espace privé…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Les informations d\'utilisation des applis contenues dans Espace privé sont masquées lorsque l\'application est verrouillée"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Accéder à Espace privé depuis votre liste d\'applications"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Impossible de configurer Espace privé"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Réessayer maintenant ou revenir plus tard"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Réessayer"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Déverrouiller avec le verrouillage de l\'écran ?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Vous pouvez déverrouiller Espace privé de la même manière que vous déverrouillez votre appareil ou bien choisir un verrouillage différent"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Utiliser le verrouillage de l\'écran"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Choisir un nouveau verrouillage"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Tout est prêt !"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"OK"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Faites défiler vers le bas pour accéder à Espace privé"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Connectez-vous pour configurer Espace privé"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Vous devez vous connecter à un compte pour configurer Espace privé"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Pour afficher Espace privé (UX non finale)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Ouvrez l\'application Paramètres"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Appuyez sur sécurité et confidentialité > Espace privé > Masquer Espace privé lorsque l\'appareil est verrouillé"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Désactivez Masquer Espace privé lors du verrouillage"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Remarque à l\'attention des Googleurs : le développement de cette fonctionnalité est toujours en cours"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Vous pouvez ajouter jusqu\'à <xliff:g id="COUNT">%d</xliff:g> empreintes digitales"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Vous avez ajouté le nombre maximal autorisé d\'empreintes digitales"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Impossible d\'ajouter d\'autres empreintes digitales"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connecter"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Déconnecter"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Associer et connecter"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Quand le Bluetooth est activé, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth activé : Votre appareil communique avec d\'autres appareils à proximité."</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Quand le Bluetooth est activé, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité.\n\nQuand il ne l\'est pas, les applis et services peuvent quand même rechercher les appareils à proximité à tout moment, afin d\'améliorer l\'expérience, par exemple, les fonctionnalités et services géolocalisés. Vous pouvez modifier ce réglage dans les paramètres de recherche Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Modifier"</string>
<string name="device_details_title" msgid="1155622417516195481">"Infos sur l\'appareil"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Autoriser ART à valider le bytecode des applications pouvant être déboguées"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Voir la fréquence d\'actualisation"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Afficher la fréquence d\'actualisation actuelle"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Afficher le format HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Afficher le format HDR/SDR actuel"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Exiger le déverrouillage de l\'appareil pour le NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1133,10 +1118,9 @@
<string name="auto_brightness_summary_off" msgid="8077066192887677956">"Désactivé"</string>
<string name="display_white_balance_title" msgid="2624544323029364713">"Balance des blancs de l\'écran"</string>
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
- <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuer à utiliser les applis sur Fold"</string>
+ <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuer à utiliser les applis quand l’appareil est plié"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Affichage fluide"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Augmente automatiquement la fréquence d\'actualisation jusqu\'à <xliff:g id="ID_1">%1$d</xliff:g> Hz pour certains contenus. Sollicite davantage la batterie."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forcer la fréquence d\'actualisation crête"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Fréquence d\'actualisation la plus élevée pour améliorer la réactivité au toucher et la qualité d\'animation. La batterie est davantage sollicitée."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Regard sur écran"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Paramètres communs"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Modifier le point d\'accès"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Ajouter un point d\'accès"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Non défini"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Non défini"</string>
<string name="apn_name" msgid="6677695784108157953">"Nom"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Utiliser le bouton Accessibilité pour ouvrir"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Maintenir enfoncés les boutons de volume pour ouvrir"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Appuyez trois fois sur l\'écran pour ouvrir"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Appuyer trois fois sur l\'écran avec deux doigts pour ouvrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utiliser un geste pour ouvrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Utiliser le geste d\'accessibilité"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Pour utiliser cette fonctionnalité, appuyez sur le bouton Accessibilité <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> en bas de l\'écran.\n\nPour changer de fonctionnalité, appuyez dessus de manière prolongée."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Pour utiliser cette fonctionnalité, appuyez sur le bouton Accessibilité sur l\'écran."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Pour utiliser cette fonctionnalité, appuyez de manière prolongée sur les deux boutons de volume."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Pour lancer ou arrêter l\'agrandissement, appuyez trois fois n\'importe où sur l\'écran."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Pour commencer et arrêter l\'agrandissement, appuyez trois fois sur votre écran avec deux doigts."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Pour utiliser cette fonctionnalité, balayez l\'écran vers le haut avec deux doigts.\n\nPour changer de fonctionnalité, balayez l\'écran vers le haut avec deux doigts et appuyez de manière prolongée."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Pour utiliser cette fonctionnalité, balayez l\'écran vers le haut avec trois doigts.\n\nPour changer de fonctionnalité, balayez l\'écran vers le haut avec trois doigts et appuyez de manière prolongée."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Pour utiliser une fonctionnalité d\'accessibilité, balayez l\'écran vers le haut avec deux doigts.\n\nPour changer de fonctionnalité, balayez l\'écran vers le haut avec deux doigts et appuyez de manière prolongée."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Maintenir enfoncés les boutons de volume"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"maintenir enfoncés les boutons de volume"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Appuyer de manière prolongée sur les deux boutons de volume"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Appuyer trois fois sur l\'écran avec deux doigts"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"appuyer trois fois sur l\'écran avec deux doigts"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Appuyer rapidement sur l\'écran {0,number,integer} fois avec deux doigts"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Appuyer trois fois sur l\'écran"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"appuyer trois fois sur l\'écran"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Appuyer rapidement {0,number,integer} fois sur l\'écran. Ce raccourci peut ralentir votre appareil."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Le service peut suivre vos interactions avec une application ou un capteur matériel, et interagir avec les applications en votre nom."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Autoriser"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Refuser"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Arrêter"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Annuler"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Arrêter <xliff:g id="SERVICE">%1$s</xliff:g> ?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Si vous appuyez sur <xliff:g id="STOP">%1$s</xliff:g>, le service <xliff:g id="SERVICE">%2$s</xliff:g> sera arrêté."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Aucun service installé"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Aucun service sélectionné"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Aucune description fournie"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si vous limitez l\'activité en arrière-plan d\'une application, cela peut provoquer son dysfonctionnement"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Cette appli n\'étant pas configurée pour optimiser batterie, vous ne pouvez pas la limiter.\n\nActivez optimisation batterie."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gérer l\'utilisation de la batterie"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Autoriser l\'utilisation en arrière-plan"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Activer pour obtenir des mises à jour en temps réel, désactiver pour économiser de la batterie"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sans restriction"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimisée"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Limitée"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nom"</string>
<string name="vpn_type" msgid="5533202873260826663">"Type"</string>
<string name="vpn_server" msgid="2908816134941973935">"Adresse du serveur"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Chiffrement PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Secret L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identifiant IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Clé pré-partagée IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificat utilisateur IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificat CA IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificat de serveur IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Afficher les options avancées"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domaines de recherche DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Serveurs DNS (ex. : 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Routages (ex. : 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nom d\'utilisateur"</string>
<string name="vpn_password" msgid="1183746907642628127">"Mot de passe"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Enregistrer les informations de compte"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(non utilisé)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne pas valider le serveur)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(reçu du serveur)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ce type de VPN ne peut pas rester connecté en permanence"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Le VPN permanent n\'accepte que les adresses de serveur composées de chiffres"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Vous devez spécifier un serveur DNS pour le VPN permanent"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Les adresses de serveur DNS pour le VPN permanent doivent être composées de chiffres"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Les informations saisies ne sont pas acceptées avec le VPN permanent"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Annuler"</string>
<string name="vpn_done" msgid="5137858784289564985">"Ignorer"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Bloquer les connexions sans VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Exiger une connexion VPN ?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Non sécurisé. Passez à un VPN IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Sélectionnez un profil VPN auquel rester connecté en permanence. Le trafic réseau ne sera autorisé que lorsque vous serez connecté à ce VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Aucun"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Le VPN permanent nécessite une adresse IP pour le serveur et le DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Afficher tout le contenu des notifications"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"N\'afficher les contenus sensibles que si l\'appareil est déverrouillé"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"N\'afficher aucune notification"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Que souhaitez-vous afficher sur l\'écran de verrouillage ?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Que voulez-vous que votre écran de verrouillage affiche ?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Écran de verrouillage"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Afficher tout le contenu des notifications professionnelles"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Masquer le contenu professionnel sensible"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Autoriser l\'accès pour gérer tous les fichiers"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Autoriser cette appli à lire, modifier et supprimer tous les fichiers sur cet appareil ou sur n\'importe quel volume de stockage connecté. Si cette option est activée, l\'appli pourra accéder à des fichiers à votre insu."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Peut peut accéder à tous les fichiers"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Applications d\'activation vocale"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Autoriser l\'activation vocale"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"L\'activation vocale active les applis approuvées, en mode mains libres, par commande vocale. Le capteur adaptatif intégré garantit que vos données restent privées.\n\n"<a href="">"En savoir plus sur le capteur adaptatif protégé"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Notifications en plein écran"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Autoriser l\'appli à afficher les notifications en plein écran"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Autoriser cette appli à afficher des notifications occupant tout l\'écran lorsque l\'appareil est verrouillé. Les applis peuvent les utiliser pour mettre en avant les alarmes, les appels entrants ou d\'autres notifications urgentes."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a sollicité davantage la batterie que d\'habitude en arrière-plan"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a sollicité davantage la batterie au premier plan"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a sollicité davantage la batterie que d\'habitude au premier plan"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalie d\'utilisation de la batterie"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Utilisation élevée de la batterie"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Utilisation élevée de la batterie en arrière-plan"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Utilisation élevée de la batterie au premier plan"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navigation système, navigation à deux boutons, navigation à trois boutons, navigation par gestes, balayer l\'écran"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistant numérique"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Balayer pour appeler l\'assistant"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Pour appeler l\'appli d\'assistant numérique, balayer vers le haut depuis un coin inférieur"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Pour appeler l\'appli d\'assistant numérique, balayer vers le haut depuis un coin inférieur"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Maintenir le bouton d\'accueil enfoncé pour l\'Assistant"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Appuyer de manière prolongée sur le bouton d\'accueil pour appeler l\'appli d\'assistant numérique."</string>
<string name="low_label" msgid="6525629096999711220">"Faible"</string>
@@ -4813,7 +4798,7 @@
<string name="tare_job_min_running" msgid="6167128996320622604">"Exécution de la tâche à priorité min."</string>
<string name="tare_job_timeout_penalty" msgid="7644332836795492506">"Pénalité pour expiration du délai"</string>
<string name="tare_min_balance_exempted" msgid="6693710075762973485">"Solde minimal à pleine charge (exemptions)"</string>
- <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Solde minimal à pleine charge (appli système sans interface graphique)"</string>
+ <string name="tare_min_balance_headless_app" msgid="6906353766678577244">"Solde minimal à pleine charge (appli système headless)"</string>
<string name="tare_min_balance_other_app" msgid="3404774196832506476">"Solde minimal à pleine charge (applis restantes)"</string>
<string name="tare_min_balance_addition_app_updater" msgid="5391956072471201269">"Addition au solde minimal à pleine charge (sites de mise à jour d\'applis)"</string>
<string-array name="tare_modifiers_subfactors">
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Sélectionner le genre grammatical"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Analyse des applications trompeuses"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Vérifier l\'activité de l\'application pour détecter un éventuel hameçonnage"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Utiliser l\'analyse"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Utiliser l\'analyse pour les applications professionnelles"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Utiliser l\'analyse des applications trompeuses"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Utiliser l\'analyse des applications trompeuses (profil professionnel)"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 13b9861..7e7f2d0 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Lapis óptico"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Uso compartido do audio"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Compartir audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Chamadas e alarmas"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Conectar a unha emisión de audio de baixo consumo"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Emisións de audio próximas"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Emisións de audio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Conéctate a unha emisión de audio por medio dun código QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Ningunha emisión de audio próxima."</string>
<string name="date_and_time" msgid="1788358029823431692">"Data e hora"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Borrar"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Perfil de traballo"</string>
<string name="private_space_title" msgid="7078627930195569767">"Espazo privado"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Oculta as aplicacións nun cartafol privado"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Desbloquear mediante o bloqueo de pantalla"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Oculta as aplicacións nun cartafol privado ao que só poderás acceder ti"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Bloqueo do espazo privado"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Podes desbloquear o espazo privado do mesmo xeito que fas co teu dispositivo ou elixir outro bloqueo"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usar bloqueo de pantalla do dispositivo"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueo dactilar e facial"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toca para configurar"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"O mesmo que o bloqueo de pantalla do dispositivo"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Queres usar outro bloqueo para o espazo privado?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Ocultar cando estea bloqueado"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Ocultar o espazo privado cando estea bloqueado"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Para que non saiban que o espazo privado está no teu dispositivo, ocúltao na lista de aplicacións"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Acceso ao espazo privado cando está oculto"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Escribe \"espazo privado\" na barra de busca"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Toca o atallo do espazo privado"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Desbloquea o espazo privado"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Opción desactivada"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Opción activada"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Crear espazo privado"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Eliminar espazo privado"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Creouse correctamente o espazo privado"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Xa existe o espazo privado"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Non se puido crear o espazo privado"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Eliminouse correctamente o espazo privado"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Non se puido eliminar o espazo privado"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Definir un bloqueo de pantalla"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Para usar o espazo privado, define un bloqueo de pantalla."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Definir bloqueo de pantalla"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancelar"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Cancelar"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Configurar"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Configurar o espazo privado"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Oculta as aplicacións privadas nun espazo seguro ao que só ti poidas acceder"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Como funciona?"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Podes acceder ao espazo privado desde a parte inferior da túa lista de aplicacións"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"As aplicacións do espazo privado están protexidas cun bloqueo"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Cando o espazo privado está bloqueado, ocúltanse as notificacións das súas aplicacións"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"As aplicacións do espazo privado non aparecerán no xestor de permisos, no panel de privacidade nin noutras opcións de configuración cando o espazo privado estea bloqueado"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Configurando espazo privado…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"A información de uso das aplicacións do espazo privado ocúltase cando está bloqueado"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Accede ao espazo privado desde a lista de aplicacións"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Produciuse un erro ao configurar o espazo privado"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Téntao de novo agora ou volve máis tarde"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Tentar de novo"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Queres usar bloqueo de pantalla para desbloquear?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Podes desbloquear o espazo privado do mesmo xeito que fas co teu dispositivo ou elixir outro bloqueo"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Usar bloqueo de pantalla"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Elixir outro bloqueo"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Todo listo"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Feito"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Desprázate cara abaixo para acceder ao espazo privado"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Inicia sesión para configurar o espazo privado"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Debes iniciar sesión nunha conta para configurar o espazo privado"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Para mostrar o espazo privado (non é a versión final da EU)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Abre a aplicación Configuración"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Toca Seguranza e privacidade > Espazo privado > Ocultar espazo privado cando estea bloqueado"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Desactivar Ocultar espazo privado cando estea bloqueado"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Nota para Googlers: Esta función aínda está en fase de desenvolvemento"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Podes engadir ata <xliff:g id="COUNT">%d</xliff:g> impresións dixitais"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Engadiches o número máximo de impresións dixitais"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Non se poden engadir máis impresións dixitais"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Conectar"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desconectar"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Sincronizar e conectar"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Co Bluetooth activado, o dispositivo pode comunicarse con outros dispositivos Bluetooth próximos."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Co Bluetooth activado, o dispositivo pode comunicarse con dispositivos Bluetooth próximos"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Cando o Bluetooth está activado, o dispositivo pode comunicarse con outros dispositivos Bluetooth das proximidades.\n\nPara mellorar a experiencia co uso do dispositivo, as aplicacións e os servizos poden seguir buscando dispositivos próximos en calquera momento, mesmo cando o Bluetooth está desactivado. Esta opción pode utilizarse, por exemplo, para mellorar as funcións e os servizos baseados na localización. Podes cambiar esta opción na configuración da busca de dispositivos Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Cambiar"</string>
<string name="device_details_title" msgid="1155622417516195481">"Datos do dispositivo"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permite que ART verifique o bytecode das aplicacións que se poidan depurar"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar taxa de actualización"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostra a taxa de actualización actual da pantalla"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostrar proporción HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostra a proporción HDR/SDR actual"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Requirir desbloqueo do dispositivo para a NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Seguir usando aplicacións co dispositivo pregado"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Pantalla fluída"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Incrementa automaticamente a frecuencia de actualización ata <xliff:g id="ID_1">%1$d</xliff:g> Hz en determinados tipos de contido. Aumenta o uso da batería."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forzar taxa de actualización máxima"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"A taxa de actualización máis alta para mellorar a resposta táctil e a calidade das animacións. Aumenta o uso da batería."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Atención á pantalla"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Opcións de configuración comúns"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Editar punto de acceso"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Engadir o punto de acceso"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Sen configurar"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Sen configurar"</string>
<string name="apn_name" msgid="6677695784108157953">"Nome"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Utilizar o botón de accesibilidade para abrir"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mantén premidas as teclas de volume para abrir"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Toca tres veces a pantalla para abrir"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Toca a pantalla tres veces con dous dedos para abrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utilizar un xesto para abrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usa o xesto de accesibilidade"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Toca o botón Accesibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da pantalla para utilizar esta función.\n\nPara cambiar de función, mantén premido o botón Accesibilidade."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para utilizar esta función, toca na pantalla o botón Accesibilidade."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Mantén premidas as dúas teclas de volume para utilizar esta función."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para iniciar e deter a ampliación, toca tres veces en calquera parte da pantalla."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Para iniciar e deter a ampliación, toca tres veces en calquera parte da pantalla con dous dedos."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Pasa 2 dedos cara arriba desde a parte inferior da pantalla para utilizar esta función.\n\nPara cambiar de función, pasa 2 dedos cara arriba e mantén premida a pantalla."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Pasa 3 dedos cara arriba desde a parte inferior da pantalla para utilizar esta función.\n\nPara cambiar de función, pasa 3 dedos cara arriba e mantén premida a pantalla."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Pasa 2 dedos cara arriba desde a parte inferior da pantalla para utilizar unha función de accesibilidade.\n\nPara cambiar de función, pasa 2 dedos cara arriba e mantén premida a pantalla."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Manter premidas as teclas de volume"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"manter premidas as teclas de volume"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Mantén premidas as dúas teclas de volume."</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Toque triplo na pantalla con dous dedos"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"toque triplo na pantalla con dous dedos"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Toca a pantalla rapidamente {0,number,integer} veces con dous dedos"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tres toques na pantalla"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"tocar tres veces a pantalla"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Toca a pantalla {0,number,integer} veces rapidamente. Este atallo pode reducir a velocidade do dispositivo"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Pode facer un seguimento das túas interaccións cunha aplicación ou cun sensor de hardware, así como interactuar por ti coas aplicacións."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permitir"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Denegar"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Deter"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancelar"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Queres deter <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Ao tocar <xliff:g id="STOP">%1$s</xliff:g>, deterase <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ningún servizo instalado"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Non hai ningún servizo seleccionado"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Ningunha descrición fornecida."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si limitas a actividade en segundo plano para unha aplicación, é posible que non funcione correctamente"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Non podes limitar a aplicación porque non se configurou para optimizar a batería.\n\nPrimeiro activa a optimización da batería."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Xestionar o uso da batería"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permitir o uso en segundo plano"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Actívase para actualizacións en tempo real; desactívase para aforrar batería"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sen restricións"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizado"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restrinxido"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nome"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
<string name="vpn_server" msgid="2908816134941973935">"Enderezo do servidor"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Encriptación PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Segredo L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Clave precompartida IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificado de usuario IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificado de CA IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificado de servidor IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Mostrar opcións avanzadas"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Dominios de busca de DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidores DNS (por ex., 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Rutas de reenvío (por ex., 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nome de usuario"</string>
<string name="vpn_password" msgid="1183746907642628127">"Contrasinal"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Gardar información da conta"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(sen usar)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(non verificar servidor)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(recibido do servidor)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Este tipo de VPN non pode estar conectada en todo momento"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"A VPN que está sempre activada só admite enderezos de servidor numéricos"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"É necesario especificar un servidor DNS para as VPN que estean sempre activadas"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Os enderezos de servidor DNS deben ser numéricos para as VPN que estean sempre activadas"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"A información inserida non é compatible con VPN que estean sempre activadas"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Cancelar"</string>
<string name="vpn_done" msgid="5137858784289564985">"Pechar"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Bloquear conexións sen VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Requirir conexión VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"O tipo de aplicación non é seguro. Actualiza a unha VPN IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecciona un perfil de VPN ao que permanecer sempre conectado. Só se permitirá tráfico de rede cando esteas conectado a esta VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Ningunha"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"As VPN que están sempre activadas requiren un enderezo IP para o servidor e o DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostrar todo o contido das notificacións"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Mostra o contido confidencial só tras o desbloqueo"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Non mostrar ningunha notificación"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Como queres que se mostre a pantalla de bloqueo?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Que queres que mostre a túa pantalla de bloqueo?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Pantalla de bloqueo"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostrar todo nas notificacións de traballo"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Oculta o contido laboral confidencial"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Permitir xestionar todos os ficheiros"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permite que esta aplicación lea, modifique e elimine todos os ficheiros deste dispositivo ou de calquera unidade de almacenamento conectada. Se lle dás permiso, a aplicación poderá acceder aos ficheiros sen que se che notifique explicitamente."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Poden acceder a todos os ficheiros"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplicacións con activación por voz"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permitir activación por voz"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"A activación por voz inicia as aplicacións aprobadas por medio dun comando de voz, sen necesidade de que teñas que usar as mans. Grazas á detección intelixente, protexida e integrada, só ti podes acceder aos datos.\n\n"<a href="">"Máis información sobre a detección intelixente protexida"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Notificacións en pantalla completa"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Permitir notificacións en pantalla completa procedentes desta aplicación"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permite que esta aplicación amose notificacións en pantalla completa cando o dispositivo estea bloqueado. A aplicación pode usar esta opción para destacar alarmas, chamadas entrantes ou outras notificacións urxentes."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> consumiu máis batería do habitual mentres estivo en segundo plano"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> consumiu máis batería mentres estivo en primeiro plano"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> consumiu máis batería do habitual mentres estivo en primeiro plano"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalía no uso da batería"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Uso da batería alto"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Uso da batería alto en segundo plano"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Uso da batería alto en primeiro plano"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navegación do sistema, navegación con 2 botóns, navegación con 3 botóns, navegación con xestos, pasar o dedo"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asistente dixital"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Pasar o dedo para invocar o asistente"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Pasa o dedo cara arriba desde unha esquina da parte inferior para invocar a aplicación do asistente dixital."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Pasa o dedo cara arriba desde unha esquina da parte inferior para invocar a aplicación do asistente dixital"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Manter premido Inicio para acceder ao Asistente"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Para abrir a aplicación do asistente dixital, mantén premido o botón de inicio."</string>
<string name="low_label" msgid="6525629096999711220">"Baixa"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Seleccionar o xénero gramatical"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Buscando aplicacións enganosas"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Revisa a actividade das aplicacións para detectar phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Usar análise"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Usar análise en aplicacións do traballo"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Usar análise para detectar aplicacións enganosas"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Usar análise para detectar aplicacións enganosas para o traballo"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 3469748..f3d5a99 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"સ્ટાઇલસ"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ઑડિયો શેરિંગ"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ઑડિયો શેર કરો"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"કૉલ અને અલાર્મ"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ઑડિયો સ્ટ્રીમ સાથે કનેક્ટ કરો"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"શેરિંગ ઑડિયો સ્ટ્રીમ"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"ઑડિયો સ્ટ્રીમ"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR કોડનો ઉપયોગ કરીને કોઈ ઑડિયો સ્ટ્રીમ સાથે કનેક્ટ કરો"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"કોઈ શેરિંગ ઑડિયો સ્ટ્રીમ મળ્યું નથી."</string>
<string name="date_and_time" msgid="1788358029823431692">"તારીખ અને સમય"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"પ્રૉક્સી"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"સાફ કરો"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"ઑફિસની પ્રોફાઇલ"</string>
<string name="private_space_title" msgid="7078627930195569767">"ખાનગી સ્પેસ"</string>
<string name="private_space_summary" msgid="8237652417163408001">"ખાનગી ફોલ્ડરમાં ઍપ છુપાવો"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"સ્ક્રીન લૉકનો ઉપયોગ કરીને અનલૉક કરો"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"ઍપને એવા ખાનગી ફોલ્ડરમાં છુપાવો, જેને માત્ર તમે જ ઍક્સેસ કરી શકો છો"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"ખાનગી સ્પેસનું લૉક"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"તમે તમારા ડિવાઇસને જે રીતે અનલૉક કરો છો તે જ રીતે તમે ખાનગી સ્પેસને અનલૉક કરી શકો છો અથવા કોઈ અલગ લૉક પસંદ કરી શકો છો"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ડિવાઇસના સ્ક્રીન લૉકનો ઉપયોગ કરો"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"ચહેરા અને ફિંગરપ્રિન્ટ વડે અનલૉક કરવાની સુવિધા"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"સેટઅપ કરવા માટે ટૅપ કરો"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ડિવાઇસના સ્ક્રીન લૉક જેવું જ લૉક"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"ખાનગી સ્પેસ માટે નવું લૉક પસંદ કરીએ?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"લૉક કરેલી હોય, ત્યારે છુપાવો"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"ખાનગી સ્પેસ લૉક કરેલી હોય, ત્યારે છુપાવો"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ડિવાઇસની ખાનગી સ્પેસ અન્યોથી છુપાવવા તેને ઍપની સૂચિથી છુપાવો"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"છુપાવેલી હોય, ત્યારે પણ ખાનગી સ્પેસ ઍક્સેસ કરો"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"શોધ બારમાં \'ખાનગી સ્પેસ\' શોધો"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ખાનગી સ્પેસ ટાઇલ પર ટૅપ કરો"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"તમારી ખાનગી સ્પેસ અનલૉક કરો"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"બંધ છે"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ચાલુ છે"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"સિસ્ટમ"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"ખાનગી સ્પેસ બનાવો"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"ખાનગી સ્પેસ ડિલીટ કરી"</string>
- <string name="private_space_created" msgid="2978055968937762232">"ખાનગી સ્પેસ સફળતાપૂર્વક બનાવવામાં આવી"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"ખાનગી સ્પેસ પહેલેથી અસ્તિત્વમાં છે"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"ખાનગી સ્પેસ બનાવી શકાઈ નથી"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"ખાનગી સ્પેસ સફળતાપૂર્વક ડિલીટ કરી"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"ખાનગી સ્પેસ ડિલીટ કરી શકાઈ નથી"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"કોઈ સ્ક્રીન લૉક સેટ કરો"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"ખાનગી સ્પેસનો ઉપયોગ કરવા, આ ડિવાઇસ પર સ્ક્રીન લૉક સેટ કરો."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"સ્ક્રીન લૉક સેટ કરો"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"રદ કરો"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"રદ કરો"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"સેટઅપ કરો"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"ખાનગી સ્પેસનું સેટઅપ કરો"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"માત્ર તમે ઍક્સેસ કરી શકો એવી કોઈ સુરક્ષિત સ્પેસમાં ખાનગી ઍપ છુપાવો"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"તેની કામ કરવાની રીત"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"તમે તમારી ઍપની સૂચિમાં સૌથી નીચેથી ખાનગી સ્પેસ ઍક્સેસ કરી શકશો"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"ખાનગી સ્પેસમાંની ઍપ કોઈ લૉક વડે સુરક્ષિત રાખવામાં આવે છે"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"જ્યારે ખાનગી સ્પેસ લૉક કરવામાં આવી હોય, ત્યારે ખાનગી સ્પેસ સંબંધિત ઍપના નોટિફિકેશન છુપાવવામાં આવે છે"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"જ્યારે ખાનગી સ્પેસ લૉક કરવામાં આવી હોય, ત્યારે પરવાનગી મેનેજર, પ્રાઇવસી ડૅશબોર્ડ અને અન્ય સેટિંગમાં ખાનગી સ્પેસ સંબંધી ઍપ દેખાશે નહીં"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"ખાનગી સ્પેસનું સેટઅપ કરી રહ્યાં છીએ…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"જ્યારે ખાનગી સ્પેસ લૉક કરવામાં આવી હોય, ત્યારે તેમાં રહેલી ઍપના વપરાશની માહિતી છુપાવવામાં આવે છે"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"તમારી ઍપની સૂચિમાંથી ખાનગી સ્પેસ ઍક્સેસ કરો"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"ખાનગી સ્પેસનું સેટઅપ કરી શકાતું નથી"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"હમણાં ફરીથી પ્રયાસ કરો અથવા થોડા સમય પછી પાછા આવો"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"ફરી પ્રયાસ કરો"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"શું અનલૉક કરવા માટે, સ્ક્રીન લૉકનો ઉપયોગ કરીએ?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"તમે તમારા ડિવાઇસને જે રીતે અનલૉક કરો છો તે જ રીતે તમે ખાનગી સ્પેસને અનલૉક કરી શકો છો અથવા કોઈ અલગ લૉક પસંદ કરી શકો છો"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"સ્ક્રીન લૉકનો ઉપયોગ કરો"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"નવું લૉક પસંદ કરો"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"બધું સેટ થઈ ગયું!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"થઈ ગયું"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"ખાનગી સ્પેસને ઍક્સેસ કરવા માટે નીચે સ્ક્રોલ કરો"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"ખાનગી સ્પેસનું સેટઅપ કરવા માટે સાઇન ઇન કરો"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"ખાનગી સ્પેસનું સેટઅપ કરવા માટે, તમારે કોઈ એકાઉન્ટમાં સાઇન ઇન કરવું જરૂરી છે"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"ખાનગી સ્પેસ બતાવવા માટે (અંતિમ UX નથી)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Settings ઍપ ખોલો"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"લૉક હોય ત્યારે, સુરક્ષા અને પ્રાઇવસી > ખાનગી સ્પેસ &gt ખાનગી સ્પેસ છુપાવો પર ટૅપ કરો"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"લૉક હોય ત્યારે ખાનગી સ્પેસ છુપાવો ટૉગલને બંધ કરો"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Googleના કર્મચારીઓ માટે નોંધ: આ સુવિધાના વિકાસની પ્રક્રિયા હજી પણ ચાલુ છે"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"તમે <xliff:g id="COUNT">%d</xliff:g> જેટલી ફિંગરપ્રિન્ટ ઉમેરી શકો છો"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"તમે મહત્તમ ફિંગરપ્રિન્ટ્સ ઉમેર્યા છે"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"વધુ ફિંગરપ્રિન્ટ્સ ઉમેરી શકતાં નથી"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"કનેક્ટ કરો"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ડિસ્કનેક્ટ કરો"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"જોડાણ બનાવો અને કનેક્ટ કરો"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"જ્યારે બ્લૂટૂથ ચાલુ હોય, ત્યારે તમારું ડિવાઇસ નજીકનાં અન્ય બ્લૂટૂથ ડિવાઇસ સાથે સંચાર કરી શકે છે."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"બ્લૂટૂથ ચાલુ હોય ત્યારે તે બ્લૂટૂથ ડિવાઇસ સાથે કમ્યુનિકેટ કરે છે"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"જ્યારે બ્લૂટૂથ ચાલુ હોય, ત્યારે તમારું ડિવાઇસ નજીકના અન્ય બ્લૂટૂથ ડિવાઇસ સાથે કનેક્ટ થઈ શકે છે.\n\nડિવાઇસનો અનુભવ બહેતર બનાવવા માટે, જ્યારે બ્લૂટૂથ બંધ હોય ત્યારે પણ ઍપ અને સેવાઓ, નજીકના ડિવાઇસને ગમે ત્યારે સ્કૅન કરી શકે છે. ઉદાહરણ તરીકે, આનો ઉપયોગ લોકેશન આધારિત સુવિધાઓ અને સેવાઓને બહેતર બનાવવા માટે કરી શકાય છે. તમે આને બ્લૂટૂથ સ્કૅનિંગના સેટિંગમાં જઈને બદલી શકો છો."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"બદલો"</string>
<string name="device_details_title" msgid="1155622417516195481">"ડિવાઇસની વિગતો"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ડીબગ કરવા યોગ્ય ઍપ માટે બાઇટકોડને ચકાસવા ARTને મંજૂરી આપો"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"રિફ્રેશ થવાનો રેટ બતાવો"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"હાલના ડિસ્પ્લેનો રિફ્રેશ થવાનો રેટ બતાવો"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR ગુણોત્તર બતાવો"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"હાલનો HDR/SDR ગુણોત્તર બતાવો"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC માટે ડિવાઇસ અનલૉક જરૂરી છે"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android બીમ"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"ફોલ્ડ હોવા પર ઍપનો ઉપયોગ કરવાનું ચાલુ રાખો"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"અમુક કન્ટેન્ટ માટે રિફ્રેશ થવાનો રેટ ઑટોમૅટિક રીતે <xliff:g id="ID_1">%1$d</xliff:g> Hz સુધી વધે છે. બૅટરીના વપરાશમાં વધારો કરે છે."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"રિફ્રેશ થવાનો રેટ ફરજિયાત પણે મહત્તમ લેવલે કરો"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"સ્પર્શના પ્રતિભાવમાં સુધારણા અને ઍનિમેશનની ક્વૉલિટી માટે ઉચ્ચતમ રિફ્રેશ રેટ. આ સુવિધા બૅટરીનો વપરાશ વધારે છે."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"સ્ક્રીન અટેન્શન"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"કૉમ્યુનલ સેટિંગ"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"અૅક્સેસ પૉઇન્ટમાં ફેરફાર કરો"</string>
+ <string name="apn_add" msgid="9069613192201630934">"ઍક્સેસ પૉઇન્ટ ઉમેરો"</string>
<string name="apn_not_set" msgid="8246646433109750293">"સેટ નથી"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"સેટ નથી"</string>
<string name="apn_name" msgid="6677695784108157953">"નામ"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ખોલવા માટે ઍક્સેસિબિલિટી બટનનો ઉપયોગ કરો"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"ખોલવા માટે વૉલ્યૂમ કીને દબાવી રાખો"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ખોલવા માટે સ્ક્રીનને ત્રણ વાર ટૅપ કરો"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"ખોલવા માટે, સ્ક્રીન પર બે આંગળી વડે ત્રણ વાર ટૅપ કરો"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ખોલવા માટે સંકેતનો ઉપયોગ કરો"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ઍક્સેસિબિલિટી સંકેતનો ઉપયોગ કરો"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"આ સુવિધાનો ઉપયોગ કરવા માટે, તમારી સ્ક્રીનમાં નીચેની બાજુએ રહેલા ઍક્સેસિબિલિટી બટન <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ને ટૅપ કરો.\n\nકોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, ઍક્સેસિબિલિટી બટનને ટચ કરીને થોડીવાર દબાવી રાખો."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"આ સુવિધાનો ઉપયોગ કરવા માટે, તમારી સ્ક્રીન પરના ઍક્સેસિબિલિટી બટનને ટૅપ કરો."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"આ સુવિધાનો ઉપયોગ કરવા માટે, વૉલ્યૂમની બન્ને કીને દબાવી રાખો."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"મોટું કરવાનું શરૂ કરવા અને બંધ કરવા માટે, તમારી સ્ક્રીન પર ગમે-ત્યાં ત્રણ વાર ટૅપ કરો."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"મોટું કરવાનું શરૂ અને બંધ કરવા માટે, બે આંગળી વડે તમારી સ્ક્રીન પર ગમે ત્યાં ત્રણ વાર ટૅપ કરો."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"આ સુવિધાનો ઉપયોગ કરવા માટે, 2 આંગળી વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, 2 આંગળી વડે ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"આ સુવિધાનો ઉપયોગ કરવા માટે, 3 આંગળી વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, 3 આંગળી વડે ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"કોઈ ઍક્સેસિબિલિટી સુવિધાનો ઉપયોગ કરવા માટે, 2 આંગળી વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, 2 આંગળી વડે ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"વૉલ્યૂમ કી દબાવી રાખો"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"વૉલ્યૂમ કી દબાવી રાખો"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"વૉલ્યૂમની બન્ને કીને દબાવી રાખો"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"સ્ક્રીન પર બે આંગળી વડે ત્રણ વાર ટૅપ કરો"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"સ્ક્રીન પર બે આંગળી વડે ત્રણ વાર ટૅપ કરો"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"બે આંગળી વડે સ્ક્રીન પર ઝડપથી {0,number,integer} વાર ટૅપ કરો"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"સ્ક્રીનને ત્રણ વાર ટૅપ કરો"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"સ્ક્રીનને ત્રણ વાર ટૅપ કરો"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ઝડપથી સ્ક્રીન પર {0,number,integer} વાર ટૅપ કરો. આ શૉર્ટકટ તમારા ડિવાઇસને ધીમું કરી શકે છે"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"તે ઍપ અથવા હાર્ડવેર સેન્સર વડે તમારી ક્રિયાપ્રતિક્રિયાને ટ્રૅક કરી શકે છે અને તમારા વતી ઍપ સાથે ક્રિયાપ્રતિક્રિયા કરી શકે છે."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"મંજૂરી આપો"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"નકારો"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"રોકો"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"રદ કરો"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> બંધ કરીએ?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> પર ટૅપ કરવાથી <xliff:g id="SERVICE">%2$s</xliff:g> રોકાઈ જશે."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"કોઈ સેવાઓ ઇન્સ્ટોલ કરેલી નથી"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"કોઈ સેવા પસંદ કરેલી નથી"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"કોઈ વર્ણન પ્રદાન કરવામાં આવેલ નથી."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"જો તમે બૅકગ્રાઉન્ડ પ્રવૃત્તિને એક ઍપ માટે મર્યાદિત કરો છો, તો તે અયોગ્ય વર્તન કરી શકે છે"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"આ ઍપ બૅટરી ઑપ્ટિમાઇઝ કરવા સેટ નથી તેથી તમે તેને પ્રતિબંધિત કરી શકશો નહીં.\n\nએને પ્રતિબંધિત કરવા, પહેલાં બૅટરી ઑપ્ટિમાઇઝ કરવાનું ચાલુ કરો."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"બૅટરીનો વપરાશ મેનેજ કરો"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"બૅકગ્રાઉન્ડમાં ઉપયોગ કરવાની મંજૂરી આપો"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"રિઅલ-ટાઇમ અપડેટ માટે, બૅકગ્રાઉન્ડમાં ઉપયોગ કરવાની સુવિધા ચાલુ કરો, બૅટરી બચાવવા તેને બંધ કરો"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"અમર્યાદિત"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ઑપ્ટિમાઇઝ કરેલો"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"પ્રતિબંધિત"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"નામ"</string>
<string name="vpn_type" msgid="5533202873260826663">"પ્રકાર"</string>
<string name="vpn_server" msgid="2908816134941973935">"સર્વર ઍડ્રેસ"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP એન્ક્રિપ્શન (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP રહસ્ય"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ઓળખકર્તા"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec પહેલાંથી શેર કરેલી કી"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec વપરાશકર્તા પ્રમાણપત્ર"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA પ્રમાણપત્ર"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec સર્વર પ્રમાણપત્ર"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"વિગતવાર વિકલ્પો બતાવો"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS શોધ ડોમેન"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS સર્વર (દા.ત. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"ફૉરવર્ડિંગ રૂટ (દા.ત. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"વપરાશકર્તાનું નામ"</string>
<string name="vpn_password" msgid="1183746907642628127">"પાસવર્ડ"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"એકાઉન્ટ માહિતી સાચવો"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ઉપયોગ થયો નથી)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(સર્વર ચકાસશો નહીં)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(સર્વરમાંથી પ્રાપ્ત)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"આ VPN પ્રકાર હંમેશાં કનેક્ટ કરેલ રાખી શકાતો નથી"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"હંમેશાં-ચાલુ VPN માત્ર સંખ્યાત્મક સર્વર ઍડ્રેસને જ સપોર્ટ કરે છે"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"હંમેશાં-ચાલુ VPN માટે DNS સર્વરનો ઉલ્લેખ કરેલો હોવો આવશ્યક છે"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS સર્વર સરનામા હંમેશાં-ચાલુ VPN માટે સંખ્યાત્મક હોવા આવશ્યક છે"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"દાખલ કરેલી માહિતી હંમેશાં-ચાલુ VPNને સપોર્ટ કરતી નથી"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"રદ કરો"</string>
<string name="vpn_done" msgid="5137858784289564985">"છોડી દો"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN વિનાના કનેક્શનને બ્લૉક કરો"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN કનેક્શનની જરૂર છે?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"સુરક્ષિત નથી. IKEv2 VPN પર અપડેટ કરો"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"હંમેશા તેની સાથે કનેક્ટ રહેવા માટે એક VPN પ્રોફાઇલ પસંદ કરો. આ VPN સાથે કનેક્ટ હશે માત્ર ત્યારે જ નેટવર્ક ટ્રાફિકને મંજૂરી આપવામાં આવશે."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"કોઈ નહીં"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"હંમેશા-ચાલુ VPNને સર્વર અને DNS બંને માટે એક IP ઍડ્રેસની જરૂર હોય છે."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"તમામ નોટિફિકેશન કન્ટેન્ટ બતાવો"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"માત્ર અનલૉક થાય ત્યારે જ સંવેદનશીલ કન્ટેન્ટ બતાવો"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"નોટિફિકેશન બિલકુલ બતાવશો નહીં"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"તમને લૉક સ્ક્રીનનું ડિસ્પ્લે કેવું જોઈએ છે?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"તમારું લૉક સ્ક્રીન શું બતાવે તેવું તમે ઇચ્છો છો?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"લૉક સ્ક્રીન"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"કાર્યાલયનું તમામ નોટિફિકેશન કન્ટેન્ટ બતાવો"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"કાર્ય સંબંધિત સંવેદનશીલ કન્ટેન્ટ છુપાવો"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"બધી ફાઇલોને મેનેજ કરવા ઍક્સેસની મંજૂરી આપો"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"આ ઍપને આ ડિવાઇસ અથવા કોઈપણ કનેક્ટેડ સ્ટોરેજ વૉલ્યૂમ પરની બધી ફાઇલો વાંચવા, ફેરફાર કરવા અને ડિલીટ કરવાની મંજૂરી આપો. જો મંજૂરી આપવામાં આવે, તો ઍપ તમને જાણ કર્યા વિના ફાઇલોને ઍક્સેસ કરી શકે છે."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"બધી ફાઇલો ઍક્સેસ કરી શકે છે"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"વૉઇસ દ્વારા સક્રિય ઍપ"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"વૉઇસ સક્રિયકરણને મંજૂરી આપો"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"વૉઇસ સક્રિયકરણ વૉઇસ આદેશનો ઉપયોગ કરીને મંજૂર કરેલી ઍપ, હાથના ઉપયોગ વિના ચાલુ કરે છે. બિલ્ટ-ઇન અડૅપ્ટિવ સેન્સિંગ એ ખાતરી કરે છે કે ડેટા ફક્ત તમારા માટે ખાનગી રહે.\n\n"<a href="">"સુરક્ષિત અડૅપ્ટિવ સેન્સિંગ વિશે વધુ"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"પૂર્ણ સ્ક્રીનના નોટિફિકેશન"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"આ ઍપમાંથી પૂર્ણ સ્ક્રીનના નોટિફિકેશનને મંજૂરી આપો"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"જ્યારે ડિવાઇસ લૉક કરેલું હોય, ત્યારે આ ઍપને પૂર્ણ સ્ક્રીનમાં નોટિફિકેશન બતાવવાની મંજૂરી આપો. ઍપ આનો ઉપયોગ અલાર્મ, ઇનકમિંગ કૉલ અથવા અન્ય તાકીદના નોટિફિકેશન હાઇલાઇટ કરવા માટે કરી શકે છે."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"બૅકગ્રાઉન્ડમાં <xliff:g id="APP_LABEL">%1$s</xliff:g> દ્વારા બૅટરીનો સામાન્ય કરતાં વધુ વપરાશ થયો"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"ફૉરગ્રાઉન્ડમાં <xliff:g id="APP_LABEL">%1$s</xliff:g> દ્વારા બૅટરીનો વધુ વપરાશ થયો"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"ફૉરગ્રાઉન્ડમાં <xliff:g id="APP_LABEL">%1$s</xliff:g> દ્વારા બૅટરીનો સામાન્ય કરતાં વધુ વપરાશ થયો"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"બૅટરીના વપરાશમાં વિસંગતતા"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"બૅટરીનો ઉચ્ચ વપરાશ"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"બૅકગ્રાઉન્ડમાં બૅટરીનો ઉચ્ચ વપરાશ"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ફૉરગ્રાઉન્ડમાં બૅટરીનો ઉચ્ચ વપરાશ"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"સિસ્ટમ નૅવિગેશન, 2-બટનથી નૅવિગેશન, 3-બટનથી નૅવિગેશન, સંકેત દ્વારા નૅવિગેશન, સ્વાઇપ કરો"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ડિજિટલ આસિસ્ટંટ"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"આસિસ્ટંટ શરૂ કરવા માટે સ્વાઇપ કરો"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ડિજિટલ આસિસ્ટંટ ઍપ શરૂ કરવા માટે, સ્ક્રીન પર નીચેના ખૂણાથી ઉપર તરફ સ્વાઇપ કરો."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ડિજિટલ આસિસ્ટંટ ઍપ શરૂ કરવા માટે, સૌથી નીચેના ખૂણેથી ઉપરની તરફ સ્વાઇપ કરો"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant માટે હોમ બટન દબાવી રાખો"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ડિજિટલ આસિસ્ટંટ ઍપ શરૂ કરવા માટે, હોમ બટન દબાવી રાખો."</string>
<string name="low_label" msgid="6525629096999711220">"ઓછી"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"વ્યાકરણ અનુસારનું લિંગ પસંદ કરો"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"છોતરામણી ઍપ માટે સ્કૅન કરી રહ્યાં છીએ"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"ફિશિંગ માટે ઍપ પ્રવૃત્તિ ચેક કરો"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"સ્કૅનિંગનો ઉપયોગ કરો"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"ઑફિસ માટેની ઍપ માટે સ્કૅનિંગનો ઉપયોગ કરો"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ભ્રામક ઍપ માટે સ્કૅનિંગનો ઉપયોગ કરો"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ઑફિસ સંબંધિત ઍપ માટે સ્કૅનિંગનો ઉપયોગ કરો"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index b14b021..dd7aab5 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"स्टाइलस"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ऑडियो शेयर करने की सुविधा"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ऑडियो शेयर करें"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"कॉल और अलार्म"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE Audio स्ट्रीम से कनेक्ट करें"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"आस-पास होने वाली ऑडियो स्ट्रीम"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"ऑडियो स्ट्रीम"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"क्यूआर कोड का इस्तेमाल करके ऑडियो स्ट्रीम से कनेक्ट करें"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"आस-पास की कोई ऑडियो स्ट्रीम नहीं मिली."</string>
<string name="date_and_time" msgid="1788358029823431692">"तारीख और समय"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"प्रॉक्सी"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"साफ़ करें"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"वर्क प्रोफ़ाइल"</string>
<string name="private_space_title" msgid="7078627930195569767">"प्राइवेट स्पेस"</string>
<string name="private_space_summary" msgid="8237652417163408001">"प्राइवेट फ़ोल्डर में ऐप्लिकेशन छिपाएं"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"अनलॉक करने के लिए, स्क्रीन लॉक का इस्तेमाल करें"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"प्राइवेट फ़ोल्डर में ऐप्लिकेशन छिपाएं, ताकि उनका ऐक्सेस सिर्फ़ आपके पास हो"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"प्राइवेट स्पेस लॉक"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"डिवाइस की तरह ही प्राइवेट स्पेस को अनलॉक किया जा सकता है या कोई दूसरा लॉक सेट किया जा सकता है"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"डिवाइस के स्क्रीन लॉक का इस्तेमाल करें"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"फ़ेस और फ़िंगरप्रिंट अनलॉक"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"सेट अप करने के लिए टैप करें"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"डिवाइस के स्क्रीन लॉक की तरह"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"प्राइवेट स्पेस के लिए नया लॉक चुनना है?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"लॉक होने पर छिपाएं"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"लॉक होने पर प्राइवेट स्पेस छिपाएं"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"डिवाइस पर प्राइवेट स्पेस छिपाने के लिए, अपने ऐप्लिकेशन सूची से इसे छिपाएं"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"छिपाए जाने पर प्राइवेट स्पेस ऐक्सेस करें"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"खोज बार में \'प्राइवेट स्पेस\' को खोजें"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"प्राइवेट स्पेस के टाइल पर टैप करें"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"अपना प्राइवेट स्पेस अनलॉक करें"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"बंद है"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"चालू है"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"सिस्टम"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"प्राइवेट स्पेस बनाएं"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"प्राइवेट स्पेस मिटाएं"</string>
- <string name="private_space_created" msgid="2978055968937762232">"प्राइवेट स्पेस बना लिया गया है"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"प्राइवेट स्पेस पहले से मौजूद है"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"प्राइवेट स्पेस नहीं बनाया जा सका"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"प्राइवेट स्पेस को मिटा दिया गया है"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"प्राइवेट स्पेस को मिटाया नहीं जा सका"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"स्क्रीन लॉक सेट करें"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"डिवाइस पर स्क्रीन लॉक सेट करके प्राइवेट स्पेस इस्तेमाल करें."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"स्क्रीन लॉक सेट करें"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"अभी नहीं"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"रद्द करें"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"सेट अप करें"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"प्राइवेट स्पेस सेट अप करें"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"निजी ऐप्लिकेशन को उस सुरक्षित स्पेस में छिपाएं जिसका ऐक्सेस सिर्फ़ आपके पास हो"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"यह सुविधा कैसे काम करती है"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"ऐप्लिकेशन की सूची के नीचे मौजूद प्राइवेट स्पेस को ऐक्सेस किया जा सकता है"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"लॉक के ज़रिए, प्राइवेट स्पेस में ऐप्लिकेशन सुरक्षित रखे जाते हैं"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"लॉक होने पर, प्राइवेट स्पेस में ऐप्लिकेशन की सूचनाएं छिपी रहती हैं"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"प्राइवेट स्पेस लॉक होने पर, प्राइवेट स्पेस के ऐप्लिकेशन अनुमतियों को मैनेज करने की सेटिंग, प्राइवसी डैशबोर्ड, और अन्य सेटिंग में नहीं दिखेंगे"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"प्राइवेट स्पेस सेट अप किया जा रहा है…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"लॉक होने पर, प्राइवेट स्पेस वाले ऐप्लिकेशन के इस्तेमाल से जुड़ी जानकारी छिपा दी जाती है"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"ऐप्लिकेशन की सूची से प्राइवेट स्पेस को ऐक्सेस करें"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"प्राइवेट स्पेस को सेट अप नहीं किया जा सका"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"फिर से कोशिश करें या बाद में करके देखें"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"फिर से कोशिश करें"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"अनलॉक करने के लिए स्क्रीन लॉक का इस्तेमाल करना है?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"डिवाइस की तरह ही प्राइवेट स्पेस को अनलॉक किया जा सकता है या कोई दूसरा लॉक सेट किया जा सकता है"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"स्क्रीन लॉक का इस्तेमाल करें"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"नया लॉक चुनें"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"हो गया!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"हो गया"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"प्राइवेट स्पेस ऐक्सेस करने के लिए नीचे की ओर स्क्रोल करें"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"प्राइवेट स्पेस को सेट अप करने के लिए साइन इन करें"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"प्राइवेट स्पेस को सेट अप करने के लिए, आपको किसी खाते में साइन इन करना होगा"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"प्राइवेट स्पेस दिखाने के लिए (उपयोगकर्ता अनुभव फ़ाइनल नहीं)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Settings ऐप्लिकेशन खोलें"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"सुरक्षा, निजता, प्राइवेट स्पेस, और लॉक होने पर प्राइवेट स्पेस छिपाएं पर टैप करें"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"लॉक होने पर प्राइवेट स्पेस छिपाएं टॉगल को बंद करें"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Googler के लिए नोट: इस नई सुविधा पर अभी काम चल रहा है"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"ज़्यादा से ज़्यादा <xliff:g id="COUNT">%d</xliff:g> फ़िंगरप्रिंट जोड़े जा सकते हैं"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"आप अधिकतम संख्या में फ़िंगरप्रिंट जोड़ चुके हैं"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"और ज़्यादा फ़िंगरप्रिंट नहीं जोड़े जा सकते"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"कनेक्ट करें"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"डिसकनेक्ट करें"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"जोड़े और कनेक्ट करें"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ब्लूटूथ चालू होने पर, आपका डिवाइस आस-पास के दूसरे ब्लूटूथ डिवाइसों से संपर्क कर सकता है."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ब्लूटूथ ऑन होने पर आपका डिवाइस आस-पास के अन्य ब्लूटूथ डिवाइसों से संपर्क कर सकता है"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ब्लूटूथ चालू हाेने पर, आपका डिवाइस आस-पास के ब्लूटूथ डिवाइसों से कनेक्ट हो सकता है. \n\nडिवाइस इस्तेमाल करने के अनुभव काे बेहतर बनाने के लिए, ऐप्लिकेशन और सेवाओं की मदद से किसी भी समय आस-पास के ब्लूटूथ डिवाइसों काे स्कैन किया जा सकता है. ऐसा ब्लूटूथ बंद होने पर भी किया जा सकता है. उदाहरण के लिए, इसका इस्तेमाल जगह से जुड़ी सुविधाओं और सेवाओं को बेहतर बनाने के लिए किया जा सकता है. ब्लूटूथ स्कैनिंग की सेटिंग में जाकर, इसे बदला जा सकता है."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"बदलें"</string>
<string name="device_details_title" msgid="1155622417516195481">"डिवाइस की जानकारी"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Android रनटाइम को, डीबग करने लायक ऐप्लिकेशन के लिए बाइट कोड की पुष्टि करने की अनुमति दें"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"रीफ़्रेश दर दिखाएं"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"डिसप्ले की मौजूदा रीफ़्रेश दर दिखाएं"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"एचडीआर/एसडीआर रेशियो दिखाएं"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"एचडीआर/एसडीआर का मौजूदा रेशियो दिखाएं"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"एनएफ़सी"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"एनएफ़सी के लिए डिवाइस को अनलॉक करने की ज़रूरत है"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android बीम"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"फ़ोल्ड करने पर भी, ऐप्लिकेशन का इस्तेमाल जारी रखें"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"स्मूद डिसप्ले"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"इस सेटिंग को चालू करने पर, कुछ कॉन्टेंट के लिए रीफ़्रेश दर अपने-आप <xliff:g id="ID_1">%1$d</xliff:g> हर्ट्ज़ तक बढ़ जाती है. इसमें ज़्यादा बैटरी खर्च होती है."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"रीफ़्रेश दर को सबसे ज़्यादा पर सेट करें"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"रीफ़्रेश होने की सबसे ज़्यादा दर जिसके लागू होने के बाद छूकर की जाने वाली कार्रवाइयां तेज़ हो जाती हैं. साथ ही, ऐनिमेशन की क्वालिटी बेहतर हो जाती है. इसमें बैटरी ज़्यादा खर्च होती है."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"स्क्रीन चालू रखने की सुविधा"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"कम्यूनिटी सेटिंग"</string>
<string name="apn_settings" msgid="4295467389400441299">"ऐक्सेस पॉइंट नाम"</string>
<string name="apn_edit" msgid="2003683641840248741">"ऐक्सेस पॉइंट में बदलाव करें"</string>
+ <string name="apn_add" msgid="9069613192201630934">"ऐक्सेस पॉइंट जोड़ें"</string>
<string name="apn_not_set" msgid="8246646433109750293">"सेट नहीं है"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"सेट नहीं है"</string>
<string name="apn_name" msgid="6677695784108157953">"नाम"</string>
@@ -1740,7 +1725,7 @@
<string name="system_package" msgid="7559476279008519360">"सिस्टम अपडेट बाहरी मीडिया में इंस्टॉल नहीं किये जा सकते"</string>
<string name="move_error_device_admin" msgid="1561502976834303626">"डिवाइस व्यवस्थापक ऐप्लिकेशन को बाहरी मीडिया पर इंस्टॉल नहीं किया जा सकता"</string>
<string name="force_stop_dlg_title" msgid="86745852555490146">"ज़बरदस्ती रोकें?"</string>
- <string name="force_stop_dlg_text" msgid="1527286468544457368">"अगर आप किसी ऐप को बलपूर्वक रोकते हैं, तो यह गलत व्यवहार कर सकता है."</string>
+ <string name="force_stop_dlg_text" msgid="1527286468544457368">"किसी ऐप्लिकेशन को ज़बरदस्ती रोकने पर, ऐसा हो सकता है कि वह ठीक तरह से काम न करे."</string>
<string name="app_disable_dlg_positive" msgid="1414218905322009505">"ऐप को अक्षम करें"</string>
<string name="app_disable_dlg_text" msgid="2449382902751908916">"अगर आप इस ऐप्लिकेशन को बंद कर देते हैं, तो हो सकता है कि Android और दूसरे ऐप्लिकेशन ठीक से काम न करें. ध्यान रखें कि आप इस ऐप्लिकेशन को मिटा नहीं सकते क्योंकि यह आपके डिवाइस पर पहले से इंस्टॉल होकर आया है. इसे बंद करने पर ऐप्लिकेशन बंद हो जाएगा और आपके डिवाइस पर दिखाई नहीं देगा."</string>
<string name="app_install_details_group_title" msgid="1172114479073704677">"स्टोर"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"इसे खोलने के लिए सुलभता बटन का इस्तेमाल करें"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"खोलने के लिए, आवाज़ वाले दोनों बटन दबाकर रखें"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"खोलने के लिए स्क्रीन पर तीन बार टैप करें"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"खोलने के लिए, स्क्रीन पर दो उंगलियों से तीन बार टैप करें"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"इसे खोलने के लिए हाथ के जेस्चर का इस्तेमाल करें"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"सुलभता से जुड़े हाथ के जेस्चर का इस्तेमाल करें"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"इस सुविधा का इस्तेमाल करने के लिए, स्क्रीन पर सबसे नीचे मौजूद सुलभता बटन <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> पर टैप करें.\n\nएक सुविधा से दूसरी सुविधा पर जाने के लिए, सुलभता बटन को दबाकर रखें."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"इस सुविधा का इस्तेमाल करने के लिए, स्क्रीन पर मौजूद सुलभता बटन पर टैप करें."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"इस सुविधा का इस्तेमाल करने के लिए, आवाज़ वाले दोनों बटन दबाकर रखें."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ज़ूम करने की सुविधा को शुरू और बंद करने के लिए, स्क्रीन पर कहीं भी तीन बार टैप करें."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"ज़ूम करने की सुविधा को शुरू और बंद करने के लिए, स्क्रीन पर कहीं भी दो उंगलियों से तीन बार टैप करें."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"इस सुविधा का इस्तेमाल करने के लिए, स्क्रीन पर नीचे से ऊपर की ओर, दो उंगलियों से स्वाइप करें.\n\nएक सुविधा से दूसरी सुविधा पर जाने के लिए, दो उंगलियों से ऊपर की ओर स्वाइप करें और स्क्रीन को थोड़ी देर दबाकर रखें."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"इस सुविधा का इस्तेमाल करने के लिए, स्क्रीन पर नीचे से ऊपर की ओर, तीन उंगलियों से स्वाइप करें.\n\nएक सुविधा से दूसरी सुविधा पर जाने के लिए, दो उंगलियों से ऊपर की ओर स्वाइप करें और स्क्रीन को थोड़ी देर दबाकर रखें."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"सुलभता सुविधा का इस्तेमाल करने के लिए, स्क्रीन पर नीचे से ऊपर की ओर, दो उंगलियों से स्वाइप करें.\n\nएक सुविधा से दूसरी सुविधा पर जाने के लिए, दो उंगलियों से ऊपर की ओर स्वाइप करें और स्क्रीन को थोड़ी देर दबाकर रखें."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"आवाज़ वाले बटन दबाकर रखें"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"आवाज़ कम-ज़्यादा करने वाले दोनों बटन दबाकर रखें"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"आवाज़ वाले दोनों बटन दबाकर रखें"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"स्क्रीन पर दो उंगलियों से तीन बार टैप करें"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"स्क्रीन पर दो उंगलियों से तीन बार टैप करें"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"स्क्रीन पर तुरंत दो उंगलियों से {0,number,integer} बार टैप करें"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"स्क्रीन पर तीन बार टैप करें"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"स्क्रीन पर तीन बार टैप करें"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"स्क्रीन पर जल्दी-जल्दी {0,number,integer} बार टैप करें. इस शॉर्टकट के इस्तेमाल से आपके डिवाइस की रफ़्तार धीमी हो सकती है"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"यह आपके और किसी ऐप्लिकेशन या हार्डवेयर सेंसर के बीच होने वाले इंटरैक्शन को ट्रैक कर सकता है और आपकी तरफ़ से ऐप्लिकेशन के साथ इंटरैक्ट कर सकता है."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"अनुमति दें"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"अनुमति न दें"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"बंद करें"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"रद्द करें"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> को बंद करना है?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"\'<xliff:g id="STOP">%1$s</xliff:g>\' पर टैप करने से <xliff:g id="SERVICE">%2$s</xliff:g> बंद हो जाएगी."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"कोई सेवा इंस्टॉल नहीं है"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"कोई सेवा नहीं चुनी गई"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"कोई विवरण नहीं दिया गया."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"अगर आप ऐप की बैकग्राउंड गतिविधि को सीमित करते हैं, तो हो सकता है यह ठीक ढंग से काम न करे"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ऐप्लिकेशन पर रोक नहीं लगेगी क्योंकि यह बैटरी ऑप्टिमाइज़ नहीं कर सकता.\n\nबैटरी ऑप्टिमाइज़ेशन चालू करके ही ऐसा हो सकता है."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"बैटरी खर्च को मैनेज करें"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"\'ऐप्लिकेशन को बैकग्राउंड में चलने\' की सुविधा को चालू करें"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"रीयल-टाइम अपडेट पाने के लिए, \'ऐप्लिकेशन को बैकग्राउंड में चलने\' की सुविधा चालू करें और बैटरी बचाने के लिए इस सुविधा को बंद करें"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"कोई पाबंदी नहीं"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ऑप्टिमाइज़ की गई सेटिंग"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"पाबंदी लगी है"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"नाम"</string>
<string name="vpn_type" msgid="5533202873260826663">"टाइप"</string>
<string name="vpn_server" msgid="2908816134941973935">"सर्वर पता"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP सुरक्षा (MPPE) चालू करें"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP सीक्रेट"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec पहचानकर्ता"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec पहले से शेयर की गई कुंजी"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec उपयोगकर्ता प्रमाणपत्र"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA प्रमाणपत्र"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec सर्वर प्रमाणपत्र"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"बेहतर विकल्प दिखाएं"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"डीएनएस सर्च डोमेन"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"डीएनएस सर्वर (उदाहरण 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"फ़ॉरवर्डिंग रूट्स (उदाहरण 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"उपयोगकर्ता का नाम"</string>
<string name="vpn_password" msgid="1183746907642628127">"पासवर्ड"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"खाते की जानकारी सेव करें"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(इस्तेमाल नहीं किया)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(सर्वर की पुष्टि न करें)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(सर्वर से मिला)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"यह वीपीएन प्रकार हमेशा कनेक्ट नहीं रह सकता"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"हमेशा-चालू VPN सिर्फ़ संख्या वाले सर्वर पतों का समर्थन करता है"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"हमेशा-चालू VPN के लिए एक DNS सर्वर तय किया जाना चाहिए"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS सर्वर के पते हमेशा-चालू VPN के लिए संख्या रूप में होने चाहिए"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"डाली गई जानकारी \'वीपीएन हमेशा चालू रखें\' से मेल नहीं खाती"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"रद्द करें"</string>
<string name="vpn_done" msgid="5137858784289564985">"खारिज करें"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"बिना वीपीएन वाले कनेक्शन ब्लॉक करें"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"वीपीएन कनेक्शन ज़रूरी है?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"यह वीपीएन सुरक्षित नहीं है. IKEv2 वीपीएन पर अपडेट करें"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"वह VPN प्रोफ़ाइल चुनें जिससे हमेशा कनेक्ट रहना है. नेटवर्क ट्रैफ़िक की अनुमति केवल इस VPN से कनेक्ट रहने पर ही दी जाएगी."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"कोई नहीं"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"हमेशा-चालू VPN के लिए, सर्वर और DNS दोनों के लिए आईपी पता होना ज़रूरी है."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"सारी सूचनाएं दिखाएं"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"डिवाइस अनलॉक होने पर ही संवेदनशील कॉन्टेंट दिखाएं"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"सूचनाएं बिलकुल न दिखाएं"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"आपको लॉक स्क्रीन पर क्या देखना है?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"आपको अपनी लॉक स्क्रीन पर क्या दिखाना है?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"लॉक स्क्रीन"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"ऑफ़िस के काम से जुड़ी सभी सूचनाएं दिखाएं"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"ऑफ़िस के काम से जुड़ी संवेदनशील सूचनाएं छिपाएं"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"सभी फ़ाइलों को मैनेज करने की अनुमति दें"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"इस ऐप्लिकेशन को अनुमति दें, ताकि वह इस डिवाइस और इससे जुड़े स्टोरेज पर मौजूद फ़ाइलों को पढ़ सके, उनमें बदलाव कर सके, और उन्हें मिटा सके. अनुमति दिए जाने पर, यह ऐप्लिकेशन आपको सूचना दिए बिना फ़ाइलों को ऐक्सेस कर सकता है."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"सभी फ़ाइलें ऐक्सेस कर सकते हैं"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"बोलकर चालू करने की सुविधा वाले ऐप्लिकेशन"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"बोलकर चालू करने की अनुमति दें"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"बोलकर चालू करने की सुविधा, मंज़ूरी पा चुके ऐप्लिकेशन को बोले गए निर्देशों की मदद से चालू कर सकती है. पहले से मौजूद अडैप्टिव सेंसिंग का इस्तेमाल करके, यह पक्का किया जाता है कि डेटा निजी बना रहे.\n\n"<a href="">"सुरक्षित अडैप्टिव सेंसिंग के बारे में ज़्यादा जानें"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"फ़ुल स्क्रीन पर दिखने वाली सूचनाएं"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"इस ऐप्लिकेशन से सूचनाओं को फ़ुल स्क्रीन में दिखाने की अनुमति दें"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"इस ऐप्लिकेशन को, डिवाइस लॉक होने पर सूचनाओं को फ़ुल स्क्रीन पर दिखाने की अनुमति दें. ऐसा हो सकता है कि ऐप्लिकेशन इनका इस्तेमाल अलार्म, आने वाले (इनकमिंग) कॉल या अन्य ज़रूरी सूचनाओं को हाइलाइट करने के लिए करें."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ने बैकग्राउंड में चलने के दौरान, सामान्य से ज़्यादा बैटरी खर्च की"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ने फ़ोरग्राउंड में चलने के दौरान, ज़्यादा बैटरी खर्च की"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ने फ़ोरग्राउंड में चलने के दौरान, सामान्य से ज़्यादा बैटरी खर्च की"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"कितनी बैटरी खर्च की है"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"ऐप्लिकेशन ने ज़्यादा बैटरी खर्च की"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ऐप्लिकेशन ने बैकग्राउंड में ज़्यादा बैटरी खर्च की"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ऐप्लिकेशन ने फ़ोरग्राउंड में ज़्यादा बैटरी खर्च की"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"सिस्टम नेविगेशन, दो बटन वाला नेविगेशन, तीन बटन वाला नेविगेशन, हाथ के जेस्चर (स्पर्श) वाला नेविगेशन, स्वाइप"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"डिजिटल असिस्टेंट"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"असिस्टेंट को चालू करने के लिए स्वाइप करें"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"डिजिटल असिस्टेंट ऐप्लिकेशन चालू करने के लिए, स्क्रीन पर नीचे वाले कोने से ऊपर की ओर स्वाइप करें."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"डिजिटल असिस्टेंट ऐप्लिकेशन चालू करने के लिए, स्क्रीन पर नीचे वाले कोने से ऊपर की ओर स्वाइप करें"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant का इस्तेमाल करने के लिए, होम बटन दबाकर रखें"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"डिजिटल असिस्टेंट ऐप्लिकेशन चालू करने के लिए, होम बटन को दबाकर रखें."</string>
<string name="low_label" msgid="6525629096999711220">"कम"</string>
@@ -4163,7 +4148,7 @@
<string name="account_for_section_header" msgid="7466759342105251096">"<xliff:g id="USER_NAME">%1$s</xliff:g> के खाते"</string>
<string name="auto_sync_account_title" msgid="1070908045600374254">"ऐप्लिकेशन का डेटा अपने-आप सिंक होने की सुविधा चालू करें"</string>
<string name="auto_sync_account_summary" msgid="7580352130028957346">"ऐप्लिकेशन को डेटा अपने-आप रीफ्रे़श करने दें"</string>
- <string name="account_sync_title" msgid="7036067017433297574">"खाता सिंक"</string>
+ <string name="account_sync_title" msgid="7036067017433297574">"खाता सिंक करें"</string>
<string name="account_sync_summary_some_on" msgid="911460286297968724">"<xliff:g id="ID_2">%2$d</xliff:g> में से <xliff:g id="ID_1">%1$d</xliff:g> आइटम के लिए सिंक करने की सुविधा चालू है"</string>
<string name="account_sync_summary_all_on" msgid="2953682111836599841">"सभी आइटम के लिए सिंक करने की सुविधा चालू है"</string>
<string name="account_sync_summary_all_off" msgid="6378301874540507884">"सभी आइटम के लिए सिंक होने की सुविधा बंद है"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"व्याकरण के हिसाब से लिंग चुनें"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"ऐप्लिकेशन में धोखाधड़ी वाले व्यवहार का पता लगाने के लिए, स्कैनिंग की जा रही है"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"फ़िशिंग का पता लगाने के लिए, ऐप्लिकेशन में की गई गतिविधि की जांच करें"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"स्कैन करने की सुविधा इस्तेमाल करें"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"वर्क ऐप्लिकेशन के लिए स्कैन करने की सुविधा इस्तेमाल करें"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"स्कैनिंग सुविधा से धोखाधड़ी वाले ऐप्लिकेशन का पता लगाएं"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"स्कैनिंग सुविधा से, वर्क प्रोफ़ाइल में मौजूद धोखाधड़ी वाले ऐप्लिकेशन का पता लगाएं"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 7cfdad1..188d732 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pisaljka"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Dijeljenje audiozapisa"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Podijeli audiozapis"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Pozivi i alarmi"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Povežite se s audiostreamom LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Audiostreamovi u blizini"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audiostreamovi"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Povežite se s audiostreamom pomoću QR koda"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Nema nađenih audiostreamova u blizini."</string>
<string name="date_and_time" msgid="1788358029823431692">"Datum i vrijeme"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Očisti"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Poslovni profil"</string>
<string name="private_space_title" msgid="7078627930195569767">"Privatni prostor"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Sakrivanje aplikacija u privatnoj mapi"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Otključavanje pomoću funkcije za zaključavanje zaslona"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Sakrivanje aplikacija u privatnoj mapi kojoj možete pristupiti samo vi"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Zaključavanje privatnog prostora"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Privatni prostor možete otključati na isti način kao što otključavate uređaj. Ili odaberite drugi način zaključavanja"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Upotreba zaključavanja zaslona uređaja"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Otključavanje licem i otiskom prsta"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Dodirnite za postavljanje"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Isto kao i zaključavanje zaslona na uređaju"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Odabrati novo zaključavanje za privatni prostor?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Sakrij kada je zaključano"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Sakrivanje privatnog prostora kad je zaključan"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Privatni prostor možete sakriti s popisa aplikacija uređaja"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Pristup privatnom prostoru kad je sakriven"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Na traci za pretraživanje pretražite privatni prostor"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Dodirnite pločicu privatnog prostora"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Otključajte privatni prostor"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Isključeno"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Uključeno"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sustav"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Izrada privatnog prostora"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Brisanje privatnog prostora"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Privatni prostor uspješno je izrađen"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Privatni prostor već postoji"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Privatni prostor nije moguće izraditi"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Privatni prostor uspješno je izbrisan"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Privatni prostor nije moguće izbrisati"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Postavi zaključavanje zaslona"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Za upotrebu Privatnog prostora postavite zaključavanje."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Postavi zaključavanje zaslona"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Odustani"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Odustani"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Postavi"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Postavljanje privatnog prostora"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Sakrivanje privatnih aplikacija na sigurnom mjestu kojem samo vi možete pristupiti"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Kako to funkcionira"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Privatnom prostoru možete pristupiti s dna popisa aplikacija"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Aplikacije u privatnom prostoru zaštićene su zaključavanjem"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Obavijesti aplikacija u privatnom prostoru sakrivene su kada je on zaključan"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Aplikacije privatnog prostora neće se prikazati u Upravitelju dopuštenja, na nadzornoj ploči za privatnost i u drugim postavkama kada je privatni prostor zaključan"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"U tijeku je postavljanje privatnog prostora…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Podaci o upotrebi za aplikacije privatnog prostora sakriveni su kad je privatni prostor zaključan"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Pristup privatnom prostoru s popisa aplikacija"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Postavljanje privatnog prostora nije uspjelo"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Pokušajte sada ili se vratite kasnije"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Pokušajte ponovno"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Koristiti zaključavanje zaslona za otključavanje?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Privatni prostor možete otključati na isti način kao što otključavate uređaj. Ili odaberite drugi način zaključavanja"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Upotreba zaključavanja zaslona"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Odaberite novi način otključavanja"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Sve je spremno!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Gotovo"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Pomaknite se prema dolje za pristup privatnom prostoru"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Prijavite se za postavljanje privatnog prostora"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Trebate se prijaviti na račun za postavljanje privatnog prostora"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Prikazivanje privatnog prostora (nije finalni UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Otvorite aplikaciju Postavke"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Dodirnite Sigurnost i privatnost > Privatni prostor > Sakrivanje privatnog prostora kad je zaključan"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Isključivanje sakrivanja privatnog prostora kad je zaključan"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Napomena za Googleove zaposlenike: razvoj te značajke još je u tijeku"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Maksimalni broj otisaka prstiju koji možete dodati: <xliff:g id="COUNT">%d</xliff:g>"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Dodali ste maksimalan broj otisaka prstiju"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nije moguće dodati više otisaka prstiju"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Poveži"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Isključi"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Upari i poveži"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kada je Bluetooth uključen, vaš uređaj može komunicirati s drugim Bluetooth uređajima u blizini."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kad je Bluetooth uključen, uređaj može komunicirati s drugim uređajima u blizini"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kada je Bluetooth uključen, uređaj može komunicirati s ostalim Bluetooth uređajima u blizini.\n\nRadi boljeg doživljaja na uređaju, aplikacije i usluge i dalje mogu tražiti uređaje u blizini u bilo kojem trenutku, čak i kada je Bluetooth isključen. Time se primjerice mogu poboljšati značajke i usluge koje se temelje na lokaciji. To možete promijeniti u postavkama traženja Bluetootha."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Promijenite"</string>
<string name="device_details_title" msgid="1155622417516195481">"O uređaju"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Dopušta ART-u da potvrdi bajtni kôd za aplikacije iz kojih se mogu uklanjati pogreške"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Prikaži učestalost osvježavanja"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Prikazuje trenutačnu učestalost osvježavanja"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Prikaz omjera HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Prikaz trenutačnog omjera HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Zahtijevaj otključavanje uređaja za NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Nastavak upotrebe aplikacija pri sklapanju"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Glatki prikaz"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatski povećava učestalost osvježavanja do <xliff:g id="ID_1">%1$d</xliff:g> Hz za određeni sadržaj. Povećava potrošnju baterije."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Prisilna maksimalna učestalost osvježavanja"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Najviša učestalost osvježavanja za poboljšano reagiranje na dodir i kvalitetu animacije. Povećava potrošnju baterije."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Pozornost na zaslonu"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Zajedničke postavke"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN-ovi"</string>
<string name="apn_edit" msgid="2003683641840248741">"Uređivanje pristupne točke"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Dodajte pristupnu točku"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nije postavljeno"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nije postavljeno"</string>
<string name="apn_name" msgid="6677695784108157953">"Naziv"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otvaranje pomoću gumba za pristupačnost"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Zadržite tipke za glasnoću za otvaranje"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triput dodirnite zaslon za otvaranje"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Triput dodirnite zaslon dvama prstima za otvaranje"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otvaranje pokretom"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Upotreba pokreta za pristupačnost"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Da biste koristili tu značajku, dodirnite gumb za Pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> pri dnu zaslona.\n\nDa biste prešli na neku drugu značajku, dodirnite i zadržite gumb za Pristupačnost."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Da biste koristili tu značajku, dodirnite gumb za pristupačnost na zaslonu."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Da biste koristili tu značajku, pritisnite i zadržite obje tipke za glasnoću."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Da biste pokrenuli ili zaustavili povećavanje, triput dodirnite bilo gdje na zaslonu."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Da biste pokrenuli i zaustavili povećavanje, triput dodirnite dvama prstima bilo gdje na zaslonu."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Da biste koristili tu značajku, prijeđite s dva prsta prema gore od dna zaslona.\n\nDa biste prešli na neku drugu značajku, prijeđite s dva prsta prema gore i zadržite."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Da biste koristili tu značajku, prijeđite s tri prsta prema gore od dna zaslona.\n\nDa biste prešli na neku drugu značajku, prijeđite s tri prsta prema gore i zadržite."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Da biste koristili značajku pristupačnosti, prijeđite s dva prsta prema gore od dna zaslona.\n\nDa biste prešli na neku drugu značajku, prijeđite s dva prsta prema gore i zadržite."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Držite tipke za glasnoću"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"držite tipke za glasnoću"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Pritisnite i zadržite obje tipke za glasnoću"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Triput dodirnite zaslon dvama prstima"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"triput dodirnite zaslon dvama prstima"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Brzo dodirnite zaslon dvama prstima ovoliko puta: {0,number,integer}"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triput dodirnite zaslon"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"triput dodirnite zaslon"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Brzo dodirnite zaslon {0,number,integer} puta. Taj prečac može usporiti uređaj"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Može pratiti vaše interakcije s aplikacijama ili senzorom uređaja i stupati u interakciju s aplikacijama u vaše ime."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Dopusti"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Odbij"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Zaustavi"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Odustani"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Želite li zaustaviti uslugu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Ako dodirnete <xliff:g id="STOP">%1$s</xliff:g>, zaustavit će se <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nema instaliranih usluga"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nije odabrana nijedna usluga"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Nije dan opis."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ako ograničite pozadinsku aktivnost za aplikaciju, možda će se ponašati nepredviđeno"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Aplikacija nije postavljena za optimizaciju baterije, pa je ne možete ograničiti.\n\nZa ograničenje uključite optimizaciju."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Upravljanje potrošnjom baterije"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Omogućivanje upotrebe u pozadini"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Omogućite za ažuriranja u stvarnom vremenu, onemogućite za uštedu baterije"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neograničeno"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizirano"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ograničeno"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Naziv"</string>
<string name="vpn_type" msgid="5533202873260826663">"Vrsta"</string>
<string name="vpn_server" msgid="2908816134941973935">"Adresa poslužitelja"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP enkripcija (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"tajna L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifikator"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec unaprijed dijeljeni ključ"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec korisnički certifikat"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA certifikat"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec certifikat poslužitelja"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Prikaži napredne opcije"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domene DNS pretraživanja"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS poslužitelji (npr. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Rute prosljeđivanja (npr. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Korisničko ime"</string>
<string name="vpn_password" msgid="1183746907642628127">"Zaporka"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Spremi podatke o računu"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ne koristi se)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne potvrđuj poslužitelj)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(primljen od poslužitelja)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ova vrsta VPN-a ne podržava stalnu vezu"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Uvijek uključeni VPN podržava samo numeričke adrese poslužitelja"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Za uvijek uključeni VPN mora biti naveden DNS poslužitelj"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adrese DNS poslužitelja za uvijek uključeni VPN moraju biti numeričke"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Uneseni podaci ne podržavaju uvijek uključeni VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Odustani"</string>
<string name="vpn_done" msgid="5137858784289564985">"Odbaci"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blokiraj veze bez VPN-a"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Zahtijevati VPN vezu?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nije sigurno. Ažurirajte na IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Odaberite VPN profil s kojim ćete uvijek biti povezani. Mrežni promet bit će dopušten samo kada ste povezani s tom VPN mrežom."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Ništa"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Uvijek uključena VPN mreža zahtijeva IP adresu za poslužitelj i za DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Prikaži cijeli sadržaj obavijesti"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Prikaži osjetljiv sadržaj samo kad je uređaj otključan"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Uopće ne prikazuj obavijesti"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Što želite da se prikazuje na zaključanom zaslonu?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Što želite da prikazuje vaš zaključani zaslon?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Zaključani zaslon"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Prikaži cijeli sadržaj obavijesti poslovnog profila"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Sakrij osjetljiv sadržaj poslovnog profila"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Dopusti pristup za upravljanje svim datot."</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Dopustite toj aplikaciji čitanje, izmjenu i brisanje svih datoteka na ovom uređaju ili drugim povezanim uređajima za pohranu. Ako date to dopuštenje, aplikacija može pristupati datotekama bez vašeg znanja."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Može pristupiti svim datotekama"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikacije s glasovnom aktivacijom"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Dopusti glasovnu aktivaciju"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Glasovna aktivacija uključuje odobrene aplikacije bez upotrebe ruku pomoću glasovne naredbe. Integrirano adaptivno otkrivanje omogućuje da podaci ostanu privatni.\n\n"<a href="">"Više o zaštićenom adaptivnom otkrivanju"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Obavijesti na cijelom zaslonu"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Omogući obavijesti te aplikacije na cijelom zaslonu"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Omogućuje aplikaciji da prikazuje obavijesti koje zauzimaju cijeli zaslon kad je uređaj zaključan. Aplikacije na taj način mogu istaknuti alarme, dolazne pozive ili druge hitne obavijesti."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> trošila je više baterije nego inače u pozadini"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> trošila je više baterije u prednjem planu"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> trošila je više baterije nego inače u prednjem planu"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalija potrošnje baterije"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Visoka potrošnja baterije"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Visoka potrošnja baterije u pozadini"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Visoka potrošnja baterije u prednjem planu"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navigacija za sustav, navigacija pomoću dva gumba, navigacija pomoću tri gumba, navigacija pokretima, prelazak prstom"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitalni asistent"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Prijeđite prstom da biste pokrenuli asistenta"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Prijeđite prstom prema gore iz donjeg kuta da biste pokrenuli aplikaciju digitalnog asistenta"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Prijeđite prstom prema gore iz donjeg kuta da biste pokrenuli aplikaciju digitalnog asistenta"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Zadržite gumb početnog zaslona za Asistenta"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Pritisnite i zadržite gumb početnog zaslona da biste pokrenuli aplikaciju digitalnog asistenta."</string>
<string name="low_label" msgid="6525629096999711220">"Niska"</string>
@@ -4960,8 +4945,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Odaberite gramatički rod"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Provjera radi otkrivanja obmanjujućih aplikacija"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Provjera aktivnosti u aplikaciji radi otkrivanja krađe identiteta"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Korištenje provjere"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Korištenje provjere za poslovne aplikacije"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Koristi skeniranje obmanjujućih aplikacija"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Koristi skeniranje obmanjujućih aplikacija za posao"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index c77db47..cbd24e7 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Érintőceruza"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Hang megosztása"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Hang megosztása"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Hívások és riasztások"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Csatlakozás alacsony energiaszintű hangátvitelt használó streamhez"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Közeli audiostreamek"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audiostreamek"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Csatlakozhat audiostreamhez QR-kóddal"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Nem találtunk közeli audiostreamet."</string>
<string name="date_and_time" msgid="1788358029823431692">"Dátum és idő"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Törlés"</string>
@@ -539,7 +543,14 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Munkaprofil"</string>
<string name="private_space_title" msgid="7078627930195569767">"Privát terület"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Alkalmazások elrejtése privát mappában"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Feloldás képernyőzárral"</string>
+ <string name="private_space_description" msgid="5494963647270826210">"Elrejtheti a kívánt alkalmazásokat egy csak Ön által hozzáférhető privát mappában."</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Privát terület zárolása"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"A privát területet feloldhatja ugyanúgy, ahogyan az eszközét is, vagy kiválaszthat másik zárolási lehetőséget."</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Az eszköz képernyőzárának használata"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Arcalapú feloldás és Feloldás ujjlenyomattal"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Koppintson ide a beállításhoz"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Ugyanaz, mint az eszköz képernyőzára"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Új zárolást választ a privát területhez?"</string>
<string name="private_space_hide_title" msgid="8687034008994037610">"Elrejtés lezárt állapotban"</string>
<string name="privatespace_hide_page_title" msgid="972581369094289386">"Privát terület elrejtése lezárt állapotban"</string>
<string name="privatespace_hide_page_summary" msgid="1052569521186403642">"A privát terület elrejthető az applistából, ha titkolná mások előtt"</string>
@@ -550,11 +561,7 @@
<string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Ki"</string>
<string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Be"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Rendszer"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Privát terület létrehozása"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Privát terület törlése"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Privát terület sikeresen létrehozva"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Már létezik privát terület"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Nem sikerült létrehozni a privát területet"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Privát terület sikeresen törölve"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Nem sikerült törölni a privát területet"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Képernyőzár beállítása"</string>
@@ -568,40 +575,32 @@
<string name="privatespace_how_title" msgid="8794102046435526065">"Hogyan működik?"</string>
<string name="privatespace_access_bottom_text" msgid="1075244097441349030">"A privát terület az alkalmazások listájának alján érhető el."</string>
<string name="privatespace_protected_lock_text" msgid="7320604832432017423">"A privát területen lévő alkalmazásokat zárolás védi"</string>
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"A privát területen lévő alkalmazásoktól érkező értesítések rejtve maradnak, amikor le van zárva a privát terület"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"A privát terület alkalmazásai nem jelennek meg az engedélykezelőben, az adatvédelmi irányítópulton és más beállításokban, amikor a privát terület le van zárva"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"A privát terület beállítása…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"A privát terület alkalmazásaihoz tartozó használati adatok rejtve vannak, amikor a privát terület le van zárva"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"A privát terület megnyitása az alkalmazáslistából"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Nem sikerült a privát terület beállítása"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Próbálja újra most, vagy térjen vissza később."</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Újra"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"A képernyőzárat szeretné használni a feloldáshoz?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"A privát területet feloldhatja ugyanúgy, ahogyan az eszközét is, vagy kiválaszthat másik zárolási lehetőséget."</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Képernyőzár használata"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Új zárolás kiválasztása"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Kész is!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Kész"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Görgessen le a privát terület megnyitásához"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Jelentkezzen be a privát terület beállításához"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"A privát terület beállításához be kell jelentkeznie egy fiókba"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"A privát terület megjelenítése (nem végleges UX-változat)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Nyissa meg a Beállítások alkalmazást"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Koppintson a Biztonság és adatvédelem > Privát terület > Privát terület elrejtése lezárt állapotban lehetőségre"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Kapcsolja ki a Privát terület elrejtése lezárt állapotban kapcsolót"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Megjegyzés a Google-alkalmazottaknak: Ennek a funkciónak a fejlesztése még folyamatban van"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Legfeljebb <xliff:g id="COUNT">%d</xliff:g> ujjlenyomatot adhat hozzá"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Elérte a hozzáadható ujjlenyomatok maximális számát"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nem lehet több ujjlenyomatot hozzáadni"</string>
@@ -765,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Kapcsolódás"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Szétkapcsolás"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Párosítás és csatlakozás"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Ha a Bluetooth aktív, az eszköz képes kommunikálni a közelben lévő Bluetooth-eszközökkel."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Ha a Bluetooth aktív, az eszköz képes kommunikálni a közeli Bluetooth-eszközökkel."</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Ha a Bluetooth aktív, az eszköz képes kommunikálni a közelben lévő Bluetooth-eszközökkel.\n\nAz eszközhasználati élmény javítása érdekében az alkalmazások és a szolgáltatások bármikor kereshetnek közeli eszközöket, még akkor is, ha ki van kapcsolva a Bluetooth. Ez például a helyalapú funkciók és szolgáltatások javítására használható. A funkciót a Bluetooth-keresési beállításoknál módosíthatja."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Módosítás"</string>
<string name="device_details_title" msgid="1155622417516195481">"Eszközadatok"</string>
@@ -818,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Annak engedélyezése az ART számára, hogy ellenőrizze a hibaelhárítást igénylő alkalmazások bájtkódját."</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Frissítési gyakoriság"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"A jelenlegi kijelzőfrissítési gyakoriság mutatása"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR arány mutatása"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"A jelenlegi HDR/SDR arány mutatása"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Az NFC használatához fel kell oldani az eszköz zárolását"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1119,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Appok megtartása összehajtáskor"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Néhány tartalomnál automatikusan megemeli a frissítési gyakoriságot <xliff:g id="ID_1">%1$d</xliff:g> Hz-re. Növeli az akkumulátorhasználatot."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Legmagasabb frissítési gyakoriság kényszerítése"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Legnagyobb frissítési gyakoriság a kifinomultabb érintési érzékenység és a jobb minőségű animációk érdekében. Növeli az akkumulátorhasználatot."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Képernyőfigyelő"</string>
@@ -1356,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Közösségi beállítások"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN-ek"</string>
<string name="apn_edit" msgid="2003683641840248741">"Hozzáférési pont szerkesztése"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Hozzáférési pont hozzáadása"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nincs megadva"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nincs beállítva"</string>
<string name="apn_name" msgid="6677695784108157953">"Név"</string>
@@ -1990,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Megnyitás a kisegítő gombbal"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"A megnyitáshoz tartsa lenyomva a hangerőgombokat"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Koppintson háromszor a képernyőn a megnyitáshoz"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Koppintson két ujjal a képernyőn háromszor a megnyitáshoz"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Megnyitás kézmozdulattal"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Kisegítő kézmozdulat használata"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"A funkció használatához koppintson a képernyő alján megtalálható Kisegítő lehetőségek <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> gombra.\n\nA funkciók közti váltáshoz tartsa lenyomva ujját a Kisegítő lehetőségek gombon."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"A funkció használatához koppintson a képernyőn a Kisegítő lehetőségek gombra."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"A funkció használatához tartsa lenyomva mindkét hangerőszabályzó gombot."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"A nagyítás megkezdéséhez és leállításához koppintson háromszor bárhol a képernyőn."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"A nagyítás megkezdéséhez és leállításához koppintson két ujjal háromszor bárhol a képernyőn."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"A funkció használatához csúsztasson két ujjával felfelé a képernyő aljáról.\n\nA funkciók közötti váltáshoz csúsztasson felfelé két ujjával, és ne emelje fel őket a képernyőről."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"A funkció használatához csúsztasson három ujjával felfelé a képernyő aljáról.\n\nA funkciók közötti váltáshoz csúsztasson felfelé három ujjával, és ne emelje fel őket a képernyőről."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"A Kisegítő lehetőségek valamelyik funkciójának használatához csúsztasson két ujjával felfelé a képernyő aljáról.\n\nA funkciók közötti váltáshoz csúsztasson felfelé két ujjával, és ne emelje fel őket a képernyőről."</string>
@@ -2017,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hangerőgombok nyomva tartása"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hangerőgombok nyomva tartása"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Tartsa lenyomva mindkét hangerőgombot"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Három koppintás a képernyőn két ujjal"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"három koppintás a képernyőn két ujjal"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Gyors koppintás a képernyőre két ujjal {0,number,integer} alkalommal"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Háromszori koppintás a képernyőre"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"háromszori koppintás a képernyőre"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Koppintson a képernyőre gyorsan, {0,number,integer} alkalommal. Ez a gyorsparancs lelassíthatja az eszközét."</string>
@@ -2247,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Követheti az alkalmazásokkal és hardveres érzékelőkkel való interakcióit, és műveleteket végezhet az alkalmazásokkal az Ön nevében."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Engedélyezés"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Tiltás"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Leállítás"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Mégse"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Leállítja a következőt: <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"A <xliff:g id="STOP">%1$s</xliff:g> gombra koppintva leállítja a következő szolgáltatást: <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nincs telepített szolgáltatás"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nincs kiválasztott szolgáltatás"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Nincs leírás."</string>
@@ -2320,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ha korlátozza az alkalmazások háttértevékenységét, lehetséges, hogy hibásan fognak működni"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Az alkalmazás nem korlátozható, mert nincs beállítva az akkumulátor optimalizálására.\n\nA korlátozáshoz kapcsolja be az akkumulátoroptimalizálást."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Akkumulátorhasználat kezelése"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Háttérbeli futtatás engedélyezése"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Engedélyezze a valós idejű frissítésekhez, vagy tiltsa le az akkumulátor kíméléséhez"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Korlátlan"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimalizált"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Korlátozott"</string>
@@ -2728,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Név"</string>
<string name="vpn_type" msgid="5533202873260826663">"Típus"</string>
<string name="vpn_server" msgid="2908816134941973935">"Szerver címe"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP-titkosítás (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-titok"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-azonosító"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Megosztott IPSec-kulcs"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec felhasználói tanúsítvány"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-tanúsítvány"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-szervertanúsítvány"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Speciális beállítások megjelenítése"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-keresési domainek"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-szerverek (pl. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Átirányítási útvonalak (pl. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Felhasználónév"</string>
<string name="vpn_password" msgid="1183746907642628127">"Jelszó"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Fiók adatainak mentése"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(nincs használatban)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne ellenőrizze a szervert)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(szervertől fogadva)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ez a VPN-típus nem maradhat mindig csatlakoztatva"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"A mindig bekapcsolt VPN kizárólag a számjegyekből álló szervercímeket támogatja"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Mindig bekapcsolt VPN-hez DNS szerver megadása kötelező"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Mindig bekapcsolt VPN esetén a DNS-szervercímeknek számjegyekből kell állniuk"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"A megadott információ nem támogatja a mindig bekapcsolt VPN-t"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Mégse"</string>
<string name="vpn_done" msgid="5137858784289564985">"Elvetés"</string>
@@ -2784,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN nélküli csatlakozások letiltása"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Kötelezővé teszi a VPN-kapcsolatot?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nem biztonságos. Frissítsen IKEv2 VPN-re."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Válasszon ki egy VPN-profilt, amelyhez mindig csatlakozni szeretne. A hálózati forgalom csak akkor lesz engedélyezve, ha ehhez a VPN-hez csatlakozik."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Nincs"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"A mindig bekapcsolt VPN-hez a szerver és a DNS IP-címe is szükséges."</string>
@@ -3341,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Az összes értesítés jelenjen meg"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Érzékeny tartalmak megjelenítése csak feloldáskor"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Semmilyen értesítés ne jelenjen meg"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hogyan szeretné megjeleníteni az értesítéseket a lezárási képernyőn?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Mit szeretne megjeleníteni a lezárási képernyőn?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lezárási képernyő"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"A munkaprofil-értesítés teljes tartalmának megjelenítése"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Bizalmas munkahelyi tartalom elrejtése"</string>
@@ -3830,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Hozzáférés megadása minden fájl kezeléséhez"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Engedélyezi ennek az alkalmazásnak az eszközön és a csatlakoztatott tárolóköteteken található összes fájl olvasását, módosítását és törlését. Ha engedélyezve van, az alkalmazás anélkül férhet hozzá a fájlokhoz, hogy Önt külön tájékoztatná róla."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Minden fájlhoz hozzáférhet"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Hangalapú aktiválást használó appok"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Hangalapú aktiválás engedélyezése"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Szabadkezes módban a hangalapú aktiválás bekapcsolhat jóváhagyott alkalmazásokat hangalapú utasítások segítségével. A beépített adaptív érzékelés funkció biztosítja, hogy az adatokhoz cssk Ön férjen hozzá.\n\n"<a href="">"További információ a védett adaptív érzékelésről."</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Teljes képernyős értesítések"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Teljes képernyős értesítések engedélyezése ettől az alkalmazástól"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Teljes képernyős értesítések megjelenítésének engedélyezése az alkalmazásnak, amikor az eszköz zárolva van. Az alkalmazások ébresztések, bejövő hívások vagy más sürgős értesítések kiemelésére használhatják ezt a funkciót."</string>
@@ -3993,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"A(z) <xliff:g id="APP_LABEL">%1$s</xliff:g> többet használta az akkumulátort a megszokottnál, amíg a háttérben volt"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"A(z) <xliff:g id="APP_LABEL">%1$s</xliff:g> többet használta az akkumulátort, amíg az előtérben volt"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"A(z) <xliff:g id="APP_LABEL">%1$s</xliff:g> többet használta az akkumulátort a megszokottnál, amíg az előtérben volt"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Akkumulátorhasználati rendellenesség"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Nagy akkumulátorhasználat"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Nagy akkumulátorhasználat a háttérben"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Nagy akkumulátorhasználat az előtérben"</string>
@@ -4090,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"rendszernavigáció, kétgombos navigáció, háromgombos navigáció, navigáció kézmozdulatokkal, csúsztatás"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitális asszisztens"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Asszisztens megnyitása csúsztatással"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Csúsztassa ujját felfelé valamelyik alsó sarokból a digitális asszisztens megnyitásához."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Csúsztassa ujját felfelé valamelyik alsó sarokból a digitális asszisztens megnyitásához."</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Segéd megnyitása a Kezdőképernyő gomb nyomva tartásával"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Tartsa lenyomva a Kezdőképernyő gombot a digitális asszisztens megnyitásához."</string>
<string name="low_label" msgid="6525629096999711220">"Alacsony"</string>
@@ -4943,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Nyelvtani nem kiválasztása"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Megtévesztő alkalmazások keresése…"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Adathalászat keresése az alkalmazástevékenységekben"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Ellenőrzés"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Ellenőrzés munkahelyi alkalmazásoknál"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Megtévesztő alkalmazások keresése"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Megtévesztő munkahelyi alkalmazások keresése"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 61445c0..7d4c283 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Ստիլուս"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Աուդիոյի փոխանցում"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Փոխանցել աուդիո"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Զանգեր և զարթուցիչներ"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Միացեք LE Audio հոսքի"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Մոտակա սարքերի աուդիո հոսքերը"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Աուդիո հոսքեր"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Միանալ աուդիո հոսքի՝ QR կոդի միջոցով"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Մոտակայքում աուդիո հոսքեր չեն գտնվել։"</string>
<string name="date_and_time" msgid="1788358029823431692">"Ամսաթիվ և ժամ"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Պրոքսի"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Մաքրել"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Աշխատանքային պրոֆիլ"</string>
<string name="private_space_title" msgid="7078627930195569767">"Անձնական տարածք"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Անձնական պանակ, որտեղ կարող եք հավելվածներ թաքցնել"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Բացել՝ օգտագործելով էկրանի ապակողպման եղանակը"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Թաքցրեք հավելվածները անձնական պանակում, որը հասանելի է միայն ձեզ"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Անձնական տարածքի կողպում"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Դուք կարող եք օգտագործել ապակողպման նույն եղանակը, որն օգտագործվում է էկրանի համար, կամ ընտրել մեկ ուրիշը"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Օգտագործել սարքի էկրանի կողպումը"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Դեմքով և մատնահետքով ապակողպում"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Հպեք կարգավորելու համար"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Նույնը, ինչ սարքի էկրանի կողպումը"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Ընտրե՞լ նոր կողպում անձնական տարածքի համար։"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Թաքցնել, երբ կողպված է"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Թաքցնել Անձնական տարածքը, երբ այն կողպված է"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Որպեսզի այլ մարդիկ չիմանան ձեր Անձնական տարածքի մասին, կարող եք այն թաքցնել հավելվածների ցանկից"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Անձնական տարածքի հասանելիություն, երբ այն թաքցված է"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Որոնման տողում մուտքագրեք «Անձնական տարածք» հարցումը"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Հպեք «Անձնական տարածք» սալիկին"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Ապակողպել Անձնական տարածքը"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Անջատված է"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Միացված է"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Համակարգ"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Ստեղծել անձնական տարածք"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Ջնջել անձնական տարածքը"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Ստեղծվեց անձնական տարածք"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Անձնական տարածք արդեն գոյություն ունի"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Չհաջողվեց ստեղծել անձնական տարածք"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Անձնական տարածքը ջնջվեց"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Անձնական տարածքը չհաջողվեց ջնջել"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Կարգավորեք էկրանի կողպումը"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Սահմանեք էկրանի կողպում և օգտագործեք Անձնական տարածքը։"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Կարգավորել էկրանի կողպումը"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Չեղարկել"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Չեղարկել"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Կարգավորել"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Անձնական տարածքի կարգավորում"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Թաքցրեք անձնական հավելվածներն ապահով տեղում, որտեղ դրանք հասանելի են միայն ձեզ"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Ինչպես է դա աշխատում"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Անձնական տարածք կարող եք անցնել հավելվածների ցանկի ներքևից"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Անձնական տարածքում հավելվածները պաշտպանված են կողպեքի միջոցով"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Անձնական տարածքում հավելվածներից ծանուցումները թաքցված են, երբ այն կողպված է"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Անձնական տարածքի հավելվածները չեն ցուցադրվի թույլտվությունների կառավարչում, թույլտվությունների կառավարման վահանակում և այլ կարգավորումներում, երբ Անձնական տարածքը կողպված է"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Անձնական տարածքի ստեղծում…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Երբ անձնական տարածքը կողպված է, հավելվածների օգտագործման մասին տվյալները թաքցված են այնտեղ"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Անցեք անձնական տարածք հավելվածների ցանկից"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Չհաջողվեց ստեղծել անձնական տարածք"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Փորձեք նորից կամ վերադարձեք ավելի ուշ"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Նորից փորձել"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Օգտագործե՞լ էկրանի կողպումը"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Դուք կարող եք օգտագործել ապակողպման նույն եղանակը, որն օգտագործվում է էկրանի համար, կամ ընտրել մեկ ուրիշը"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Օգտագործել էկրանի կողպումը"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Ընտրել այլ եղանակ"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Պատրա՛ստ է"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Պատրաստ է"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Անձնական տարածք անցնելու համար ոլորեք ներքև"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Մտեք հաշիվ՝ անձնական տարածք կարգավորելու համար"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Անձնական տարածք կարգավորելու համար պետք է մտնեք հաշիվ"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Անձնական տարածքը ցույց տալու համար (միջերեսը վերջնական չէ)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Բացեք «Կարգավորումներ» հավելվածը"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Հպեք Անվտանգություն & Գաղտնիություն > Անձնական տարածք > Թաքցնել Անձնական տարածքը, երբ այն կողպված է"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"«Թաքցնել Անձնական տարածքը, երբ այն կողպված է» փոխանջատիչ"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Նշում Google-ի աշխատողների համար․ այս գործառույթը դեռ մշակվում է"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Կարող եք ավելացնել առավելագույնը <xliff:g id="COUNT">%d</xliff:g> մատնահետք"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Դուք ավելացրել եք մատնահետքերի առավելագույն թույլատրելի քանակը"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Հնարավոր չէ ավելացնել այլ մատնահետքեր"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Միանալ"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Անջատել"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Զուգակցել և միանալ"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Երբ Bluetooth-ը միացված է, ձեր սարքը կարող է հաղորդակցվել մոտակայքում գտնվող Bluetooth սարքերի հետ:"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Երբ Bluetooth-ը միացված է, ձեր սարքը կարող է հաղորդակցել մոտակայքում գտնվող Bluetooth սարքերի հետ"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Երբ Bluetooth-ը միացված է, ձեր սարքը կարող է հաղորդակցվել մոտակայքում գտնվող Bluetooth սարքերի հետ։\n\nՍարքի աշխատանքը բարելավելու նպատակով հավելվածներն ու ծառայությունները կորոնեն մոտակայքում գտնվող սարքեր, նույնիսկ երբ Bluetooth-ն անջատված է։ Դա կարելի է օգտագործել, օրինակ, տեղադրության տվյալների վրա հիմնված գործառույթների և ծառայությունների աշխատանքը բարելավելու համար։ Այս պարամետրը կարող եք փոխել Bluetooth-ի որոնման կարգավորումներում։"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Փոխել"</string>
<string name="device_details_title" msgid="1155622417516195481">"Սարքի տվյալները"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Թույլատրել ART-ին հաստատել վրիպազերծման ենթակա հավելվածների երկուական կոդը"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Թարմացման հաճախությունը"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Ցույց տալ էկրանի թարմացման ընթացիկ հաճախությունը"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Ցույց տալ HDR/SDR հարաբերակցությունը"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Ցույց տալ ընթացիկ HDR/SDR հարաբերակցությունը"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC-ի համար պահանջել սարքի ապակողպում"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Շարունակել օգտագործել հավելվածները ծալված սարքում"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Սահուն պատկեր"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Որոշակի բովանդակության համար թարմացման հաճախականությունն ավտոմատ բարձրանում է մինչև <xliff:g id="ID_1">%1$d</xliff:g> Հց։ Մարտկոցի լիցքն ավելի արագ է սպառվում։"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Պարտադիր թարմացման առավելագույն հաճախականությունը"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Էկրանի թարմացման բարձր հաճախականությունը լավացնում է հապտիկ արձագանքը և շարժանկարների որակը։ Այն նաև երկարացնում է մարտկոցի օգտագործման ժամանակը։"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Ադապտիվ քնի ռեժիմ"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Ընդհանուր կարգավորումներ"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN-ներ"</string>
<string name="apn_edit" msgid="2003683641840248741">"Խմբագրել մուտքի կետը"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Ավելացրեք մուտքի կետ"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Կարգավորված չէ"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Նշված չէ"</string>
<string name="apn_name" msgid="6677695784108157953">"Անուն"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Բացեք «Հատուկ գործառույթներ» կոճակի միջոցով"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Բացելու համար սեղմած պահեք ձայնի կոճակները"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Բացելու համար երեք անգամ հպեք էկրանին"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Բացելու համար երկու մատով եռակի հպեք էկրանին"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Բացեք ձեռքի շարժումով"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Հատուկ գործառույթների ժեստի օգտագործում"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Այս գործառույթն օգտագործելու համար էկրանի ներքևում հպեք «Հատուկ գործառույթներ» <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> կոճակին։\n\nՄի գործառույթից մյուսին անցնելու համար հպեք «Հատուկ գործառույթներ» կոճակին և պահեք։"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Այս գործառույթն օգտագործելու համար հպեք ձեր էկրանի «Հատուկ գործառույթներ» կոճակին։"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Այս գործառույթն օգտագործելու համար սեղմեք և պահեք ձայնի ուժգնության երկու կոճակները։"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Խոշորացումը միացնելու և անջատելու համար երեք անգամ հպեք էկրանի ցանկացած հատվածին։"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Խոշորացումը միացնելու և անջատելու համար երկու մատով երեք անգամ հպեք էկրանի ցանկացած հատվածին։"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Այս գործառույթն օգտագործելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև։\n\nՄի գործառույթից մյուսին անցնելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև և պահեք։"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Այս գործառույթն օգտագործելու համար երեք մատը սահեցրեք էկրանի ներքևից վերև։\n\nՄի գործառույթից մյուսին անցնելու համար երեք մատը սահեցրեք էկրանի ներքևից վերև և պահեք։"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Որևէ հատուկ գործառույթ օգտագործելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև։\n\nՄի գործառույթից մյուսին անցնելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև և պահեք։"</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Սեղմած պահել ձայնի ուժգնության ստեղները"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ձայնի կարգավորման կոճակների սեղմում"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Սեղմեք և պահեք ձայնի ուժգնության երկու կոճակները"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Երկու մատով եռակի հպում էկրանին"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"երկու մատով եռակի հպում էկրանին"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Երկու մատով {0,number,integer} անգամ արագ հպեք էկրանին"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Եռակի հպեք էկրանին"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"եռակի հպում էկրանին"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Արագ հպեք էկրանին {0,number,integer} անգամ։ Այս դյուրանցումը կարող է դանդաղեցնել սարքի աշխատանքը։"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Կարող է հետագծել ձեր գործողությունները հավելվածներում և սարքակազմի սենսորների վրա, ինչպես նաև հավելվածներում կատարել գործողություններ ձեր անունից։"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Թույլատրել"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Մերժել"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Կանգնեցնել"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Չեղարկել"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Կանգնեցնե՞լ «<xliff:g id="SERVICE">%1$s</xliff:g>» ծառայությունը"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Եթե հպեք <xliff:g id="STOP">%1$s</xliff:g> կոճակին, <xliff:g id="SERVICE">%2$s</xliff:g> ծառայությունը կանջատվի։"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Տեղադրված ծառայաթյուններ չկան"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ընտրված ծառայություն չկա"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Որևէ նկարագրություն չկա:"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Հավելվածի ֆոնային գործողությունների սահմանափակումը կարող է ազդել վերջինիս աշխատանքի վրա"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Մարտկոցի օպտիմալացումն այս հավելվածի համար կարգավորված չէ։\n\nՄիացրեք այն՝ հավելվածը սահմանափակելու համար։"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Մարտկոցի օգտագործման կառավարում"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Թույլատրել օգտագործումը ֆոնային ռեժիմում"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Միացնել՝ իրական ժամանակում թարմացումներ կատարելու համար, անջատել՝ մարտկոցի լիցքը տնտեսելու համար"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Անսահմանափակ"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Օպտիմալացված"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Սահմանափակ"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Անուն"</string>
<string name="vpn_type" msgid="5533202873260826663">"Տեսակը"</string>
<string name="vpn_server" msgid="2908816134941973935">"Սերվերի հասցեն"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP գաղտնագրում (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP գաղտնիք"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec նույնացուցիչ"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec նախորոշված բանալին"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec օգտատիրոջ վկայագիրը"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA հավաստագիր"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec սերվերի հավաստագիր"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Ցույց տալ լրացուցիչ ընտրանքները"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS որոնման տիրույթներ"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS սերվերներ (օրինակ՝ 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Փոխանցման երթուղիներ (օրինակ՝ 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Օգտանուն"</string>
<string name="vpn_password" msgid="1183746907642628127">"Գաղտնաբառ"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Պահել հաշվի տեղեկությունները"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(չի օգտագործվում)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(սերվերը չստուգել)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(սերվերից ստացված)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"VPN-ի այս տեսակը չի կարող միշտ միացված լինել"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"«Միշտ միացված» VPN-ը աջակցում է միայն սերվերի թվային հասցեները"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"«Միշտ միացված» VPN-ի համար անհրաժեշտ է սահմանել DNS սերվեր"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"«Միշտ միացված» VPN-ի համար DNS սերվերի հասցեները պետք է թվային լինեն"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Մուտքագրած տվյալները չեն աջակցում VPN-ի «միշտ միացված» ռեժիմը"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Չեղարկել"</string>
<string name="vpn_done" msgid="5137858784289564985">"Փակել"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Արգելափակել առանց VPN-ի միացումները"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN միացում պահանջե՞լ։"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Անվտանգ չէ․ անցեք IKEv2 VPN-ի"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Ընտրել VPN պրոֆիլ` այդ պրոֆիլին միշտ միացված լինելու համար: Ցանցային շրջանառությունը թույլատրված կլինի միայն VPN-ին միացված ժամանակ:"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Ոչ մեկը"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Միշտ միացված VPN-ը պահանջում է IP հասցե սերվերի և DNS-ի համար:"</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Ծանուցումները ցույց տալ ամբողջությամբ"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Կոնֆիդենցիալ տվյալները ցույց տալ միայն ապակողպված էկրանին"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ցույց չտալ ծանուցումներ"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Կարգավորեք ծանուցումների ցուցադրումը կողպէկրանին"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ի՞նչ է անհրաժեշտ ցուցադրել կողպէկրանին"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Կողպէկրան"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Ցույց տալ աշխատանքային ծանուցումներն ամբողջությամբ"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Թաքցնել աշխատանքային գաղտնի տվյալները"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Բոլոր ֆայլերը կառավարելու թույլտվություն տալ"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Դուք կարող եք թույլատրել այս հավելվածին կարդալ, փոփոխել և ջնջել այս սարքի կամ միացված կրիչների բոլոր ֆայլերը։ Եթե թույլատրեք, հավելվածը կկարողանա օգտվել ֆայյլերից առանց ձեր իմացության։"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Հասանելիություն ունեն բոլոր ֆայլերին"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Ձայնային ակտիվացմամբ հավելվածներ"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Թույլատրել ձայնային ակտիվացումը"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Միացրեք ընտրված հավելվածները ձայնային հրամանների միջոցով։ Ճանաչման ներկառուցված հարմարվող համակարգի շնորհիվ ձեր տվյալները միայն ձեզ հասանելի կլինեն։\n\n"<a href="">"Իմանալ ավելին ճանաչման պաշտպանված հարմարվող համակարգի մասին"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Ծանուցումներ լիաէկրան ռեժիմում"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Թույլատրել այս հավելվածին ցույց տալ ծանուցումներ լիաէկրան ռեժիմում"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Թույլատրել այս հավելվածին ցույց տալ ծանուցումներ լիաէկրան ռեժիմում, երբ սարքը կողպված է։ Հավելվածները կարող են օգտագործել այս գործառույթը՝ զարթուցիչներ, մուտքային զանգեր և այլ շտապ ծանուցումներ ցուցադրելու համար։"</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> հավելվածը ֆոնային ռեժիմում սովորականից ավելի շատ էներգիա է սպառում"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> հավելվածը ակտիվ ռեժիմում շատ էներգիա է սպառում"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> հավելվածը ակտիվ ռեժիմում սովորականից ավելի շատ էներգիա է սպառում"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Մարտկոցի անկանոն օգտագործում"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Մարտկոցի արագ սպառում"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Մարտկոցի արագ սպառում ֆոնային ռեժիմում"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Մարտկոցի արագ սպառում ակտիվ ռեժիմում"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"նավիգացիա համակարգում, երկկոճակ նավիգացիա, եռակոճակ նավիգացիա, ժեստերով նավիգացիա, սահեցնել"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Թվային օգնական"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Մատը սահեցնել՝ թվային օգնականը գործարկելու համար"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Թվային օգնականը գործարկելու համար մատը ներքևի անկյունից սահեցրեք վերև։"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Թվային օգնականի հավելվածը գործարկելու համար մատը ներքևի անկյունից սահեցրեք վերև"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Օգնականը բացելու համար սեղմած պահել «Գլխավոր էկրան» կոճակը"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Սեղմեք և պահեք գլխավոր էկրանի կոճակը՝ թվային օգնական հավելվածը կանչելու համար։"</string>
<string name="low_label" msgid="6525629096999711220">"Ցածր"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Ընտրեք քերականական սեռը"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Սկանավորել՝ խարդախություն պարունակող հավելվածներ գտնելու համար"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Ստուգել հավելվածի օգտագործման պատմությունը՝ ֆիշինգ հայտնաբերելու նպատակով"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Սկանավորել"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Սկանավորել աշխատանքային հավելվածները"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Սկանավորում՝ կեղծ տվյալներով հավելվածներ գտնելու համար"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Սկանավորում՝ կեղծ տվյալներով աշխատանքային հավելվածներ գտնելու համար"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index d38573d..d25a47c 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Berbagi audio"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Bagikan audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Panggilan dan alarm"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Hubungkan ke streaming LE audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Streaming audio di sekitar"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Streaming audio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Hubungkan ke streaming audio menggunakan kode QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Tidak ada streaming audio di sekitar."</string>
<string name="date_and_time" msgid="1788358029823431692">"Tanggal & waktu"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Bersihkan"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Profil kerja"</string>
<string name="private_space_title" msgid="7078627930195569767">"Ruang Pribadi"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Sembunyikan aplikasi di folder pribadi"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Buka menggunakan kunci layar"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Sembunyikan aplikasi di folder pribadi yang hanya dapat Anda akses"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Kunci Ruang Pribadi"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Anda dapat membuka kunci Ruang Pribadi dengan cara yang sama seperti membuka kunci perangkat, atau memilih kunci lain"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Gunakan kunci layar perangkat"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Buka dengan Wajah & Sidik Jari"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Ketuk untuk menyiapkan"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Sama dengan kunci layar perangkat"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Pilih kunci baru untuk Ruang Pribadi?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Sembunyikan saat terkunci"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Sembunyikan Ruang Pribadi jika dikunci"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Agar orang lain tidak dapat melihat Ruang Pribadi di perangkat, Anda dapat menyembunyikannya dari daftar aplikasi"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Akses Ruang Pribadi jika disembunyikan"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Telusuri \'Ruang Pribadi\' di kotak penelusuran"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Ketuk kartu Ruang Pribadi"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Buka kunci Ruang Pribadi"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Nonaktif"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Aktif"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Buat Ruang Pribadi"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Hapus Ruang Pribadi"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Ruang Pribadi berhasil dibuat"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Ruang Pribadi sudah ada"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Ruang Pribadi tidak dapat dibuat"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Ruang Pribadi berhasil dihapus"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Ruang Pribadi tidak dapat dihapus"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Setel kunci layar"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Untuk menggunakan Ruang Pribadi, setel kunci layar di perangkat ini."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Setel kunci layar"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Batal"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Batal"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Siapkan"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Siapkan Ruang Pribadi"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Sembunyikan aplikasi pribadi di ruang aman yang hanya dapat diakses oleh Anda"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Cara kerjanya"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Anda dapat mengakses Ruang Pribadi dari bagian bawah daftar aplikasi"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Aplikasi di Ruang Pribadi dilindungi dengan kunci"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Notifikasi dari aplikasi di Ruang Pribadi disembunyikan saat Ruang Pribadi dikunci"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Aplikasi Ruang Pribadi tidak akan muncul di pengelola izin, dasbor privasi, dan setelan lainnya jika Ruang Pribadi dikunci"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Menyiapkan Ruang Pribadi…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Info penggunaan aplikasi Ruang Pribadi disembunyikan saat Ruang Pribadi dikunci"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Akses Ruang Pribadi dari daftar aplikasi"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Tidak dapat menyiapkan Ruang Pribadi"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Coba lagi sekarang, atau kembali lagi nanti"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Coba Lagi"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Gunakan kunci layar untuk membuka kunci?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Anda dapat membuka kunci Ruang Pribadi dengan cara yang sama seperti membuka kunci perangkat, atau memilih kunci lain"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Gunakan layar kunci"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Pilih kunci baru"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Semua siap."</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Selesai"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Scroll ke bawah untuk mengakses Ruang Pribadi"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Login untuk menyiapkan Ruang Pribadi"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Anda harus login ke akun untuk menyiapkan Ruang Pribadi"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Untuk menampilkan Ruang Pribadi (Bukan UX akhir)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Buka Aplikasi Setelan"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Ketuk Keamanan & privasi > Ruang Pribadi > Sembunyikan Ruang Pribadi saat terkunci"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Nonaktifkan tombol Sembunyikan Ruang Pribadi saat terkunci"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Catatan untuk Googler: Fitur ini sedang dalam proses pengembangan"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Anda dapat menambahkan maksimal <xliff:g id="COUNT">%d</xliff:g> sidik jari"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Anda telah menambahkan jumlah maksimum sidik jari"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Tidak dapat menambahkan sidik jari lagi"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Hubungkan"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Putuskan koneksi"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Sambungkan & hubungkan"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Saat Bluetooth aktif, perangkat dapat berkomunikasi dengan perangkat Bluetooth terdekat lainnya."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Jika Bluetooth aktif, perangkat dapat berkomunikasi dengan perangkat Bluetooth lain di sekitar"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Jika Bluetooth diaktifkan, perangkat Anda dapat berkomunikasi dengan perangkat Bluetooth di sekitar.\n\nUntuk meningkatkan fungsi perangkat, aplikasi dan layanan tetap dapat memindai perangkat di sekitar kapan saja, bahkan saat Bluetooth nonaktif. Setelan ini dapat digunakan, misalnya, untuk meningkatkan kualitas fitur dan layanan berbasis lokasi. Anda dapat mengubahnya di setelan pemindaian Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Ubah"</string>
<string name="device_details_title" msgid="1155622417516195481">"Detail perangkat"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Izinkan ART memverifikasi bytecode untuk aplikasi yang dapat di-debug"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Tampilkan kecepatan refresh"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Tampilkan kecepatan refresh layar saat ini"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Tampilkan rasio HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Tampilkan rasio HDR/SDR saat ini"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Wajib buka kunci perangkat untuk NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Terus pakai aplikasi saat dilipat"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Otomatis meningkatkan kecepatan refresh hingga <xliff:g id="ID_1">%1$d</xliff:g> Hz untuk beberapa konten. Meningkatkan penggunaan baterai."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Paksa kecepatan refresh tertinggi"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Kecepatan refresh tertinggi untuk memperbaiki respons sentuhan & kualitas animasi. Meningkatkan penggunaan baterai."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Fokus ke layar"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Setelan umum"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Edit titik akses"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Tambahkan titik akses"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Tidak disetel"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Belum disetel"</string>
<string name="apn_name" msgid="6677695784108157953">"Nama"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Gunakan tombol aksesibilitas untuk membuka"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Tahan tombol volume untuk membuka"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Ketuk tiga kali pada layar untuk membuka"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Ketuk layar tiga kali dengan dua jari untuk membuka"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Menggunakan gestur untuk membuka"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Gunakan gestur aksesibilitas"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Untuk menggunakan fitur ini, ketuk tombol aksesibilitas <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> di bagian bawah layar.\n\nUntuk beralih antarfitur, sentuh lama tombol aksesibilitas."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Untuk menggunakan fitur ini, ketuk tombol aksesibilitas di layar."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Untuk menggunakan fitur ini, tekan dan tahan kedua tombol volume."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Untuk memulai dan menghentikan pembesaran, ketuk tiga kali di mana saja pada layar Anda."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Untuk memulai dan menghentikan pembesaran, ketuk tiga kali dengan dua jari di mana saja pada layar."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Untuk menggunakan fitur ini, geser ke atas dari bawah layar dengan 2 jari.\n\nUntuk beralih antarfitur, geser ke atas dengan 2 jari dan tahan."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Untuk menggunakan fitur ini, geser ke atas dari bawah layar dengan 3 jari.\n\nUntuk beralih antarfitur, geser ke atas dengan 3 jari dan tahan."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Untuk menggunakan fitur aksesibilitas, geser ke atas dari bawah layar dengan 2 jari.\n\nUntuk beralih antarfitur, geser ke atas dengan 2 jari dan tahan."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Tahan tombol volume"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"tahan tombol volume"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Tekan dan tahan kedua tombol volume"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Ketuk layar tiga kali dengan dua jari"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ketuk layar tiga kali dengan dua jari"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Ketuk cepat layar sebanyak {0,number,integer} kali dengan dua jari"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ketuk layar tiga kali"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ketuk layar tiga kali"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ketuk layar dengan cepat {0,number,integer} kali. Pintasan ini mungkin memperlambat perangkat Anda"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Voice Access dapat melacak interaksi Anda dengan aplikasi atau sensor hardware, dan berinteraksi dengan aplikasi untuk Anda."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Izinkan"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Tolak"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Berhenti"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Batal"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Hentikan <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Mengetuk <xliff:g id="STOP">%1$s</xliff:g> akan menghentikan <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Tidak ada layanan terpasang"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Layanan tidak dipilih"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Tidak tersedia deskripsi."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Jika aktivitas background aplikasi dibatasi, mungkin fungsinya terganggu."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Anda tidak dapat membatasi aplikasi karena tidak disetel untuk mengoptimalkan baterai.\n\nAktifkan pengoptimalan baterai untuk membatasi aplikasi."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Kelola penggunaan baterai"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Izinkan penggunaan latar belakang"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Aktifkan untuk mendapatkan info terbaru secara real-time, nonaktifkan untuk menghemat baterai"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Tidak dibatasi"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Dioptimalkan"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Dibatasi"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nama"</string>
<string name="vpn_type" msgid="5533202873260826663">"Jenis"</string>
<string name="vpn_server" msgid="2908816134941973935">"Alamat server"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Enkripsi PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Rahasia L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Pengenal IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Kunci pra-bagi IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Sertifikat pengguna IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Sertifikat CA IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Sertifikat server IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Tampilkan opsi lanjutan"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domain penelusuran DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Server DNS (misal: 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Rute penerusan (misal: 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nama pengguna"</string>
<string name="vpn_password" msgid="1183746907642628127">"Sandi"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Simpan informasi akun"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(tidak digunakan)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(jangan verifikasi server)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(diterima dari server)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Jenis VPN ini tidak dapat selalu terhubung"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN selalu aktif hanya mendukung alamat server numerik"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Server DNS untuk VPN selalu aktif harus ditentukan"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Alamat server DNS untuk VPN selalu aktif harus numerik"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Informasi yang dimasukkan tidak mendukung VPN selalu aktif"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Batal"</string>
<string name="vpn_done" msgid="5137858784289564985">"Tutup"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Memblokir koneksi tanpa VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Perlu sambungan VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Tidak aman. Update ke VPN IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Pilih profil VPN untuk tetap terhubung. Lalu lintas jaringan hanya akan diperbolehkan jika terhubung ke VPN ini."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Tidak ada"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN selalu aktif membutuhkan alamat IP baik untuk server serta DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Tampilkan semua konten notifikasi"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Tampilkan konten sensitif hanya saat tidak terkunci"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Jangan tampilkan notifikasi sama sekali"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Bagaimana tampilan layar kunci yang Anda inginkan?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Apa yang ingin Anda tampilkan di layar kunci?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Layar kunci"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Tampilkan semua konten notifikasi profil kerja"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Sembunyikan konten kerja sensitif"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Izinkan akses untuk mengelola semua file"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Mengizinkan aplikasi ini untuk membaca, mengubah, dan menghapus semua file di perangkat ini atau media penyimpanan yang terpasang. Jika diberikan, aplikasi dapat mengakses file tanpa sepengetahuan Anda."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Dapat mengakses semua file"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikasi aktivasi suara"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Izinkan aktivasi suara"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Aktivasi suara mengaktifkan aplikasi yang disetujui secara handsfree menggunakan perintah suara. Deteksi adaptif bawaan memastikan data tetap bersifat pribadi hanya untuk Anda.\n\n"<a href="">"Selengkapnya tentang deteksi adaptif yang dilindungi"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Notifikasi layar penuh"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Izinkan notifikasi layar penuh dari aplikasi ini"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Izinkan aplikasi ini menampilkan notifikasi dalam layar penuh ketika perangkat terkunci. Aplikasi mungkin menggunakan tindakan ini untuk memperjelas alarm, panggilan masuk, atau notifikasi penting lainnya."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> menggunakan lebih banyak baterai dari biasanya saat di latar belakang"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> menggunakan lebih banyak baterai saat di latar depan"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> menggunakan lebih banyak baterai dari biasanya saat di latar depan"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomali penggunaan baterai"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Penggunaan baterai tinggi"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Penggunaan baterai tinggi di latar belakang"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Penggunaan baterai tinggi di latar depan"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navigasi sistem, navigasi 2 tombol, navigasi 3 tombol, navigasi gestur, geser"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asisten digital"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Geser untuk memanggil asisten"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Geser ke atas dari pojok bawah untuk memanggil aplikasi asisten digital."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Geser ke atas dari pojok bawah untuk memanggil aplikasi asisten digital"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Tahan tombol Layar utama untuk membuka Asisten"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Tekan dan tahan tombol Layar Utama untuk membuka aplikasi asisten digital."</string>
<string name="low_label" msgid="6525629096999711220">"Rendah"</string>
@@ -4957,10 +4942,10 @@
<string name="about_phone_device_name_warning" msgid="3243226572404472381">"Nama perangkat Anda dapat dilihat oleh aplikasi yang diinstal. Juga mungkin dilihat oleh orang lain saat Anda terhubung ke perangkat Bluetooth atau jaringan Wi-Fi, atau saat menyiapkan hotspot Wi-Fi."</string>
<string name="grammatical_gender_title" msgid="8584242850477270828">"Gender gramatikal"</string>
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Pilih Gender gramatikal"</string>
- <string name="content_protection_preference_title" msgid="5069260032659193074">"Pemindaian aplikasi yang menipu"</string>
+ <string name="content_protection_preference_title" msgid="5069260032659193074">"Pemindaian aplikasi menipu"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Periksa aktivitas aplikasi untuk menemukan phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Gunakan pemindaian"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Gunakan pemindaian untuk aplikasi kerja"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Gunakan pemindaian aplikasi menipu"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Gunakan pemindaian aplikasi kerja menipu"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 51a9479..c01b31d 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Penni"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Hljóði deilt"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Deila hljóði"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Símtöl og vekjarar"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Tengjast LE-hljóðstreymi"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Nálæg hljóðstreymi"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Hljóðstreymi"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Tengjast hljóðstreymi með QR-kóða"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Engin nálæg hljóðstreymi fundust."</string>
<string name="date_and_time" msgid="1788358029823431692">"Dagsetning og tími"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy-þjónn"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Hreinsa"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Vinnusnið"</string>
<string name="private_space_title" msgid="7078627930195569767">"Einkarými"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Fela forrit í lokaðri möppu"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Taka úr lás með skjálás"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Feldu forrit í lokaðri möppu sem aðeins þú hefur aðgang að"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Læsing einkarýmis"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Hægt er að taka einkarými úr lás á sama hátt og tækið en einnig er hægt að velja annan lás"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Nota skjálás tækis"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Andlits- og fingrafarsopnun"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Ýttu til að setja upp"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Sami skjálás og í tæki"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Velja nýjan lás fyrir einkarými?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Fela þegar læst"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Fela einkarými þegar það er læst"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Til að aðrir sjái ekki einkarými tækisins geturðu falið það á forritalistanum"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Aðgangur að einkarými þegar það er falið"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Leitaðu að „Einkarými“ á leitarstikunni"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Ýttu á reitinn „Einkarými“"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Taktu einkarýmið úr lás"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Slökkt"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Kveikt"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Kerfi"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Búa til einkarými"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Eyða einkarými"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Einkarými var búið til"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Einkarými er þegar til"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Ekki tókst að búa til einkarými"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Einkarými var eytt"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Ekki tókst að eyða einkarými"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Setja upp skjálás"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Stilltu skjálás í tækinu til að nota einkarými."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Stilla skjálás"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Hætta við"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Hætta við"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Setja upp"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Setja upp einkarými"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Feldu einkaforrit í öruggu rými sem enginn getur opnað nema þú"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Svona virkar þetta"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Þú getur nálgast einkarými neðst á forritalistanum"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Forrit í einkarými eru varin með lás"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Tilkynningar forrita í einkarými eru faldar þegar það er læst"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Forrit í einkarými birtast ekki í leyfisstjóra, á persónuverndarstjórnborði og í öðrum stillingum þegar einkarými er læst"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Setur upp einkarými…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Notkunarupplýsingar einkarýmisforrita eru faldar þegar það er læst"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Opnaðu einkarými á forritalistanum"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Sum kerfisforrit eru þegar uppsett í einkarými"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Ekki tókst að setja upp einkarými"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Prófaðu aftur núna eða komdu aftur síðar"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Reyna aftur"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Nota skjálás til að taka úr lás?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Hægt er að taka einkarými úr lás á sama hátt og tækið en einnig er hægt að velja annan lás"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Nota skjálás"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Velja nýjan lás"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Allt tilbúið!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"Þú getur nálgast einkarými af forritalistanum þínum"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Lokið"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Flettu niður til að opna einkarými"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Skráðu þig inn til að setja upp einkarými"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Þú þarft að skrá þig inn á reikning til að setja upp einkarými"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Til að sýna einkarými (ekki lokaupplifun notanda)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Opnaðu forritið Stillingar"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Ýttu á Öryggi og persónuvernd > Einkarými > Fela einkarými þegar læst er"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Slökkva á Fela einkarými þegar rofi er læstur"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Athugasemd til starfsmanna Google: Þróun þessa eiginleika er enn í gangi"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Þú getur bætt við allt að <xliff:g id="COUNT">%d</xliff:g> fingraförum"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Þú hefur bætt við hámarksfjölda fingrafara"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Ekki er hægt að bæta fleiri fingraförum við"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Tengja"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Aftengja"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Pörun og tenging"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Þegar kveikt er á Bluetooth getur tækið átt í samskiptum við önnur nálæg Bluetooth tæki."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Þegar kveikt er á Bluetooth getur tækið átt í samskiptum við önnur nálæg Bluetooth-tæki"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Þegar kveikt er á Bluetooth getur tækið átt samskipti við önnur nálæg Bluetooth-tæki.\n\nTil að bæta notkun tækisins geta forrit og þjónustur áfram leitað að nálægum tækjum hvenær sem er, jafnvel þegar slökkt er á Bluetooth. Sem dæmi er hægt að nota þetta til að bæta eiginleika og þjónustur sem byggjast á staðsetningu. Hægt er að breyta þessu í stillingum Bluetooth-leitar."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Breyta"</string>
<string name="device_details_title" msgid="1155622417516195481">"Upplýsingar um tæki"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Leyfa ART að staðfesta bætakóða forrita sem hægt er að villuleita"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Sýna endurnýjunartíðni"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Sýna núverandi endurnýjunartíðni"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Sýna hlutfall HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Sýna núverandi hlutfall HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Krefjast aflæsingar tækis fyrir NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Halda áfram að nota forrit þegar tæki er brotið saman"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Hnökralaus skjár"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Hækkar endurnýjunartíðni sjálfkrafa upp í <xliff:g id="ID_1">%1$d</xliff:g> Hz fyrir sumt efni. Eykur rafhlöðunotkun."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Þvinga fram mesta endurnýjunarhraða"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Mesti endurnýjunarhraði fyrir bætta snertisvörun og gæði hreyfimynda. Eykur rafhlöðunotkun."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Skjáskynjun"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Sameiginlegar stillingar"</string>
<string name="apn_settings" msgid="4295467389400441299">"Aðgangsstaðir"</string>
<string name="apn_edit" msgid="2003683641840248741">"Breyta aðgangsstað"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Bæta við aðgangsstað"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Ekki stillt"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ekki stillt"</string>
<string name="apn_name" msgid="6677695784108157953">"Heiti"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Notaðu aðgengishnappinn til að opna"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Haltu hljóðstyrkstökkunum inni til að opna"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Ýttu þrisvar á skjáinn til að opna"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Ýtt þrisvar á skjáinn með tveimur fingrum til að opna"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Nota bendingu til að opna"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Nota aðgengisbendingu"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Til að nota þennan eiginleika skaltu ýta á aðgengishnappinn <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> neðst á skjánum.\n\nTil að skipta á milli eiginleika skaltu halda inni aðgengishnappinum."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Ýttu á aðgengishnappinn á skjánum til að nota þennan eiginleika."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Til að nota þennan eiginleika heldurðu inni báðum hljóðstyrkstökkunum."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Til að ræsa og stöðva stækkun skaltu ýta þrisvar einhvers staðar á skjáinn."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Til að ræsa og stöðva stækkun skaltu ýta þrisvar einhversstaðar á skjáinn með tveimur fingrum."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Til að nota þennan eiginleika skaltu strjúka upp frá neðri hluta skjásins með tveimur fingrum.\n\nTil að skipta á milli eiginleika skaltu strjúka upp með tveimur fingrum og halda inni."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Til að nota þennan eiginleika skaltu strjúka upp frá neðri hluta skjásins með þremur fingrum.\n\nTil að skipta á milli eiginleika skaltu strjúka upp með þremur fingrum og halda inni."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Til að nota aðgengiseiginleika skaltu strjúka upp frá neðri hluta skjásins með tveimur fingrum.\n\nTil að skipta á milli eiginleika skaltu strjúka upp með tveimur fingrum og halda inni."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Halda inni hljóðstyrkstökkum"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"halda inni hljóðstyrkstökkum"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Haltu báðum hljóðstyrkstökkunum inni"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Ýtt þrisvar á skjáinn með tveimur fingrum"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ýtt þrisvar á skjáinn með tveimur fingrum"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Ýtt hratt á skjáinn {0,number,integer} sinnum með tveimur fingrum"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ýta þrisvar á skjá"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ýta þrisvar á skjá"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ýttu snögglega á skjáinn {0,number,integer} sinnum. Þessi flýtileið kann að hægja á tækinu"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Það getur fylgst með samskiptum þínum við forrit eða skynjara vélbúnaðar og haft samskipti við forrit fyrir þína hönd."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Leyfa"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Hafna"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Stöðva"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Hætta við"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Stöðva <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Ef ýtt er á <xliff:g id="STOP">%1$s</xliff:g> mun <xliff:g id="SERVICE">%2$s</xliff:g> stöðvast."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Engin þjónusta uppsett"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Engin þjónusta valin"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Engin lýsing til staðar."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ef þú takmarkar bakgrunnsvirkni forrits gæti það látið illa"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Forrit notar ekki fínstillingu á rafhlöðu og því er ekki hægt að takmarka það.\n\nKveiktu á fínstillingu til að takmarka."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Stjórna rafhlöðunotkun"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Leyfa notkun í bakgrunni"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Kveiktu til að fá rauntímauppfærslur, slökktu til að spara rafhlöðuna"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Ótakmörkuð"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Fínstillt"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Takmarkað"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Heiti"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tegund"</string>
<string name="vpn_server" msgid="2908816134941973935">"Vistfang þjóns"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP-dulkóðun (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-leyndarmál"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-auðkenni"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec-lykill sem var deilt"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-notandavottorð"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-vottorð"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-þjónsvottorð"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Sýna ítarlega valkosti"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-leitarlén"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-þjónar (t.d. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Áframsendingarleiðir (t.d. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Notandanafn"</string>
<string name="vpn_password" msgid="1183746907642628127">"Aðgangsorð"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Vista reikningsupplýsingar"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ekki notað)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ekki sannvotta þjón)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(móttekið frá þjóninum)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Þessi gerð VPN-tengingar getur ekki verið sívirk"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Sívirkt VPN styður eingöngu vistfang þjóns sem er eingöngu tölugildi"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"DNS-þjónn verður að vera tilgreindur fyrir sívirkt VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Vistfang DNS-þjóns verður að vera tölugildi fyrir sívirkt VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Upplýsingarnar sem voru færðar inn styðja ekki sívirkt VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Hætta við"</string>
<string name="vpn_done" msgid="5137858784289564985">"Hunsa"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Loka á tengingar sem eru ekki með VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Krefjast VPN-tengingar?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ekki öruggt. Uppfæra í IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Veldu VPN-snið sem alltaf á að vera tengt. Netumferð er aðeins leyfð þegar tenging við þetta VPN er virk."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Ekkert"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN sem er alltaf virkt krefst IP-tölu þjóns og nafnaþjóns (DNS)."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Sýna allt innihald tilkynninga"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Sýna viðkvæmt efni aðeins þegar tækið er opið"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Sýna engar tilkynningar"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hvernig á lásskjárinn að birtast?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Hvað viltu að lásskjárinn sýni?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lásskjár"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Sýna innihald allra vinnutilkynninga"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Fela viðkvæmt vinnutengt efni"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Leyfa aðgang til að stjórna öllum skrám"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Leyfa þessu forriti að lesa, breyta og eyða öllum skrám í þessu tæki eða tengdum geymsludrifum. Ef heimild er veitt fær forritið aðgang að skránum þínum án þess að þér sé tilkynnt sérstaklega um það."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Hefur aðgang að öllum skrám"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Raddstýringarforrit"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Leyfa raddstýringu"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Raddvirkjun kveikir handfrjálst á samþykktum forritum með raddskipun. Innbyggð aðlögunarhæf skynjun tryggir að gögnin séu lokuð öðrum en þér.\n\n"<a href="">"Nánar um aðlögunarhæfa skynjun með vörn"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Tilkynningar á öllum skjánum"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Leyfa tilkynningar á öllum skjánum frá þessu forriti"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Leyfa forritinu að birta tilkynningar á öllum skjánum þegar tækið er læst. Forrit kunna að nota þennan eiginleika til að leggja áherslu á vekjara, móttekin símtöl og aðrar áríðandi tilkynningar."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> notaði meiri rafhlöðuorku en venjulega í bakgrunni"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> notaði meiri rafhlöðuorku í forgrunni"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> notaði meiri rafhlöðuorku en venjulega í forgrunni"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Frávik í rafhlöðunotkun"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Mikil rafhlöðunotkun"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Mikil rafhlöðunotkun í bakgrunni"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Mikil rafhlöðunotkun í forgrunni"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"kerfisstjórnun, tveggja hnappa stjórnun, þriggja hnappa stjórnun, bendingastjórnun, strjúka"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Stafrænn hjálpari"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Strjúktu til að ræsa hjálpara"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Strjúktu upp frá neðra horni skjásins til að ræsa stafrænt hjálparaforrit."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Strjúktu upp frá neðra horni skjásins til að ræsa stafrænt hjálparaforrit"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Haltu hnappinum „Heim“ inni til að opna Hjálparann"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Haltu inni heimahnappinum til að kalla fram forrit stafræna hjálparans."</string>
<string name="low_label" msgid="6525629096999711220">"Lítið"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Veldu kyn"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Leitar að sviksamlegum forritum"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Leita að vefveiðum í forritavirkni"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Nota leit"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Nota leit í vinnuforritum"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Nota leit að blekkjandi forritum"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Nota leit að blekkjandi forritum fyrir vinnu"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index d1cb379..bf650c6 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -120,13 +120,13 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"Altri dispositivi"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivi salvati"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Associato all\'account"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Utilizzato in precedenza con l\'account"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Usati in precedenza con l\'account"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"Il Bluetooth verrà attivato per consentire l\'accoppiamento"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"Preferenze di connessione"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Connessi in precedenza"</string>
<string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth attivato"</string>
<string name="previous_connected_see_all" msgid="7759413145713251328">"Mostra tutti"</string>
- <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Vedi tutto"</string>
+ <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Mostra tutti"</string>
<string name="stylus_device_details_title" msgid="7618295136015480864">"Stilo"</string>
<string name="stylus_default_notes_app" msgid="4165657465911764628">"Pressione del pulsante dello stilo"</string>
<string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Profilo di lavoro)"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilo"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Condivisione audio"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Condividi audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Chiamate e sveglie"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Collegati a uno stream LE audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Stream audio nelle vicinanze"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Stream audio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Collegati a uno stream audio tramite codice QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Nessuno stream audio nelle vicinanze."</string>
<string name="date_and_time" msgid="1788358029823431692">"Data e ora"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Cancella"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Profilo di lavoro"</string>
<string name="private_space_title" msgid="7078627930195569767">"Spazio privato"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Nascondi le app in una cartella privata"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Sblocca usando il blocco schermo"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Nascondi le app in una cartella privata a cui puoi accedere solo tu"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Blocco dello Spazio privato"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Puoi sbloccare lo Spazio privato nello stesso modo in cui sblocchi il tuo dispositivo oppure scegliere un blocco diverso"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usa il blocco schermo del dispositivo"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Sblocco con il Volto e con l\'Impronta"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tocca per configurare"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Uguale al blocco schermo del dispositivo"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Scegliere un nuovo blocco per lo Spazio privato?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Nascondi quando è bloccato"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Nascondi Spazio privato quando è bloccato"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Per evitare che altre persone sappiano che lo Spazio privato è sul tuo dispositivo, puoi nasconderlo dal tuo elenco di app"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Accedi allo Spazio privato quando è nascosto"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Cerca \"Spazio privato\" nella barra di ricerca"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tocca il riquadro Spazio privato"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Sblocca il tuo Spazio privato"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Off"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"On"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Crea Spazio privato"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Elimina Spazio privato"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Spazio privato creato"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Lo Spazio privato esiste già"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Impossibile creare lo Spazio privato"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Spazio privato eliminato"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Impossibile eliminare lo Spazio privato"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Imposta un blocco schermo"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Per utilizzare Spazio privato, imposta un blocco schermo."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Imposta blocco schermo"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Annulla"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Annulla"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Configura"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Configura Spazio privato"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Nascondi le app private in uno spazio sicuro a cui puoi accedere soltanto tu"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Come funziona"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Puoi accedere allo Spazio privato dalla parte inferiore del tuo elenco di app"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Le app nello Spazio privato sono protette da un blocco"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Le notifiche delle app nello Spazio privato vengono nascoste quando quest\'ultimo è bloccato"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Quando lo Spazio privato è bloccato, le relative app non vengono visualizzate in gestione autorizzazioni, dashboard della privacy e altre impostazioni"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Configurazione dello Spazio privato in corso…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Le informazioni sull\'utilizzo delle app dello Spazio privato vengono nascoste quando quest\'ultimo è bloccato"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Accedi allo Spazio privato dal tuo elenco di app"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Impossibile configurare lo Spazio privato"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Riprova adesso o in un secondo momento"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Riprova"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Utilizzare il blocco schermo per sbloccare?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Puoi sbloccare lo Spazio privato nello stesso modo in cui sblocchi il tuo dispositivo oppure scegliere un blocco diverso"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Usa il blocco schermo"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Scegli un nuovo blocco"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Fatto."</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Fine"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Scorri verso il basso per accedere allo Spazio privato"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Accedi per configurare lo Spazio privato"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Devi accedere a un account per configurare lo Spazio privato"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Per mostrare lo Spazio privato (UX non finale)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Apri l\'app Impostazioni"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Tocca Sicurezza e privacy > Spazio privato > Nascondi Spazio privato quando è bloccato"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Disattiva Nascondi Spazio privato quando è bloccato"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Nota per i Googler: lo sviluppo di questa funzionalità è ancora in corso"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Puoi aggiungere fino a <xliff:g id="COUNT">%d</xliff:g> impronte digitali"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Hai aggiunto il numero massimo di impronte digitali"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Impossibile aggiungere ulteriori impronte digitali"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connetti"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Disconnetti"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Accoppia e connetti"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Quando il Bluetooth è attivato, il dispositivo può comunicare con altri dispositivi che si trovano nelle vicinanze."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Quando il Bluetooth è attivato, il tuo dispositivo può comunicare con altri dispositivi che si trovano nelle vicinanze"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Quando il Bluetooth è attivo, il dispositivo può comunicare con altri dispositivi Bluetooth nelle vicinanze.\n\nPer migliorare l\'esperienza sul dispositivo, app e servizi possono comunque cercare dispositivi nelle vicinanze in qualsiasi momento, anche quando il Bluetooth non è attivo. Questo può essere utile, ad esempio, per migliorare funzionalità e servizi basati sulla posizione. Puoi modificare questa opzione nelle impostazioni relative alla scansione Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Modifica"</string>
<string name="device_details_title" msgid="1155622417516195481">"Dettagli dispositivo"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Consenti ad ART di verificare il bytecode delle app di cui è possibile eseguire il debug"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Frequenza aggiornamento"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostra l\'attuale frequenza di aggiornamento del display"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostra il rapporto HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostra l\'attuale rapporto HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Richiedi sblocco del dispositivo per NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Continua a usare le app quando chiuso"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Display fluido"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Aumenta automaticamente la frequenza di aggiornamento fino a <xliff:g id="ID_1">%1$d</xliff:g> Hz per alcuni contenuti. Comporta un maggior utilizzo della batteria."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forza frequenza di aggiornamento massima"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Massima frequenza di aggiornamento per migliore reattività al tocco e qualità dell\'animazione; aumenta il consumo della batteria"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Schermo vigile"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Impostazioni comuni"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Modifica punto di accesso"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Aggiungi punto di accesso"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nessuna impostazione"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nessuna impostazione"</string>
<string name="apn_name" msgid="6677695784108157953">"Nome"</string>
@@ -1610,7 +1595,7 @@
<string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verifica sequenza"</string>
<string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verifica PIN"</string>
<string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verifica password"</string>
- <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Per continuare devi inserire la sequenza del dispositivo"</string>
+ <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Inserisci la sequenza del dispositivo per continuare"</string>
<string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Per continuare devi inserire il PIN del dispositivo"</string>
<string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Per continuare devi inserire la password del dispositivo"</string>
<string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN errato"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usa il pulsante Accessibilità per aprire"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Tieni premuti i tasti del volume per aprire"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Tocca tre volte lo schermo per aprire"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Tocca tre volte lo schermo con due dita per aprire"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usa un gesto per aprire"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usa il gesto di accessibilità"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Per usare questa funzione, tocca il pulsante Accessibilità <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nella parte inferiore dello schermo.\n\nPer spostarti tra le funzioni, tocca e tieni premuto il pulsante Accessibilità."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Per usare questa funzione, tocca il pulsante Accessibilità sullo schermo."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Per usare questa funzionalità, tieni premuti entrambi i tasti del volume."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Per avviare e interrompere l\'ingrandimento, tocca tre volte un punto qualsiasi dello schermo."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Per avviare e interrompere l\'ingrandimento, tocca tre volte un punto dello schermo con due dita."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Per usare questa funzione, scorri verso l\'alto dalla parte inferiore dello schermo con due dita.\n\nPer spostarti tra le funzioni, scorri verso l\'alto con due dita e tieni premuto."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Per usare questa funzione, scorri verso l\'alto dalla parte inferiore dello schermo con tre dita.\n\nPer spostarti tra le funzioni, scorri verso l\'alto con tre dita e tieni premuto."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Per usare una funzione di accessibilità, scorri verso l\'alto dalla parte inferiore dello schermo con due dita.\n\nPer spostarti tra le funzioni, scorri verso l\'alto con due dita e tieni premuto."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Tieni premuti i tasti del volume"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"tieni premuti i tasti del volume"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Tieni premuti entrambi i tasti del volume"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Tocca tre volte lo schermo con due dita"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"tocca tre volte lo schermo con due dita"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Tocca rapidamente lo schermo {0,number,integer} volte con due dita"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tocca 3 volte lo schermo"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"tocca tre volte lo schermo"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Tocca lo schermo {0,number,integer} volte in rapida successione. Questa scorciatoia potrebbe rallentare il dispositivo."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Può tenere traccia delle tue interazioni con un\'app o un sensore hardware e interagire con app per tuo conto."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Consenti"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Rifiuta"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Interrompi"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Annulla"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Interrompere <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Se tocchi <xliff:g id="STOP">%1$s</xliff:g>, il servizio <xliff:g id="SERVICE">%2$s</xliff:g> verrà interrotto."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nessun servizio installato"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nessun servizio selezionato"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Nessuna descrizione fornita."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Se limiti l\'attività in background per un\'app, tale app potrebbe funzionare in modo anomalo"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Per limitare l\'app,\n\ndevi prima attivare l\'ottimizzazione della batteria."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gestisci l\'utilizzo della batteria"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Consenti l\'utilizzo in background"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Attiva per ricevere aggiornamenti in tempo reale, disattiva per risparmiare batteria"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Senza limitazioni"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Ottimizzato"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Con limitazioni"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nome"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
<string name="vpn_server" msgid="2908816134941973935">"Indirizzo server"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Crittografia PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Segreto L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificatore IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Chiave pre-condivisa IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificato IPSec dell\'utente"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificato CA per IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificato server IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Mostra opzioni avanzate"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domini di ricerca DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Server DNS (ad es. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Route di inoltro (ad es. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nome utente"</string>
<string name="vpn_password" msgid="1183746907642628127">"Password"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Salva informazioni account"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(non utilizzato)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(non eseguire verifica server)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(ricevuto dal server)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Questo tipo di VPN non può rimanere sempre connesso"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"La VPN sempre attiva supporta solo gli indirizzi server numerici"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Specificare un server DNS per la VPN sempre attiva"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Gli indirizzi dei server DNS devono essere numerici per la VPN sempre attiva"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Le informazioni inserite non supportano la VPN sempre attiva"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Annulla"</string>
<string name="vpn_done" msgid="5137858784289564985">"Chiudi"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blocca connessioni senza VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Connessione VPN obbligatoria?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Tipo non sicuro. Usa una VPN IKEv2."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Seleziona un profilo VPN a cui rimanere sempre connesso. Il traffico di rete sarà consentito solo quando sei connesso a questa VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Nessuna"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"La VPN sempre attiva richiede un indirizzo IP per server e DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostra tutti i contenuti delle notifiche"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Mostra contenuti sensibili solo se sbloccato"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Non mostrare le notifiche"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Cosa vuoi visualizzare sulla schermata di blocco?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Cosa vuoi che mostri la tua schermata di blocco?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Schermata di blocco"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostra tutti i contenuti delle notifiche di lavoro"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Nascondi contenuti di lavoro sensibili"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Consenti l\'accesso per gestire tutti i file"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Consenti a questa app di leggere, modificare ed eliminare tutti i file memorizzati su questo dispositivo o su qualsiasi volume di archiviazione collegato. Se concedi l\'autorizzazione, l\'app potrà accedere ai file senza informarti."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Possono accedere a tutti i file"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"App ad attivazione vocale"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Consenti attivazione vocale"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"L\'attivazione vocale attiva app approvate con la tua voce utilizzando i comandi vocali. Il rilevamento adattivo incorporato assicura che i dati rimangano privati.\n\n"<a href="">"Maggiori informazioni sul rilevamento adattivo protetto"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Notifiche a schermo intero"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Consenti notifiche a schermo intero di questa app"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Consenti a questa app di mostrare notifiche a schermo intero quando il dispositivo è bloccato. L\'app potrebbe usarle per mettere in evidenza sveglie, chiamate in arrivo o altre notifiche urgenti."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ha utilizzato più batteria del solito in background"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ha utilizzato più batteria in primo piano"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ha utilizzato più batteria del solito in primo piano"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia dell\'utilizzo della batteria"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Elevato utilizzo della batteria"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Elevato utilizzo della batteria in background"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Elevato utilizzo della batteria in primo piano"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navigazione del sistema, navigazione con due pulsanti, navigazione con tre pulsanti, navigazione tramite gesti, scorrimento"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistente digitale"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Scorri per aprire l\'assistente"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Scorri verso l\'alto da un angolo in basso per aprire l\'app dell\'assistente digitale."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Scorri verso l\'alto da un angolo in basso per aprire l\'app dell\'assistente digitale"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Tieni premuto Home per attivare l\'assistente"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Tieni premuto il pulsante Home per aprire l\'app dell\'assistente digitale."</string>
<string name="low_label" msgid="6525629096999711220">"Bassa"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Seleziona genere grammaticale"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Scansione delle app ingannevoli"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Controlla l\'attività delle app per verificare la presenza di phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Usa la scansione"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Usa la scansione per le app di lavoro"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Usa la scansione delle app ingannevoli"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Usa la scansione delle app ingannevoli per il lavoro"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index b69327b..c605544 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"סטיילוס"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"שיתוף של אודיו"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"שיתוף האודיו"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"שיחות והתראות"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"חיבור לשידור אודיו LE"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"שידורי אודיו בקרבת מקום"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"שידורי אודיו"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"חיבור לשידור אודיו באמצעות קוד QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"לא נמצאו שידורי אודיו בקרבת מקום."</string>
<string name="date_and_time" msgid="1788358029823431692">"תאריך ושעה"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"שרת Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"ניקוי"</string>
@@ -539,7 +543,14 @@
<string name="work_profile_category_header" msgid="85707750968948517">"פרופיל העבודה"</string>
<string name="private_space_title" msgid="7078627930195569767">"מרחב פרטי"</string>
<string name="private_space_summary" msgid="8237652417163408001">"הסתרת אפליקציות בתיקייה פרטית"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"ביטול הנעילה באמצעות נעילת מסך"</string>
+ <string name="private_space_description" msgid="5494963647270826210">"הסתרת אפליקציות בתיקייה פרטית שנגישה רק לך"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"נעילה של המרחב הפרטי"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"אפשר לפתוח את המרחב הפרטי באותה דרך שפותחים את המכשיר או לבחור בנעילה אחרת"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"שימוש בשיטה לביטול נעילת המסך"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"פתיחה על ידי זיהוי הפנים וביטול הנעילה בטביעת אצבע"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"אפשר להקיש כדי להגדיר"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"זהה לנעילת המסך במכשיר"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"רוצה לבחור שיטת נעילה חדשה למרחב הפרטי?"</string>
<string name="private_space_hide_title" msgid="8687034008994037610">"הסתרה במצב נעילה"</string>
<string name="privatespace_hide_page_title" msgid="972581369094289386">"הסתרת המרחב הפרטי במצב נעילה"</string>
<string name="privatespace_hide_page_summary" msgid="1052569521186403642">"כדי למנוע מאנשים אחרים לדעת שהמרחב הפרטי מופעל במכשיר, אפשר להסתיר אותו מרשימת האפליקציות"</string>
@@ -550,11 +561,7 @@
<string name="privatespace_hide_off_summary" msgid="7227778747159633671">"מצב מושבת"</string>
<string name="privatespace_hide_on_summary" msgid="6136704537527640183">"מצב פעיל"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"מערכת"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"יצירת מרחב פרטי"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"מחיקת מרחב פרטי"</string>
- <string name="private_space_created" msgid="2978055968937762232">"יצרת מרחב פרטי"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"יש כבר מרחב פרטי"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"לא ניתן היה ליצור מרחב פרטי"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"מחקת את המרחב הפרטי"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"לא ניתן היה למחוק את המרחב הפרטי"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"הגדרת נעילת מסך"</string>
@@ -568,40 +575,32 @@
<string name="privatespace_how_title" msgid="8794102046435526065">"איך זה עובד"</string>
<string name="privatespace_access_bottom_text" msgid="1075244097441349030">"אפשר לגשת למרחב הפרטי בחלק התחתון של רשימת האפליקציות שלך"</string>
<string name="privatespace_protected_lock_text" msgid="7320604832432017423">"אפליקציות במרחב הפרטי מוגנות באמצעות נעילה"</string>
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"ההתראות מהאפליקציות במרחב הפרטי מוסתרות כשהוא נעול"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"אפליקציות המרחב הפרטי לא יופיעו בניהול ההרשאות, במרכז הבקרה להגדרות הפרטיות ובהגדרות אחרות כשהמרחב הפרטי נעול"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"הגדרת המרחב הפרטי מתבצעת…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"פרטי השימוש של אפליקציות המרחב הפרטי מוסתרים כשהוא נעול"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"גישה למרחב הפרטי מרשימת האפליקציות שלך"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"לא ניתן להגדיר את ה\'מרחב הפרטי\'"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"אפשר לנסות שוב עכשיו או מאוחר יותר"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"ניסיון נוסף"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"להשתמש בשיטה לביטול נעילת המסך כדי לפתוח?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"אפשר לפתוח את המרחב הפרטי באותה דרך שפותחים את המכשיר או לבחור בנעילה אחרת"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"שימוש בשיטה לביטול נעילת המסך"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"בחירת נעילה חדשה"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"הכול מוכן!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"סיום"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"גוללים למטה כדי לגשת למרחב הפרטי"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"צריך להיכנס לחשבון כדי להגדיר מרחב פרטי"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"עליך להיכנס לחשבון כדי להגדיר מרחב פרטי"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"כדי להציג את המרחב הפרטי (UX לא סופי)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"פותחים את אפליקציית ההגדרות"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"מקישים על \'אבטחה ופרטיות\' > \'מרחב פרטי\' > \'הסתרת המרחב הפרטי במצב נעילה\'"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"השבתת המתג \'הסתרת המרחב הפרטי במצב נעילה\'"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"הערה לגוגלרים: התכונה הזו עדיין בתהליך פיתוח"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"אפשר להוסיף עד <xliff:g id="COUNT">%d</xliff:g> טביעות אצבע"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"הוספת את המספר המרבי של טביעות אצבע."</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"לא ניתן להוסיף עוד טביעות אצבע"</string>
@@ -765,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"התחברות"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"התנתקות"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"התאמה וחיבור"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"כשה-Bluetooth מופעל, המכשיר יכול לתקשר עם מכשירי Bluetooth אחרים שנמצאים בקרבת מקום."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"עם Bluetooth מופעל, המכשיר יכול לתקשר עם מכשירי Bluetooth אחרים בקרבת מקום"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"כשה-Bluetooth מופעל, המכשיר יכול לתקשר עם מכשירי Bluetooth אחרים שנמצאים בקרבת מקום.\n\nכדי לשפר את חוויית השימוש במכשיר, אפליקציות ושירותים יכולים לסרוק אחר מכשירים בקרבת מקום בכל שלב, גם כשה-Bluetooth כבוי. אפשר להשתמש בכך, למשל, כדי לשפר תכונות ושירותים שמבוססים על מיקום. ניתן לשנות זאת בהגדרות הסריקה של Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"שינוי"</string>
<string name="device_details_title" msgid="1155622417516195481">"פרטי המכשיר"</string>
@@ -818,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART יוכל לאמת קוד בייט לאפליקציות שניתנות לניפוי באגים"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"הצגת קצב הרענון"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"הצגת קצב הרענון של התצוגה הנוכחית"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"הצגת יחס HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"הצגת יחס ה-HDR/SDR הנוכחי"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"דרישה לביטול נעילת המכשיר עבור NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1119,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"המשך שימוש באפליקציות כשהמכשיר מקופל"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"תצוגה חלקה"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"קצב הרענון עולה באופן אוטומטי עד <xliff:g id="ID_1">%1$d</xliff:g> Hz לחלק מהתוכן. השימוש בסוללה יוגבר."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"אילוץ לקצב הרענון המקסימלי"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"קצב הרענון הגבוה ביותר לתגובה משופרת למגע ולאיכות אנימציה טובה יותר. פעולה זו מגבירה את השימוש בסוללה."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"המסך יישאר דלוק בזמן צפייה"</string>
@@ -1356,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"הגדרות שיתופיות"</string>
<string name="apn_settings" msgid="4295467389400441299">"פריטי APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"עריכת נקודת גישה"</string>
+ <string name="apn_add" msgid="9069613192201630934">"הוספת נקודת גישה (AP)"</string>
<string name="apn_not_set" msgid="8246646433109750293">"לא בוצעה הגדרה"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"לא הוגדר"</string>
<string name="apn_name" msgid="6677695784108157953">"שם"</string>
@@ -1990,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"שימוש בלחצן הנגישות לצורך פתיחה"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"לחיצה ארוכה על לחצני עוצמת הקול כדי לפתוח"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"מקישים שלוש פעמים על המסך כדי לפתוח"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"לפתיחה, יש להקיש שלוש פעמים על המסך עם שתי אצבעות"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"שימוש בתנועה לצורך פתיחה"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"שימוש בתנועה להפעלת תכונות הנגישות"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"כדי להשתמש בתכונה זו, יש להקיש על לחצן הנגישות <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> שבתחתית המסך.\n\nכדי לעבור בין התכונות השונות, יש ללחוץ לחיצה ארוכה על לחצן הנגישות."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"כדי להשתמש בתכונה הזו, יש להקיש על לחצן הנגישות במסך."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"כדי להשתמש בתכונה הזו, יש ללחוץ לחיצה ארוכה על שני הלחצנים של עוצמת הקול."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"כדי להפעיל הגדלה ולהפסיק אותה, יש להקיש שלוש פעמים במיקום כלשהו במסך."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"כדי להתחיל ולהפסיק את ההגדלה, יש להקיש שלוש פעמים בכל מקום במסך עם שתי אצבעות."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"כדי להשתמש בתכונה זו, יש להחליק כלפי מעלה מתחתית המסך באמצעות שתי אצבעות.\n\nכדי לעבור בין התכונות השונות, יש להחליק כלפי מעלה באמצעות שתי אצבעות ולהחזיק."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"כדי להשתמש בתכונה זו, יש להחליק כלפי מעלה מתחתית המסך באמצעות שלוש אצבעות.\n\nכדי לעבור בין התכונות השונות, יש להחליק כלפי מעלה באמצעות שלוש אצבעות ולהחזיק."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"כדי להשתמש בתכונת הנגישות, יש להחליק כלפי מעלה מתחתית המסך באמצעות שתי אצבעות.\n\nכדי לעבור בין התכונות השונות, יש להחליק כלפי מעלה באמצעות שתי אצבעות ולהחזיק."</string>
@@ -2017,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"לחיצה ארוכה על לחצני עוצמת הקול"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"לחיצה ארוכה על לחצני עוצמת הקול"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"יש ללחוץ לחיצה ארוכה על שני הלחצנים של עוצמת הקול"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"שלוש הקשות על המסך עם שתי אצבעות"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"שלוש הקשות על המסך עם שתי אצבעות"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"הקשה מהירה על המסך {0,number,integer} פעמים עם שתי אצבעות"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"הקשה על המסך 3 פעמים"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"הקשה שלוש פעמים על המסך"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"מקישים במהירות על המסך {0,number,integer} פעמים. קיצור הדרך הזה עלול להאט את פעולת המכשיר"</string>
@@ -2247,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"אפשרות למעקב אחר האינטראקציה שלך עם אפליקציות או חיישני חומרה, וביצוע אינטראקציה בשמך."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"אישור"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"עדיף שלא"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"עצירה"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ביטול"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"האם לעצור את <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"הקשה על <xliff:g id="STOP">%1$s</xliff:g> תפסיק את הפעולה של <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"אין שירותים מותקנים"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"לא נבחר שירות"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"לא סופק תיאור."</string>
@@ -2320,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"הגבלת הפעילות של אפליקציה ברקע עלולה לשבש את פעולתה"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"מכיוון שהאפליקציה לא מוגדרת לאופטימיזציה של הסוללה, לא ניתן להגבילה.\n\nכדי להגביל אותה, תחילה יש להפעיל אופטימיזציה של הסוללה."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ניהול השימוש בסוללה"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"הרשאה לשימוש ברקע"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"אפשר להפעיל כדי לקבל עדכונים בזמן אמת או להשבית כדי לחסוך בסוללה"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ללא הגבלות"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"אופטימיזציה"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"מוגבל"</string>
@@ -2728,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"שם"</string>
<string name="vpn_type" msgid="5533202873260826663">"סוג"</string>
<string name="vpn_server" msgid="2908816134941973935">"כתובת שרת"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"הצפנת PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"סוד של L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"מזהה IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"מפתח משותף מראש של IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"אישור משתמש IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"אישור CA של IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"אישור של שרת IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"אפשרויות מתקדמות"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"דומיינים של חיפוש DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"שרתי DNS (לדוגמה, 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"מסלולי העברה (לדוגמה, 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"שם משתמש"</string>
<string name="vpn_password" msgid="1183746907642628127">"סיסמה"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"שמירת פרטי החשבון"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(לא בשימוש)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(לא לאמת את השרת)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(התקבל מהשרת)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"סוג זה של VPN לא יכול להישאר מחובר תמיד"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN בחיבור תמידי תומך רק בכתובות שרת מספריות"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"יש להגדיר שרת DNS ל-VPN בחיבור תמידי"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"הכתובות של שרת ה-DNS צריכות להיות מספריות עבור VPN בחיבור תמידי"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"המידע שהוזן לא תומך ב-VPN בחיבור תמידי"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"ביטול"</string>
<string name="vpn_done" msgid="5137858784289564985">"סגירה"</string>
@@ -2784,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"חסימת חיבורים ללא VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"תמיד לדרוש חיבור VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"לא מאובטחת. עדכון ל-VPN בפרוטוקול IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"בוחרים פרופיל VPN שנשארים מחוברים אליו תמיד. תנועת רשת תהיה מותרת רק כאשר יהיה חיבור ל-VPN זה."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"ללא"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN מופעל תמיד מחייב כתובת IP לשרת ול-DNS."</string>
@@ -3341,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"הצגת תוכן ההתראות במלואו"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"הצגת תוכן רגיש רק כשהמכשיר לא נעול"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"לא להציג התראות בכלל"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"איך להציג התראות במסך הנעילה?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"מה היית רוצה שיוצג במסך הנעילה?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"מסך נעילה"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"הצגת כל התוכן של התראות מהעבודה"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"הסתרה של תוכן עבודה רגיש"</string>
@@ -3830,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"הרשאת גישה לניהול כל הקבצים"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"לאפליקציה הזו תהיה הרשאה לקרוא, לשנות ולמחוק את כל הקבצים במכשיר הזה או בכל אחסון שמחובר אליו. אם ההרשאה ניתנת, האפליקציה תורשה לגשת לקבצים מבלי ליידע אותך במפורש."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"יכולת גישה לכל הקבצים"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"אפליקציות בהפעלה קולית"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"אישור הפעלה קולית"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"הפעלה קולית מפעילה אפליקציות שאושרו, באמצעות פקודה קולית. החישה האדפטיבית המובנית מבטיחה שהנתונים יישארו פרטיים רק לך.\n\n"<a href="">"מידע נוסף על חישה אדפטיבית מוגנת"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"התראות במסך מלא"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"מתן הרשאה להצגת התראות במסך מלא מהאפליקציה הזו"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"מתן הרשאה לאפליקציה הזו להציג התראות במסך מלא כשהמכשיר נעול. אפליקציות יכולות להשתמש בהרשאה הזו כדי להציג התראות, שיחות נכנסות או הודעות דחופות אחרות."</string>
@@ -3993,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"צריכת הסוללה של <xliff:g id="APP_LABEL">%1$s</xliff:g> הייתה גבוהה יותר מהרגיל בזמן הפעילות ברקע"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"צריכת הסוללה של <xliff:g id="APP_LABEL">%1$s</xliff:g> הייתה גבוהה יותר בזמן הפעילות בחזית"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"צריכת הסוללה של <xliff:g id="APP_LABEL">%1$s</xliff:g> הייתה גבוהה יותר מהרגיל בזמן הפעילות בחזית"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"חריגה בשימוש בסוללה"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"צריכת סוללה גבוהה"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"צריכת סוללה גבוהה ברקע"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"צריכת סוללה גבוהה בחזית"</string>
@@ -4090,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"ניווט במערכת, ניווט ב-2 לחצנים, ניווט ב-3 לחצנים, ניווט באמצעות תנועות, החלקה"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"העוזר הדיגיטלי"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"החלקה להפעלת העוזר הדיגיטלי"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"כדי להפעיל את אפליקציית העוזר הדיגיטלי, צריך להחליק למעלה מאחת הפינות התחתונות."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"כדי להפעיל את אפליקציית העוזר הדיגיטלי, צריך להחליק למעלה מאחת הפינות התחתונות"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"לחיצה ארוכה על הלחצן הראשי להפעלת העוזר הדיגיטלי"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"צריך ללחוץ לחיצה ארוכה על הלחצן הראשי כדי להפעיל את אפליקציית העוזר הדיגיטלי."</string>
<string name="low_label" msgid="6525629096999711220">"נמוכה"</string>
@@ -4891,19 +4892,19 @@
<string name="aspect_ratio_experiment_label" msgid="7861871612376167784">"ניסוי"</string>
<string name="aspect_ratio_labs_label" msgid="7008498116297651342">"Labs"</string>
<string name="accessibility_fingerprint_label" msgid="5017431423168191733">"חיישן טביעות אצבע"</string>
- <string name="flash_notifications_title" msgid="4490438861180492311">"התראות הבהוב"</string>
- <string name="flash_notifications_about_title" msgid="9004351252928121214">"מידע על התראות הבהוב"</string>
+ <string name="flash_notifications_title" msgid="4490438861180492311">"הבהוב על התראות"</string>
+ <string name="flash_notifications_about_title" msgid="9004351252928121214">"מידע על הבהוב על התראות"</string>
<string name="flash_notifications_summary_off" msgid="6056282996770691461">"מצב כבוי"</string>
<string name="flash_notifications_summary_on_camera" msgid="3286405833586333730">"מצב פעיל / הפלאש של המצלמה"</string>
<string name="flash_notifications_summary_on_screen" msgid="9040640799633336219">"מצב פעיל / הבזק מסך"</string>
<string name="flash_notifications_summary_on_camera_and_screen" msgid="2326268141063768701">"מצב פעיל / הפלאש של המצלמה והבזק מסך"</string>
- <string name="flash_notifications_intro" msgid="8409873413480928249">"הפעלת התראות הבהוב של המצלמה או הבזק מסך כשמקבלים התראות או כשנשמעות אזעקות"</string>
- <string name="flash_notifications_intro_without_camera_flash" msgid="6297337174487793891">"הפעלת הבהוב של המסך כשמקבלים התראות או כאשר נשמעות אזעקות."</string>
+ <string name="flash_notifications_intro" msgid="8409873413480928249">"המסך או הפלאש יהבהבו כשיתקבלו התראות או יצלצלו שעונים מעוררים"</string>
+ <string name="flash_notifications_intro_without_camera_flash" msgid="6297337174487793891">"המסך יהבהב כשיתקבלו התראות או יצלצלו שעונים מעוררים"</string>
<string name="flash_notifications_note" msgid="2426125248448055075">"אם יש לך רגישות לאור, כדאי להשתמש בהתראות הבהוב בזהירות"</string>
<string name="flash_notifications_keywords" msgid="2458759275318514836">"פלאש, אור, כבד שמיעה, אובדן שמיעה"</string>
<string name="flash_notifications_preview" msgid="5320176885050440874">"תצוגה מקדימה"</string>
- <string name="camera_flash_notification_title" msgid="2475084876382922732">"הפלאש של המצלמה"</string>
- <string name="screen_flash_notification_title" msgid="3773100725793316708">"הבזק מסך"</string>
+ <string name="camera_flash_notification_title" msgid="2475084876382922732">"הבהוב פלאש"</string>
+ <string name="screen_flash_notification_title" msgid="3773100725793316708">"הבהוב במסך"</string>
<string name="screen_flash_notification_color_title" msgid="7213407653340970790">"צבע להבזק מסך"</string>
<string name="screen_flash_color_blue" msgid="3585766657607931371">"כחול"</string>
<string name="screen_flash_color_azure" msgid="8691198532944992243">"תכלת"</string>
@@ -4944,8 +4945,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"בחירת לשון הפנייה"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"מתבצעת סריקה לאיתור אפליקציות מטעות"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"בדיקת הפעילות באפליקציה לאיתור פישינג"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"שימוש בסריקה"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"שימוש בסריקה באפליקציה לעבודה"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"שימוש בסריקה לגילוי אפליקציות שיש בהן ניסיונות הונאה"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"שימוש בסריקה לגילוי אפליקציות לצורכי עבודה שיש בהן ניסיונות הונאה"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index a9e0ca5..3539e56 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"タッチペン"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"音声の共有"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"音声を共有"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"通話とアラーム"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE Audio ストリームへの接続"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"付近の音声ストリーム"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"音声ストリーム"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR コードを使用して音声ストリームに接続します"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"付近に音声ストリームは見つかりませんでした。"</string>
<string name="date_and_time" msgid="1788358029823431692">"日付と時刻"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"プロキシ"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"消去"</string>
@@ -539,7 +543,14 @@
<string name="work_profile_category_header" msgid="85707750968948517">"仕事用プロファイル"</string>
<string name="private_space_title" msgid="7078627930195569767">"プライベート スペース"</string>
<string name="private_space_summary" msgid="8237652417163408001">"プライベート フォルダ内のアプリを非表示にする"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"画面ロックを使用してロックを解除する"</string>
+ <string name="private_space_description" msgid="5494963647270826210">"あなただけがアクセスできるプライベート フォルダ内のアプリを非表示にします"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"プライベート スペースのロック"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"デバイスのロック解除と同じ方法でプライベート スペースのロックを解除するか、別のロックを選択できます"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"デバイスの画面ロックを使用"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"顔認証と指紋認証によるロック解除"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"タップして設定してください"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"デバイスと同じ画面ロックを使用中"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"プライベート スペースの新規ロックを選択しますか?"</string>
<string name="private_space_hide_title" msgid="8687034008994037610">"ロック時に表示しない"</string>
<string name="privatespace_hide_page_title" msgid="972581369094289386">"ロック時にプライベート スペースを表示しない"</string>
<string name="privatespace_hide_page_summary" msgid="1052569521186403642">"プライベート スペースがデバイスにあることを秘密にするために、アプリのリストで非表示にできます"</string>
@@ -550,11 +561,7 @@
<string name="privatespace_hide_off_summary" msgid="7227778747159633671">"OFF"</string>
<string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ON"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"システム"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"プライベート スペースの作成"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"プライベート スペースの削除"</string>
- <string name="private_space_created" msgid="2978055968937762232">"プライベート スペースを作成しました"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"プライベート スペースはすでに存在します"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"プライベート スペースを作成できませんでした"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"プライベート スペースを削除しました"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"プライベート スペースを削除できませんでした"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"画面ロックの設定"</string>
@@ -568,40 +575,32 @@
<string name="privatespace_how_title" msgid="8794102046435526065">"仕組み"</string>
<string name="privatespace_access_bottom_text" msgid="1075244097441349030">"アプリのリストの下部からプライベート スペースにアクセスできます"</string>
<string name="privatespace_protected_lock_text" msgid="7320604832432017423">"プライベート スペースのアプリはロックによって保護されます"</string>
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"プライベート スペースがロックされているときは、プライベート スペースにアプリからの通知は表示されません"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"プライベート スペースがロックされているときは、権限マネージャ、プライバシー ダッシュボード、その他の設定にプライベート スペース アプリは表示されません"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"プライベート スペースを設定しています…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"プライベート スペースがロックされているときは、プライベート スペース アプリの使用状況に関する情報は表示されません"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"アプリのリストからプライベート スペースにアクセス"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"プライベート スペースを設定できませんでした"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"今すぐもう一度試すか、後でやり直してください"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"再試行"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"ロック解除に画面ロックを使用しますか?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"デバイスのロック解除と同じ方法でプライベート スペースのロックを解除するか、別のロックを選択できます"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"画面ロックを使用"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"新しいロックを選択"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"設定完了"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"完了"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"プライベート スペースにアクセスするには下にスクロールします"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"プライベート スペースを設定するにはログインしてください"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"プライベート スペースを設定するには、アカウントにログインする必要があります"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"プライベート スペースを表示するには(暫定 UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"設定アプリを開きます"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"[セキュリティとプライバシー] > [プライベート スペース] > [ロック時にプライベート スペースを表示しない] をタップします"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"[ロック時にプライベート スペースを表示しない] をオフにします"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google 社員への注記: この機能は現在開発中です"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"最大で <xliff:g id="COUNT">%d</xliff:g> 件の指紋を追加できます"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"追加された指紋の数が上限に達しました"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"これ以上、指紋を追加できません"</string>
@@ -630,7 +629,7 @@
<string name="setup_lock_settings_options_dialog_title" msgid="7985107300517468569">"画面ロックの方法"</string>
<string name="lock_screen_auto_pin_confirm_title" msgid="3012128112186088375">"ロック解除を自動で確認する"</string>
<string name="lock_screen_auto_pin_confirm_summary" msgid="9050818870806580819">"6 桁以上の正しい PIN が入力されると自動的にロック解除します。[入力] をタップして確認するよりも、安全面でやや劣ります。"</string>
- <string name="auto_pin_confirm_user_message" msgid="6194556173488939314">"正しい PIN を自動で確認します"</string>
+ <string name="auto_pin_confirm_user_message" msgid="6194556173488939314">"正しい PIN を自動で確認する"</string>
<string name="auto_pin_confirm_opt_in_security_message" msgid="580773976736184893">"[入力] をタップして PIN を確認するほうが、自動確認を使うよりも安全です"</string>
<string name="auto_confirm_on_pin_verify_description" msgid="2052240431173223502">"自動確認を有効にするには、デバイスの PIN を入力してください"</string>
<string name="auto_confirm_off_pin_verify_description" msgid="4256219155659760047">"自動確認を無効にするには、デバイスの PIN を入力してください"</string>
@@ -765,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"接続"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"接続を解除"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ペアに設定して接続"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth を ON にすると、近くにある他の Bluetooth デバイスと通信できます。"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth を ON にすると、近くにある他の Bluetooth デバイスと通信できます"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth を ON にすると、付近の他の Bluetooth デバイスと通信できます。\n\nBluetooth が OFF の場合でもアプリやサービスは付近のデバイスをいつでもスキャンできます。位置情報を使用する機能やサービスで利便性が向上するなどの効果があります。この設定は Bluetooth スキャンの設定で変更できます。"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"変更"</string>
<string name="device_details_title" msgid="1155622417516195481">"デバイスの詳細"</string>
@@ -818,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"デバッグ可能なアプリのバイトコードの確認を ART に許可する"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"リフレッシュ レートの表示"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"現在のディスプレイ リフレッシュ レートを表示します"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR 比を表示する"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"現在の HDR/SDR 比を表示する"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC の使用にロック解除を要求"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android ビーム"</string>
@@ -1119,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"折りたたみ時もアプリの使用を継続"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"スムーズ ディスプレイ"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"コンテンツに応じて、リフレッシュ レートを自動的に <xliff:g id="ID_1">%1$d</xliff:g> Hz に変更します。バッテリー使用量が増えます。"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ピーク時のリフレッシュ レートの適用"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"最高のリフレッシュ レートを適用します。タップの反応とアニメーションの品質が向上します。バッテリー使用量が増えます。"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"スクリーン アテンション"</string>
@@ -1356,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"共用の設定"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"アクセスポイントの編集"</string>
+ <string name="apn_add" msgid="9069613192201630934">"アクセス ポイントの追加"</string>
<string name="apn_not_set" msgid="8246646433109750293">"未設定"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"未設定"</string>
<string name="apn_name" msgid="6677695784108157953">"名前"</string>
@@ -1990,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ユーザー補助機能ボタンで開く"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"両方の音量ボタンを長押しして開く"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"画面をトリプルタップして開く"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"2 本の指で画面をトリプルタップして開く"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ジェスチャーで開く"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ユーザー補助操作を使用する"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"この機能を使用するには、画面の下部にあるユーザー補助機能ボタン <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> をタップします。\n\n機能を切り替えるには、ユーザー補助機能ボタンを長押しします。"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"この機能を使用するには、画面上のユーザー補助機能ボタンをタップしてください。"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"この機能を使用するには、音量大と音量小の両方のボタンを長押しします。"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"拡大を開始および停止するには、画面をトリプルタップします。"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"拡大を開始および停止するには、2 本の指で画面をトリプルタップします。"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"この機能を使用するには、2 本の指で画面の下から上にスワイプします。\n\n機能を切り替えるには、2 本の指で上にスワイプしたまま長押しします。"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"この機能を使用するには、3 本の指で画面の下から上にスワイプします。\n\n機能を切り替えるには、3 本の指で上にスワイプしたまま長押しします。"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ユーザー補助機能を使用するには、2 本の指で画面の下から上にスワイプします。\n\n機能を切り替えるには、2 本の指で上にスワイプしたまま長押しします。"</string>
@@ -2017,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"音量ボタンを長押し"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"音量大と音量小の両方のボタンを長押し"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"音量大と音量小の両方のボタンを長押しします"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"2 本の指で画面をトリプルタップ"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"2 本の指で画面をトリプルタップ"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"2 本の指で画面を {0,number,integer} 回すばやくタップします"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"画面をトリプルタップ"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"画面をトリプルタップ"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"画面をすばやく {0,number,integer} 回タップします。このショートカットを使うと、デバイスの動作が遅くなる場合があります"</string>
@@ -2247,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"アプリやハードウェア センサーの操作を記録したり、自動的にアプリを操作したりできます。"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"許可"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"許可しない"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"停止"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"キャンセル"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"「<xliff:g id="SERVICE">%1$s</xliff:g>」を停止しますか?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"[<xliff:g id="STOP">%1$s</xliff:g>] をタップすると「<xliff:g id="SERVICE">%2$s</xliff:g>」が停止します。"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"インストールされているサービスはありません"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"サービスが選択されていません"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"説明はありません。"</string>
@@ -2320,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"アプリのバックグラウンド アクティビティを制限すると、アプリが正常に機能しないことがあります"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"このアプリは、電池の最適化が設定されていないため、制限することはできません。\n\nこのアプリを制限するには、電池の最適化を ON にしてください。"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"バッテリー使用状況の管理"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"バックグラウンドでの使用の許可"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"リアルタイムのアップデートを利用する場合は有効に、バッテリーを節約したい場合は無効にしてください"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"制限なし"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"最適化"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"制限"</string>
@@ -2728,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"名前"</string>
<string name="vpn_type" msgid="5533202873260826663">"タイプ"</string>
<string name="vpn_server" msgid="2908816134941973935">"サーバー アドレス"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP 暗号化(MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TPセキュリティ保護"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ID"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec事前共有鍵"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSecユーザー証明書"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA 証明書"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSecサーバー証明書"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"詳細オプションを表示する"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS 検索ドメイン"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS サーバー(例: 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"転送ルート(例: 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"ユーザー名"</string>
<string name="vpn_password" msgid="1183746907642628127">"パスワード"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"アカウント情報を保存する"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(未使用)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(サーバーを確認しない)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(サーバーから受信)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"この VPN タイプは常時接続できません"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"常時接続 VPN で使用できるのはアドレスが数値のサーバーのみです"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"常時接続 VPN には DNS サーバーを指定してください"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"常時接続 VPN の DNS サーバー アドレスには数値を指定してください"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"入力した情報は常時接続 VPN に対応していません"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"キャンセル"</string>
<string name="vpn_done" msgid="5137858784289564985">"終了"</string>
@@ -2784,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN 以外の接続のブロック"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN 接続を要求しますか?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"安全ではありません。IKEv2 VPN に更新してください"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"常時接続するVPNプロファイルを選択します。このVPNに接続しているときのみネットワークにアクセスできます。"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"なし"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPNへの常時接続にはサーバーとDNSの両方のIPアドレスが必要です。"</string>
@@ -3341,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"すべての通知の内容を表示する"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"機密性の高いコンテンツはロック解除時にのみ表示されます"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"通知を一切表示しない"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ロック画面に通知をどのように表示しますか?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ロック画面に何を表示しますか?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ロック画面"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"仕事用のすべての通知の内容を表示する"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"機密性の高い仕事の内容を非表示"</string>
@@ -3830,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"全ファイルの管理権を付与"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"このアプリに対して、デバイス内または接続されているストレージ ボリューム内のファイルすべての参照、変更、削除を許可します。許可されている場合、アプリがユーザーの事前の承認なしにファイルにアクセスすることもあります。"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"すべてのファイルにアクセス可能"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"音声アクティベーション アプリ"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"音声アクティベーションを許可する"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"音声アクティベーション機能により、承認されたアプリを音声コマンドを通じてハンズフリーで有効にできます。組み込みのアダプティブ センシングで、あなた以外にデータが公開されることはありません。\n\n"<a href="">"保護されたアダプティブ センシングの詳細"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"全画面通知"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"このアプリからの全画面通知を許可する"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"デバイスがロックされているときに通知を全画面に表示することを、このアプリに許可します。アプリはこの設定を、アラーム、着信、緊急通知などを強調するために使用することがあります。"</string>
@@ -3993,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g>: バックグラウンドで通常よりバッテリー使用量が増えました"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g>: フォアグラウンドでバッテリー使用量が増えました"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g>: フォアグラウンドで通常よりバッテリー使用量が増えました"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"バッテリー使用量が異常です"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"バッテリー使用量が多い"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"バックグラウンドでバッテリー使用量が多い"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"フォアグラウンドでバッテリー使用量が多い"</string>
@@ -4090,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"システム ナビゲーション, 2 ボタン ナビゲーション, 3 ボタン ナビゲーション, ジェスチャー ナビゲーション, スワイプ"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"デジタル アシスタント"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"スワイプしてアシスタントを起動"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"右下隅または左下隅から斜め上にスワイプしてデジタル アシスタント アプリを起動します。"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"右下隅または左下隅から斜め上にスワイプしてデジタル アシスタント アプリを起動します"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"ホームボタンを長押ししてアシスタントを起動"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ホームボタンを長押しすることでデジタル アシスタント アプリを起動します。"</string>
<string name="low_label" msgid="6525629096999711220">"低"</string>
@@ -4943,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"文法性の選択"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"虚偽の振る舞いをするアプリをスキャンする"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"フィッシングに関するアプリのアクティビティを確認する"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"スキャンを使用する"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"仕事用アプリにスキャンを使用する"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"虚偽の振る舞いをするアプリを検出する"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"虚偽の振る舞いをする仕事用アプリを検出する"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 571a136..7940663 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"სტილუსი"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"აუდიოს გაზიარება"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"აუდიოს გაზიარება"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ზარები და მაღვიძარები"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"დაუკავშირდით LE-აუდიო ნაკადს"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"ახლომახლო აუდიო ნაკადები"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"აუდიო ნაკადები"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"დაუკავშირდით აუდიო ნაკადს QR კოდის გამოყენებით"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"ახლომახლო აუდიო ნაკადები ვერ მოიძებნა."</string>
<string name="date_and_time" msgid="1788358029823431692">"თარიღი და დრო"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"პროქსი"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"გაწმენდა"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"სამსახურის პროფილი"</string>
<string name="private_space_title" msgid="7078627930195569767">"პირადი სივრცე"</string>
<string name="private_space_summary" msgid="8237652417163408001">"აპების დამალვა პირად საქაღალდეში"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"ეკრანის დაბლოკვის გამოყენებით განბლოკვა"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"დამალეთ აპები პირად საქაღალდეში, რომლებზეც წვდომაც მხოლოდ თქვენ გაქვთ"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"პირადი სივრცის ჩაკეტვა"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"განბლოკეთ თქვენი პირადი სივრცე ისევე, როგორ მოწყობილობას განბლოკავთ, ან დააყენეთ განსხვავებული საკეტი"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"გამოიყენეთ მოწყობილობის ეკრანის დაბლოკვა"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"სახით და თითის ანაბეჭდით განბლოკვა"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"შეეხეთ დასაყენებლად"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"მოწყობილობის იდენტური ეკრანის დაბლოკვის მეთოდი"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"აირჩიეთ ახალი საკეტი პირადი სივრცისთვის?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"დამალვა ჩაკეტილ მდგომარეობაში"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"პირადი სივრცის დამალვა ჩაკეტილ მდგომარეობაში"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"შეგიძლიათ დამალოთ პირადი სივრცე თქვენი აპების გვერდიდან, თუ არ გსურთ, რომ სხვებმა იცოდნენ, პირად სივრცეს რომ იყენებთ თქვენს მოწყობილობაზე"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"წვდომა პირად სივრცეზე, როცა დამალულია"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"მოძებნეთ „პირადი სივრცე“ ძიების ზოლში"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"შეეხეთ Private Space მოზაიკის ფილას"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"განბლოკეთ თქვენი პირადი სივრცე"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"გამორთული"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ჩართული"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"სისტემა"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"პირადი სივრცის შექმნა"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"პირადი სივრცის წაშლა"</string>
- <string name="private_space_created" msgid="2978055968937762232">"პირადი სივრცე წარმატებით შეიქმნა"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"პირადი სივრცე უკვე არსებობს"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"პირადი სივრცის შექმნა ვერ მოხერხდა"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"პირადი სივრცე წარმატებით წაიშალა"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"პირადი სივრცის წაშლა ვერ მოხერხდა"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"დააყენეთ ეკრანის დაბლოკვა"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"პირადი სივრცის გამოსაყენებლად დააყენეთ ეკრანის დაბლოკვა ამ მოწყობილობაზე."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"ეკრანის დაბლოკვის დაყენება"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"გაუქმება"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"გაუქმება"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"დაყენება"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"პირადი სივრცის დაყენება"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"დამალეთ პირადი აპები უსაფრთხო სივრცეში, რომელზედაც მხოლოდ თქვენ გაქვთ წვდომა"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"მუშაობის პრინციპი"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"პირად სივრცეზე წვდომა თქვენი აპების გვერდის ბოლოში შეგიძლიათ"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"აპებს პირად სივრცეში იცავს ჩაკეტვა"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"პირად სივრცეში არსებული აპების შეტყობინებები დამალულია, როცა ის ჩაკეტილია"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"პირადი სივრცის აპები არ გამოჩნდება ნებართვების მმართველში, კონფიდენციალურობის საინფორმაციო დაფასა და სხვა პარამეტრებში, როდესაც პირადი სივრცე ჩაკეტილია"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"მიმდინარეობს პირადი სივრცის დაყენება…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"პირადი სივრცის აპების გამოყენების ინფორმაცია დამალულია, როცა ის ჩაკეტილია"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"მიიღეთ წვდომა პირად სივრცეზე თქვენი აპების გვერდიდან"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"პირადი სივრცის დაყენება ვერ მოხერხდა"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"ცადეთ ხელახლა ახლა ან მოგვიანებით"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"ხელახლა ცდა"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"განსაბლოკად ეკრანის დაბლოკვას გამოიყენებთ?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"განბლოკეთ თქვენი პირადი სივრცე ისევე, როგორ მოწყობილობას განბლოკავთ, ან დააყენეთ განსხვავებული საკეტი"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"გამოიყენეთ ეკრანის დაბლოკვა"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"აირჩიეთ ახალი საკეტი"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"მზადაა!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"მზადაა"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"პირად სივრცეზე წვდომისთვის გადაადგილდით ქვემოთ"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"შედით, რათა დააყენოთ პირადი სივრცე"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"პირადი სივრცის დასაყენებლად საჭიროა შეხვიდეთ ანგარიშში"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"პირადი სივრცის ჩვენება (არ არის საბოლოო UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"გახსენით პარამეტრების აპი."</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"შეეხეთ უსაფრთხოებას და კონფიდენციალურობას > პირადი სივრცე > პირადი სივრცის დამალვა ჩაკეტილზე"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"გამორთეთ გადამრთველი, პირადი სივრცის დამალვა ჩაკეტვისას"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"შენიშვნა Google-ის თანამშრომლებისთვის ამ ფუნქციის განვითარება ჯერ კიდევ მიმდინარეობს"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"შეგიძლიათ დაამატოთ მაქსიმუმ <xliff:g id="COUNT">%d</xliff:g> თითის ანაბეჭდი"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"თქვენ უკვე დაამატეთ თითის ანაბეჭდების მაქსიმალური რაოდენობა"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"მეტი თითის ანაბეჭდის დამატება ვერ ხერხდება"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"დაკავშირება"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"კავშირის გაწყვეტა"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"დაწყვილება და შეერთება"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"როდესაც Bluetooth ჩართულია, თქვენს მოწყობილობას ახლომდებარე Bluetooth მოწყობილობებთან კომუნიკაცია შეუძლია."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"როდესაც Bluetooth ჩართულია, თქვენს მოწყობილობას ახლომდებარე Bluetooth მოწყობილობებთან კომუნიკაცია შეუძლია"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"როცა Bluetooth ჩართულია, თქვენს მოწყობილობას შეუძლია სხვა ახლომდებარე Bluetooth მოწყობილობებთან კომუნიკაცია.\n\nმოწყობილობის საუკეთესოდ მოხმარებისთვის, აპები და სერვისები მაშინაც კი შეძლებს ახლომდებარე მოწყობილობათა აღმოსაჩენად სკანირებას, როცა Bluetooth გამორთულია. ამის გამოყენება შესაძლებელია, მაგალითად, მდებარეობაზე დაფუძნებული ფუნქციების და სერვისების გასაუმჯობესებლად. ამის შეცვლა Bluetooth-ით სკანირების პარამეტრებში შეგიძლიათ."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"შეცვლა"</string>
<string name="device_details_title" msgid="1155622417516195481">"მოწყობილობის დეტალები"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART-ისთვის გამართვადი აპების ბაიტ-კოდის დადასტურების დაშვება"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"განახლ. სიხშირის ჩვენება"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"ეკრანის განახლების ამჟამინდელი სიხშირის ჩვენება"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"აჩვენეთ HDR/SDR თანაფარდობა"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"აჩვენეთ მიმდინარე HDR/SDR თანაფარდობა"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"მოწყობილობის განბლოკვის მოთხოვნა NFC-ისთვის"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android სხივი"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"აპების გამოყენების გაგრძელება ჩაკეცვისას"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"ავტომატურად ზრდის განახლების სიხშირეს <xliff:g id="ID_1">%1$d</xliff:g> ჰც-მდე, გარკვეული კონტენტისთვის. ზრდის ბატარეის მოხმარებას."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"განახლების პიკური სიხშირის იძულება"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"განახლების უმაღლესი სიხშირე შეხებაზე გაუმჯობესებული რეაგირებისთვის და უფრო ერთგვაროვანი ანიმაციისთვის. გაზრდის ბატარეის მოხმარებას."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"ეკრანზე ყურადღება"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"საერთო პარამეტრები"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN-ები"</string>
<string name="apn_edit" msgid="2003683641840248741">"წვდომის წერტილის რედაქტირება"</string>
+ <string name="apn_add" msgid="9069613192201630934">"დაამატეთ წვდომის წერტილი"</string>
<string name="apn_not_set" msgid="8246646433109750293">"არ არის დაყენებული"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"არ არის დაყენებული"</string>
<string name="apn_name" msgid="6677695784108157953">"სახელი"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"გასახსნელად გამოიყენეთ მარტივი წვდომის ღილაკი"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"გასახსნელად დააჭირეთ ხმის ღილაკებს"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"სამმაგად შეეხეთ ეკრანს გასახსნელად"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"გასახსნელად სამჯერ შეეხეთ ეკრანს ორი თითით"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"გასახსნელად გამოიყენეთ ჟესტი"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"მარტივი წვდომის ჟესტის გამოყენება"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ამ ფუნქციით სარგებლობისთვის შეეხეთ მარტივი წვდომის ღილაკს <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> თქვენი ეკრანის ქვედა ნაწილში.\n\nფუნქციების გადასართავად ხანგრძლივად შეეხეთ მარტივი წვდომის ღილაკს."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ამ ფუნქციის გამოსაყენებლად შეეხეთ მარტივი წვდომის ღილაკს თქვენს ეკრანზე."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ამ ფუნქციით სარგებლობისთვის ხანგრძლივად დააჭირეთ ხმის ორივე ღილაკს."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"გადიდების დასაწყებად და შესაწყვეტად, სამმაგად შეეხეთ ეკრანს ნებისმიერ ადგილზე."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"გადიდების დასაწყებად და შესაწყვეტად ორი თითით სამჯერ შეეხეთ ეკრანს ნებისმიერ ადგილზე."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ამ ფუნქციით სარგებლობისთვის 2 თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nფუნქციების გადასართავად 2 თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ამ ფუნქციით სარგებლობისთვის 3 თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nფუნქციების გადასართავად 3 თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"მარტივი წვდომის ფუნქციით სარგებლობისთვის 2 თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nფუნქციების გადასართავად 2 თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ხანგრძლივად დააჭირეთ ხმის ღილაკებს"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ხანგრძლივად დააჭირეთ ხმის ღილაკებს"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ხანგრძლივად დააჭირეთ ხმის ორივე ღილაკს"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"ეკრანზე ორი თითით სამჯერ შეხება"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ეკრანზე ორი თითით სამჯერ შეხება"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"სწრაფად შეეხეთ ეკრანს {0,number,integer}-ჯერ ორი თითით"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"სამმაგად შეეხეთ ეკრანს"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"სამმაგად შეეხეთ ეკრანს"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"სწრაფად შეეხეთ ეკრანს {0,number,integer}-ჯერ. ამ მალსახმობმა შეიძლება მოწყობილობა შეანელოს"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"მას შეუძლია თვალი მიადევნოს თქვენს ინტერაქციებს აპის ან აპარატურის სენსორის საშუალებით, ასევე, თქვენი სახელით აწარმოოს აპებთან ინტერაქცია."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"დაშვება"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"უარყოფა"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"შეწყვეტა"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"გაუქმება"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"გაითიშოს <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g>-ზე შეხება შეწყვეტს <xliff:g id="SERVICE">%2$s</xliff:g>-ს."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"სერვისები დაყენებული არ არის"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"სერვისი არჩეულია არ არის"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"აღწერა არ არის მოწოდებული."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"აპისთვის ფონური აქტივობის შეზღუდვის შემთხვევაში, მან შეიძლება არასათანადოდ იმუშაოს"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"რადგან ეს აპი ბატარეის ოპტიმიზებისთვის დაყენებული არაა, მას ვერ შეზღუდავთ.\n\nჩართეთ ბატარეის ოპტიმიზაცია აპის შესაზღუდავად."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ბატარეის მოხმარების მართვა"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"დაუშვით ფონური გამოყენება"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ჩართეთ რეალური დროის რეჟიმში განახლებებისთვის, გამორთეთ ბატარეის დასაზოგად"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"შეუზღუდავი"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ოპტიმიზებული"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"შეზღუდული"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"სახელი"</string>
<string name="vpn_type" msgid="5533202873260826663">"ტიპი"</string>
<string name="vpn_server" msgid="2908816134941973935">"სერვერის მისამართი"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP დაშიფრვა (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP საიდუმლო"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec იდენტიფიკატორი"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec pre-shared გასაღები"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec მომხმარებლის სერტიფიკატი"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA სერტიფიკატი"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec სერვერის სერტიფიკატი"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"დამატებითი პარამეტრების ჩვენება"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"დომენები DNS-ის მოსაძებნად"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS სერვერები (მაგ. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"გადამისამართების მარშრუტები (მაგ. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"მომხმარებლის სახელი"</string>
<string name="vpn_password" msgid="1183746907642628127">"პაროლი"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"ანგარიშის ინფორმაციის შენახვა"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(არ გამოიყენება)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(არ შეამოწმო სერვერი)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(მიღებულია სერვერიდან)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ამ ტიპის VPN ყოველთვის დაკავშირებული ვერ იქნება"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"ყოველთვის ჩართული VPN-ის მიერ მხარდაჭერილია მხოლოდ სერვერების ის მისამართები, რომლებიც ციფრებისგან შედგება"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ყოველთვის ჩართული VPN-ისთვის საჭიროა DNS სერვერის მითითება"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"ყოველთვის ჩართული VPN-ისთვის DNS სერვერების მისამართები ციფრებისგან უნდა შედგებოდეს"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ყოველთვის ჩართული VPN შეუთავსებელია შეყვანილ ინფორმაციასთან"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"გაუქმება"</string>
<string name="vpn_done" msgid="5137858784289564985">"დახურვა"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN-ის გარეშე კავშირების დაბლოკვა"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"გსურთ VPN კავშირის მოთხოვნა?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"დაუცველია. განახლდეს შემდეგით: IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"მუდმივი კავშირისათვის აირჩიეთ VPN პროფილი. ქსელის ტრაფიკი დაიშვება მხოლოდ ამ VPN-თან კავშირის დროს."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"არც ერთი"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"ყოველთვის ჩართული VPN ითხოვს IP მისამართს როგორც სერვერისთვის, ისე DNS-თვის."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"შეტყობინების მთელი შინაარსის ჩვენება"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"სენსიტიური კონტენტი მარტო განბლოკილზე"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"შეტყობინებები საერთოდ არ გამოჩნდეს"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"როგორ გსურთ, გამოჩნდეს ჩაკეტილი ეკრანი?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"რა გსურთ, რომ თქვენმა ჩაკეტილმა ეკრანმა აჩვენოს?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ჩაკეტილი ეკრანი"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"სამსახურის შეტყობინებების მთელი კონტენტის ჩვენება"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"სამსახურის სენსიტიური კონტენტის დამალვა"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"წვდომის დაშვება ყველა ფაილის სამართავად"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"აპს აძლევს უფლებას, წაიკითხოს, შეცვალოს და წაშალოს ყველა ფაილი ამ მოწყობილობაზე და ნებისმიერ დაკავშირებულ მეხსიერებაზე. ამ უფლების მინიჭების შემთხვევაში, აპს შეიძლება ფაილებზე წვდომა ჰქონდეს ისე, რომ ამის შესახებ არ იცოდეთ."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"შეუძლია ჰქონდეს წვდომა ყველა ფაილზე"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"ხმოვანი აქტივაციის აპები"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ხმოვანი აქტივაციის დაშვება"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ხმოვანი აქტივაცია რთავს დამტკიცებულ აპებს, უკონტაქტოდ, ხმოვანი ბრძანების გამოყენებით. ჩაშენებული ადაპტური ზონდირება უზრუნველყოფს მონაცემების კონფიდენციალურობას მხოლოდ თქვენთვის..\n\n"<a href="">"მეტი დაცული ადაპტირებული სენსორების შესახებ"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"სრული ეკრანის შეტყობინებები"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"ნება დართეთ ამ აპიდან სრული ეკრანის შეტყობინებებს"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ნება დართეთ ამ აპს, აჩვენოს შეტყობინებები, რომლებიც სრულ ეკრანს იკავებს, როდესაც მოწყობილობა ჩაკეტილია. აპმა ისინი შეიძლება გამოიყენოს გამაფრთხილებელი სიგნალების და შემომავალი ზარების გამოყოფისთვის ან სხვა გადაუდებელი შეტყობინებებისთვის."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g>-მა გამოიყენა ჩვეულებრივზე მეტი ბატარეა ფონში"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g>-მა გამოიყენა მეტი ბატარეა წინა პლანზე"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g>-მა გამოიყენა ჩვეულებრივზე მეტი ბატარეა წინა პლანზე"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ბატარეის გამოყენების ანომალია"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"ბატარეის მაღალი მოხმარება"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ბატარეის მაღალი მოხმარება ფონში"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ბატარეის მაღალი მოხმარება წინა პლანზე"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"სისტემური ნავიგაცია, 2-ღილაკიანი ნავიგაცია, 3-ღილაკიანი ნავიგაცია, ჟესტებით ნავიგაცია, გადაფურცვლა"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ციფრული ასისტენტი"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"გადაფურცლეთ ასისტენტის გამოსაძახებლად"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"გადაფურცლეთ ქვედა კუთხიდან ზემოთ ციფრული ასისტენტის აპის გამოსაძახებლად."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"გადაფურცლეთ ქვედა კუთხიდან ზემოთ ციფრული ასისტენტის აპის გამოსაძახებლად"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"ასისტენტის გასაშვებად ხანგრძლივად დააჭირეთ მთავარს"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ციფრული ასისტენტის აპის გამოსაძახებლად ხანგრძლივად დააჭირეთ მთავარი ეკრანის ღილაკს."</string>
<string name="low_label" msgid="6525629096999711220">"დაბალი"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"აირჩიეთ გრამატიკული სქესი"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"შეცდომაში შემყვანი აპების სკანირება"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"აპში აქტივობის შემოწმება ფიშინგის კუთხით"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"სკანირების გამოყენება"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"სკანირების გამოყენება სამსახურის აპებისთვის"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"სკანირების გამოყენება თაღლითური აპებისთვის"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"სკანირების გამოყენება სამსახურის თაღლითური აპებისთვის"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index d373e58..5526e51 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -45,7 +45,7 @@
<string name="stay_awake_on_fold_title" msgid="6590454679898134221">"Әрдайым"</string>
<string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Құрылғыңызды бүктегенде, алдыңғы экран қосылады."</string>
<string name="selective_stay_awake_title" msgid="7887645333447645168">"Тек ойындар, бейнелер және т.б."</string>
- <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Құрылғыңыздың экранын күту режиміне қоймайтын қолданбаларда алдыңғы экран қосылады."</string>
+ <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Экранды күту режиміне қоймайтын қолданбаларда алдыңғы экран қосылады."</string>
<string name="sleep_on_fold_title" msgid="7626123024330501411">"Ешқашан"</string>
<string name="sleep_on_fold_summary" msgid="7737992842459588846">"Құрылғыңызды бүктегенде, алдыңғы экран құлыпталады."</string>
<string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Автоматты бұруды пайдалану"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Стилус"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Аудио бөлісу"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Аудионы бөлісу"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Қоңыраулар мен оятқыштар"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE аудио трансляциясына қосылу"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Маңайдағы аудио трансляциялар"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Аудио трансляциялар"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR коды арқылы аудио трансляцияға қосылуға болады."</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Маңайда аудио трансляциялар табылмады."</string>
<string name="date_and_time" msgid="1788358029823431692">"Күн және уақыт"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Прокси"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Өшіру"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Жұмыс профилі"</string>
<string name="private_space_title" msgid="7078627930195569767">"Жеке бөлме"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Қолданбаларды жеке бөлмеге жасыру"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Экран құлпы арқылы құлыпты ашу"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Қолданбаларды тек сіз кіре алатын жеке қалтада жасырып қойыңыз."</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Жеке бөлме құлпы"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Жеке бөлме құлпын құрылғы құлпын ашқандай аша аласыз немесе басқа құлып таңдай аласыз."</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Құрылғының экран құлпын пайдалану"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Бет және саусақ ізімен ашу"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Реттеу үшін түртіңіз"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Құрылғының экран құлпымен бірдей"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Жеке бөлмеге жаңа құлып таңдау керек пе?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Құлыптаулы кезде жасыру"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Жеке бөлмені құлыптаулы кезде жасыру"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Құрылғыңызда жеке бөлменің барын басқа адамдар білмес үшін, оны қолданбалар тізімінен жасыра аласыз."</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Жеке бөлмеге жасырулы кезде кіру"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Іздеу жолағында \"Жеке бөлме\" деп іздеңіз."</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Жеке бөлме бөлшегін түртіңіз."</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Жеке бөлменің құлпын ашыңыз."</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Өшірулі"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Қосулы"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Жүйе"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Жеке бөлме жасау"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Жеке бөлмені жою"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Жеке бөлме жасалды."</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Жеке бөлме бұрыннан бар."</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Жеке бөлме жасалмады."</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Жеке бөлме жойылды."</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Жеке бөлме жойылмады."</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Экран құлпын орнатыңыз"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Жеке бөлмені қолдану үшін құрылғыға экран құлпын орнатыңыз."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Экран құлпын орнату"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Бас тарту"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Бас тарту"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Реттеу"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Жеке бөлмені реттеу"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Жеке қолданбаларды сіз ғана кіре алатын қауіпсіз бөлмеге жасырып қою"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Бұл қалай жұмыс істейді?"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Қолданбалар тізімінің төменгі жағынан жеке бөлмеге кіруге болады."</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Жеке бөлмедегі қолданбалар құлыппен қорғалады."</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Жеке бөлме құлыптаулы кезде, оның қолданбаларынан келетін хабарландырулар жасырылады."</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Жеке бөлме құлыптаулы кезде, \"Жеке бөлме\" қолданбалары \"Рұқсаттарды басқару\" бөлімінде, құпиялық тақтасында және басқа параметрлерде көрсетілмейді."</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Жеке бөлме реттеліп жатыр…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Жеке бөлме құлыптаулы кезде, оның қолданбаларын пайдалану туралы ақпарат жасырылады."</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Жеке бөлмеге қолданбалар тізімінен кіру"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Жеке бөлме реттелмеді."</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Қазір қайталап көріңіз немесе бір айналып келіңіз."</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Қайталап көру"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Құлпын ашу үшін экран құлпын пайдалану керек пе?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Жеке бөлме құлпын құрылғы құлпын ашқандай аша аласыз немесе басқа құлып таңдай аласыз."</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Экран құлпын пайдалану"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Жаңа құлып таңдау"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Бәрі дайын!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Дайын"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Жеке бөлмеге кіру үшін төмен айналдырыңыз."</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Жеке бөлмені реттеу үшін аккаунтқа кіріңіз"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Жеке бөлмені реттеу үшін аккаунтқа кіруіңіз керек."</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Жеке бөлмені көрсету (соңғы пайдаланушы интерфейсі емес)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Параметрлер қолданбасын ашыңыз."</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Құлыптаулы кезде \"Қауіпсіздік және құпиялық > Жеке бөлме > Жеке бөлмені жасыру\" бөлімін түртіңіз."</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"\"Құлыптаулы кезде жеке бөлмені жасыру\" ауыстырғышын өшіріңіз."</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google қызметкерлеріне ескертпе: Бұл функция әлі әзірленіп жатыр."</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"<xliff:g id="COUNT">%d</xliff:g> саусақ ізіне дейін қосуға болады"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Саусақ іздерінің максималды саны енгізілді"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Қосымша саусақ іздері енгізілмейді"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Жалғау"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Ажырату"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Жұптау және жалғау"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth қосып, маңайдағы құрылғылармен байланысуға болады."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth қосулы кезде, құрылғыңыз маңайдағы басқа Bluetooth құрылғыларымен байланыса алады."</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth қосулы кезде, құрылғыңыз маңайдағы басқа Bluetooth құрылғыларымен байланыс орната алады.\n\nҚұрылғының жұмысын жақсарту үшін қолданбалар мен қызметтер маңайдағы құрылғыларды кез келген уақытта (Bluetooth өшірулі кезде де) іздеуі мүмкін. Бұл, мысалы, локацияға негізделген функциялар мен қызметтерді жақсартуға пайдаланыла алады. Оны Bluetooth іздеу параметрлерінен өзгерте аласыз."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Өзгерту"</string>
<string name="device_details_title" msgid="1155622417516195481">"Құрылғы мәліметтері"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART растау құралына түзетілетін қолданбалардың байт-кодын растауға рұқсат беру"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Жаңарту жылдамдығын көрсету"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Ағымдағы дисплейдің жаңару жылдамдығын көрсету"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR қатынасын көрсету"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Қазіргі HDR/SDR қатынасын көрсету"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC үшін құрылғы құлпын ашуды талап ету"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Қолданбаларды құрылғының бүктелген күйінде пайдалана беру"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Кейбір контент үшін жаңарту жиілігі <xliff:g id="ID_1">%1$d</xliff:g> Гц-ке дейін автоматты түрде артады. Батарея шығынын көбейтеді."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Ең жоғарғы жаңарту жиілігін қолмен қосу"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Жақсартылған датчик сезгіштігі және анимация сапасына арналған ең жоғарғы жаңарту жиілігі. Батарея заряды тезірек таусылады."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Зейінді экран"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Жалпы параметрлер"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Кіру нүктесін өзгерту"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Кіру нүктесін енгізу"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Қойылмаған"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Орнатылмаған"</string>
<string name="apn_name" msgid="6677695784108157953">"Атауы"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Ашу үшін арнайы мүмкіндіктер түймесін қолдану"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Ашу үшін дыбыс деңгейі пернелерін басып тұрыңыз"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Ашу үшін экранды үш рет түртіңіз"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Экранды ашу үшін екі саусақпен үш рет түрту"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Ашу үшін қол қимылын пайдалану"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Арнайы мүмкіндік қимылын қолдану"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Бұл функцияны пайдалану үшін экранның төменгі жағындағы арнайы мүмкіндіктер түймесін <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> түртіңіз.\n\nБір функциядан екінші функцияға ауысу үшін арнайы мүмкіндіктер түймесін басып тұрыңыз."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Бұл функцияны пайдалану үшін экрандағы арнайы мүмкіндіктер түймесін түртіңіз."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Бұл функцияны пайдалану үшін дыбыс деңгейі пернелерін басып тұрыңыз."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Ұлғайтуды бастау және тоқтату үшін экранның кез келген жерін үш рет түртіңіз."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Ұлғайту функциясын қосу және тоқтату үшін экранның кез келген жерін екі саусақпен үш рет түртіңіз."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Бұл функцияны пайдалану үшін экранның төменгі жағынан 2 саусағыңызбен жоғары сырғытыңыз.\n\nБір функциядан екіншісіне ауысу үшін 2 саусақпен жоғары қарай сырғытып, ұстап тұрыңыз."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Бұл функцияны пайдалану үшін экранның төменгі жағынан 3 саусағыңызбен жоғары сырғытыңыз.\n\nБір функциядан екіншісіне ауысу үшін 3 саусақпен жоғары қарай сырғытып, ұстап тұрыңыз."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Арнайы мүмкіндіктерді пайдалану үшін экранның төменгі жағынан 2 саусағыңызбен жоғары сырғытыңыз.\n\nБір функциядан екіншісіне ауысу үшін 2 саусақпен жоғары қарай сырғытып, ұстап тұрыңыз."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Дыбыс деңгейі пернелерін басып тұру"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"дыбыс деңгейі пернелерін басып тұру"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Дыбыс деңгейінің екі пернесін бірге басып тұрасыз."</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Экранды екі саусақпен үш рет түрту"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"экранды екі саусақпен үш рет түрту"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Экранды екі саусағыңызбен {0,number,integer} рет жылдам түртіңіз."</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Экранды үш рет түрту"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"экранды үш рет түрту"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Экранды {0,number,integer} рет жылдам түртіңіз. Бұл жылдам пәрмен құрылғы жұмысын баяулатуы мүмкін."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Ол қолданбамен немесе жабдық датчигімен істеген тапсырмаларыңызды бақылайды және қолданбаларды сіздің атыңыздан пайдаланады."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Рұқсат ету"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Тыйым салу"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Тоқтату"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Бас тарту"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> тоқтатылсын ба?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> түймесін бассаңыз, <xliff:g id="SERVICE">%2$s</xliff:g> өз жұмысын тоқтатады."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ешқандай қызметтер орнатылмаған"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ешқандай қызмет таңдалмаған"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Сипаттама ұсынылмаған"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Қолданбаның фондық режимдегі әрекетін шектесеңіз, күтпеген әрекет көрсетуі мүмкін."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Бұл қолданба батареяны оңтайландыруға реттелмегендіктен, оны шектей алмайсыз. \n\nБұл үшін батареяны оңтайландыруды қосыңыз."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Батарея шығынын қадағалау"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Фонды пайдалануға рұқсат ету"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Нақты уақыттағы жаңалықтар алу үшін қосыңыз, батарея қуатын үнемдеу үшін өшіріңіз."</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Шектелмеген"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оңтайландырылған"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Шектелген"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Атауы"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tүрі"</string>
<string name="vpn_server" msgid="2908816134941973935">"Сервер мекенжайы"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP шифрлау (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP құпия"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec идентификаторы"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec алдын ала берілген кілті"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec пайдаланушы сертификаты"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA сертификаты"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec серверінің сертификаты"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Қосымша опцияларды көрсету"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS іздеу домендері"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS серверлері (мысалы, 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Басқалай жіберу жолдары (мысалы, 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Пайдаланушы аты"</string>
<string name="vpn_password" msgid="1183746907642628127">"Құпия сөз"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Аккаунт ақпаратын сақтау"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(қолданылмайды)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(серверді растамау)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(серверден алынды)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"VPN желісінің бұл түрі әрқашан қосылып тұра алмайды."</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Әрқашан қосулы VPN желісі тек саннан тұратын сервер мекенжайларын қолдайды"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Әрқашан қосулы VPN желісі үшін DNS сервері көрсетілуі керек"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Әрқашан қосулы VPN желісі үшін DNS серверінің мекенжайлары саннан тұруы керек"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Енгізілген ақпарат әрқашан қосулы VPN желісін қолдамайды."</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Бас тарту"</string>
<string name="vpn_done" msgid="5137858784289564985">"Жабу"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN желісінсіз байланыстарды бөгеу"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN байланысы қажет пе?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Қорғалмаған. Мынаған жаңартыңыз: IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Әрқашан жалғанып тұратын VPN профилін таңдаңыз. Желі трафигі осы VPN жалғанып тұрғанда ғана жүреді."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Жоқ"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Әрқашан қосулы ВЖЖ сервер және домен атауы жүйесінің IP мекенжайын қажет етеді."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Хабарландыруды толық көрсету"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Құпия мәліметті құлып ашылғанда ғана көрсету"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Хабарландыруларды мүлде көрсетпеу"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Құлыптаулы экранның қалай көрсетілгенін қалайсыз?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Құлып экранында ненің көрсетілгенін қалайсыз?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Құлыптаулы экран"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Жұмыс хабарландыруын толық көрсету"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Маңызды жұмыс контентін жасыру"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Барлық файлды пайдалануға рұқсат беру"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Қолданбаға осы құрылғыдағы немесе жалғанған сыртқы жад құрылғыларындағы барлық файлды оқуға, өзгертуге немесе жоюға рұқсат береді. Егер осы рұқсат берілсе, қолданба файлдарды сіздің келісіміңізсіз пайдалана алады."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Барлық файлды пайдалана алатын қолданбалар"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Дауыспен іске қосылатын қолданбалар"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Дауыспен іске қосуға рұқсат беру"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Дауыспен іске қосу функциясы дауыстық пәрмен арқылы мақұлданған қолданбаларды, дауыспен басқару мүмкіндігін іске қосады. Орнатылған бейімделгіш сезу функциясы деректерді сізден басқаларға құпия етеді.\n\n"<a href="">"Қорғалған бейімделгіш сезу функциясы туралы толық ақпарат"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Толық экран хабарландырулары"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Осы қолданбаға толық экранды алып тұратын хабарландыруларды көрсетуге рұқсат беру"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Құрылғы құлыптаулы тұрғанда, осы қолданбаға толық экранды алып тұратын хабарландыруларды көрсетуге рұқсат беріңіз. Соның арқасында қолданбалар оятқыштарды, кіріс қоңырауларын немесе шұғыл хабарландыруларды ерекшелей алады."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> қолданбасы фондық режимде батареяны әдеттегіден көп пайдаланды."</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> қолданбасы экран режимінде батареяны көп пайдаланды."</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> қолданбасы экран режимінде батареяны әдеттегіден көп пайдаланды."</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Батерея шығынындағы ауытқу"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Жоғары батарея шығыны"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Фондық режимдегі жоғары батарея шығыны"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Экран режиміндегі жоғары батарея шығыны"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"жүйе навигациясы, 2 түймемен басқару, 3 түймемен басқару, қимылмен басқару, сырғыту"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Цифрлық көмекші"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Көмекшіні іске қосу үшін сырғыту"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Цифрлық көмекші қолданбасын іске қосу үшін экранның төменгі бұрышынан жоғары қарай сырғытыңыз."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Цифрлық көмекші қолданбасын іске қосу үшін экранның төменгі бұрышынан жоғары қарай сырғытыңыз."</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant үшін негізгі экран түймесін басып тұру"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Цифрлық көмекшіні іске қосу үшін негізгі экран түймесін басып тұрыңыз."</string>
<string name="low_label" msgid="6525629096999711220">"Төмен"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Грамматикалық текті таңдаңыз"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Алдамшы қолданбаларды тексеру"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Қолданбаларды пайдалану тарихында фишинг әрекетінің бар-жоғын тексеру"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Тексеру функциясын пайдалану"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Тексеру функциясын жұмыс қолданбаларына пайдалану"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Алдамшы қолданбаларды анықтау үшін тексеру функциясын қолданыңыз"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Жұмыс кезінде алдамшы қолданбаларды анықтау үшін тексеру функциясын қолданыңыз"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 9479b69..8285478 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"ប៊ិក"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ការចែករំលែកសំឡេង"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ចែករំលែកសំឡេង"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ការហៅទូរសព្ទ និងម៉ោងរោទ៍"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"ភ្ជាប់ទៅកាន់ការចាក់សំឡេងលើអ៊ីនធឺណិត LE"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"ការចាក់សំឡេងលើអ៊ីនធឺណិតដែលនៅជិត"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"ការចាក់សំឡេងលើអ៊ីនធឺណិត"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"ភ្ជាប់ទៅកាន់ការចាក់សំឡេងលើអ៊ីនធឺណិតដោយប្រើប្រាស់កូដ QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"រកមិនឃើញការចាក់សំឡេងលើអ៊ីនធឺណិតនៅជិតទេ។"</string>
<string name="date_and_time" msgid="1788358029823431692">"កាលបរិច្ឆេទ និង ម៉ោង"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"ប្រូកស៊ី"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"សម្អាត"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"កម្រងព័ត៌មានការងារ"</string>
<string name="private_space_title" msgid="7078627930195569767">"បន្ទប់ឯកជន"</string>
<string name="private_space_summary" msgid="8237652417163408001">"លាក់កម្មវិធីនៅក្នុងថតឯកជន"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"ដោះសោដោយប្រើមុខងារចាក់សោអេក្រង់"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"លាក់កម្មវិធីនៅក្នុងថតឯកជនដែលមានតែអ្នកប៉ុណ្ណោះ ទើបអាចចូលប្រើបាន"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"ការចាក់សោ Private Space"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"អ្នកអាចដោះសោ Private Space តាមវិធីដូចគ្នាដែលអ្នកដោះសោឧបករណ៍របស់អ្នក ឬជ្រើសរើសការចាក់សោផ្សេង"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ប្រើការចាក់សោអេក្រង់ឧបករណ៍"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"ការដោះសោដោយស្កេនស្នាមម្រាមដៃ និងមុខ"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"ចុចដើម្បីរៀបចំ"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ដូចគ្នានឹងការចាក់សោអេក្រង់ឧបករណ៍"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"ជ្រើសរើសការចាក់សោថ្មីសម្រាប់ Private Space ឬ?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"លាក់នៅពេលជាប់សោ"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"លាក់ Private Space នៅពេលជាប់សោ"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ដើម្បីបញ្ឈប់អ្នកដទៃមិនឱ្យដឹងថា Private Space ស្ថិតនៅលើឧបករណ៍របស់អ្នក អ្នកអាចលាក់វាបានពីបញ្ជីកម្មវិធីរបស់អ្នក"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"ចូលប្រើ Private Space នៅពេលលាក់"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"ស្វែងរក \'Private Space\' នៅក្នុងរបារស្វែងរក"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ចុចប្រអប់ Private Space"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"ដោះសោ Private Space របស់អ្នក"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"បិទ"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"បើក"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"ប្រព័ន្ធ"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"បង្កើតបន្ទប់ឯកជន"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"លុបបន្ទប់ឯកជន"</string>
- <string name="private_space_created" msgid="2978055968937762232">"បានបង្កើតបន្ទប់ឯកជនដោយជោគជ័យ"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"មានបន្ទប់ឯកជនរួចហើយ"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"មិនអាចបង្កើតបន្ទប់ឯកជនបានទេ"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"បានលុបបន្ទប់ឯកជនដោយជោគជ័យ"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"មិនអាចលុបបន្ទប់ឯកជនបានទេ"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"កំណត់ការចាក់សោអេក្រង់"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"ដើម្បីប្រើបន្ទប់ឯកជន សូមកំណត់ការចាក់សោអេក្រង់នៅលើឧបករណ៍នេះ។"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"កំណត់ការចាក់សោអេក្រង់"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"បោះបង់"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"បោះបង់"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"រៀបចំ"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"រៀបចំ Private Space"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"លាក់កម្មវិធីឯកជននៅក្នុងកន្លែងមានសុវត្ថិភាព ដែលអ្នកអាចចូលប្រើតែប៉ុណ្ណោះ"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"របៀបដែលវាដំណើរការ"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"អ្នកអាចចូលប្រើ Private Space ពីផ្នែកខាងក្រោមនៃបញ្ជីកម្មវិធីរបស់អ្នក"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"កម្មវិធីនៅក្នុង Private Space ត្រូវបានការពារដោយសោ"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"ការជូនដំណឹងពីកម្មវិធីនៅក្នុង Private Space ត្រូវបានលាក់ នៅពេលវាត្រូវបានចាក់សោ"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"កម្មវិធីនៅក្នុង Private Space នឹងមិនបង្ហាញនៅក្នុងមុខងារគ្រប់គ្រងការអនុញ្ញាត ផ្ទាំងគ្រប់គ្រងឯកជនភាព និងការកំណត់ផ្សេងទៀតទេ នៅពេល Private Space ត្រូវបានចាក់សោ"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"កំពុងរៀបចំ Private Space…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"ព័ត៌មានអំពីការប្រើប្រាស់សម្រាប់កម្មវិធីនៅក្នុង Private Space ត្រូវបានលាក់ នៅពេលវាត្រូវបានចាក់សោ"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"ចូលប្រើ Private Space ពីបញ្ជីកម្មវិធីរបស់អ្នក"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"កម្មវិធីប្រព័ន្ធមួយចំនួនត្រូវបានដំឡើងនៅក្នុង Private Space រួចហើយ"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"មិនអាចរៀបចំ Private Space បានទេ"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"ព្យាយាមម្ដងទៀតឥឡូវនេះ ឬត្រឡប់មកវិញនៅពេលក្រោយ"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"ព្យាយាមម្ដងទៀត"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"ប្រើការចាក់សោអេក្រង់ ដើម្បីដោះសោឬ?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"អ្នកអាចដោះសោ Private Space តាមវិធីដូចគ្នាដែលអ្នកដោះសោឧបករណ៍របស់អ្នក ឬជ្រើសរើសការចាក់សោផ្សេង"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"ប្រើការចាក់សោអេក្រង់"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"ជ្រើសរើសការចាក់សោថ្មី"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"រួចហើយ!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"អ្នកអាចចូលប្រើ Private Space ពីបញ្ជីកម្មវិធីរបស់អ្នក"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"រួចរាល់"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"រំកិលចុះក្រោម ដើម្បីចូលប្រើ Private Space"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"ចូលគណនី ដើម្បីរៀបចំ Private Space"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"អ្នកត្រូវចូលគណនីណាមួយ ដើម្បីរៀបចំ Private Space"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"ដើម្បីបង្ហាញ Private Space (មិនមែនជា UX ចុងក្រោយទេ)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"បើកកម្មវិធីការកំណត់"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"ចុចលើសុវត្ថិភាព និងឯកជនភាព > Private Space > លាក់ Private Space នៅពេលជាប់សោ"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"បិទ \"លាក់ Private Space\" នៅពេលប៊ូតុងបិទ/បើកជាប់សោ"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"កំណត់ចំណាំចំពោះបុគ្គលិក Google៖ ការអភិវឌ្ឍមុខងារនេះកំពុងដំណើរការនៅឡើយ"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"អ្នកអាចបញ្ចូលស្នាមម្រាមដៃបានត្រឹម <xliff:g id="COUNT">%d</xliff:g>"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"អ្នកបានបញ្ចូលស្នាមម្រាមដៃដល់ចំនួនអតិបរមាហើយ"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"មិនអាចបញ្ចូលស្នាមម្រាមដៃបានទៀតទេ"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"តភ្ជាប់"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ផ្ដាច់"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ផ្គូផ្គង & តភ្ជាប់"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"នៅពេលបើកប៊្លូធូស ឧបករណ៍របស់អ្នកអាចទាក់ទងជាមួយឧបករណ៍ប៊្លូធូសនៅជិតផ្សេងទៀតបាន។"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ពេលបើកប៊្លូធូស ឧបករណ៍របស់អ្នកអាចទាក់ទងជាមួយឧបករណ៍ប៊្លូធូសនៅជិតផ្សេងទៀតបាន"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ឧបករណ៍របស់អ្នកអាចភ្ជាប់ជាមួយឧបករណ៍ប៊្លូធូសដែលនៅជិតផ្សេងទៀត នៅពេលប៊្លូធូសបើក។\n\nដើម្បីកែលម្អបទពិសោធន៍ប្រើប្រាស់ឧបករណ៍ កម្មវិធី និងសេវាកម្មនៅតែអាចស្កេនរកឧបករណ៍ដែលនៅជិតបានគ្រប់ពេល ទោះបីជានៅពេលបិទប៊្លូធូសក៏ដោយ។ ឧទាហរណ៍ សកម្មភាពនេះអាចត្រូវបានប្រើ ដើម្បីកែលម្អមុខងារ និងសេវាកម្មដែលផ្អែកលើទីតាំងជាដើម។ អ្នកអាចប្ដូរវាបាននៅក្នុងការកំណត់ការស្កេនប៊្លូធូស។"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"ផ្លាស់ប្ដូរ"</string>
<string name="device_details_title" msgid="1155622417516195481">"ព័ត៌មានលម្អិតអំពីឧបករណ៍"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"អនុញ្ញាតឱ្យ ART ផ្ទៀងផ្ទាត់កូដបៃសម្រាប់កម្មវិធីដែលអាចជួសជុលបាន"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"បង្ហាញអត្រាផ្ទុកឡើងវិញ"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"បង្ហាញអត្រាផ្ទុកឡើងវិញនៃផ្ទាំងអេក្រង់បច្ចុប្បន្ន"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"បង្ហាញសមាមាត្រ HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"បង្ហាញសមាមាត្រ HDR/SDR បច្ចុប្បន្ន"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"តម្រូវឱ្យដោះសោឧបករណ៍សម្រាប់ NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android បញ្ជូន"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"បន្តប្រើកម្មវិធីនៅពេលបត់"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"បង្កើនអត្រាផ្ទុកឡើងវិញដោយស្វ័យប្រវត្តិរហូតដល់ <xliff:g id="ID_1">%1$d</xliff:g> Hz សម្រាប់ខ្លឹមសារមួយចំនួន។ ប្រើប្រាស់ថ្មច្រើនជាងមុន។"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"បង្ខំឱ្យប្រើអត្រាផ្ទុកឡើងវិញអតិបរមា"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"អត្រាផ្ទុកឡើងវិញខ្ពស់បំផុតសម្រាប់គុណភាពនៃរូបមានចលនា និងការឆ្លើយតបនៃការចុចប្រសើរជាងមុន។ ប្រើប្រាស់ថ្មច្រើនជាងមុន។"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"ការដឹងថាកំពុងនៅប្រើ"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"ការកំណត់ទូទៅ"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"កែចំណុចចូលប្រើប្រាស់"</string>
+ <string name="apn_add" msgid="9069613192201630934">"បញ្ចូលដុំភ្ជាប់បណ្ដាញឥតខ្សែ"</string>
<string name="apn_not_set" msgid="8246646433109750293">"មិនបានកំណត់"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"មិនបានកំណត់"</string>
<string name="apn_name" msgid="6677695784108157953">"ឈ្មោះ"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ប្រើប៊ូតុងភាពងាយស្រួល ដើម្បីបើក"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"សង្កត់ប៊ូតុងកម្រិតសំឡេងឱ្យជាប់ ដើម្បីបើក"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ចុចអេក្រង់បីដង ដើម្បីបើក"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"ចុចអេក្រង់បីដងដោយប្រើម្រាមដៃពីរដើម្បីបើក"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ប្រើចលនា ដើម្បីបើក"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ប្រើចលនាភាពងាយស្រួល"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ដើម្បីប្រើមុខងារនេះ សូមចុចប៊ូតុងភាពងាយស្រួល <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> នៅផ្នែកខាងក្រោមនៃអេក្រង់របស់អ្នក។\n\nដើម្បីប្ដូររវាងមុខងារផ្សេងៗ សូមចុចប៊ូតុងភាពងាយស្រួលឱ្យជាប់។"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ដើម្បីប្រើមុខងារនេះ សូមចុចប៊ូតុងភាពងាយស្រួលនៅលើអេក្រង់របស់អ្នក។"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ដើម្បីប្រើមុខងារនេះ សូមចុចគ្រាប់ចុចកម្រិតសំឡេងទាំងពីរឱ្យជាប់។"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ដើម្បីចាប់ផ្ដើម និងបញ្ឈប់ការពង្រីក សូមចុចបីដងនៅកន្លែងណាមួយនៅលើអេក្រង់របស់អ្នក។"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"ដើម្បីចាប់ផ្ដើម និងបញ្ឈប់ការពង្រីក សូមចុចបីដងនៅកន្លែងណាមួយនៅលើអេក្រង់របស់អ្នកដោយប្រើម្រាមដៃពីរ។"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ដើម្បីប្រើមុខងារនេះ សូមអូសឡើងលើពីផ្នែកខាងក្រោមនៃអេក្រង់ ដោយប្រើម្រាមដៃ 2។\n\nដើម្បីប្ដូររវាងមុខងារផ្សេងៗ សូមអូសឡើងលើ ដោយប្រើម្រាមដៃ 2 រួចសង្កត់ឱ្យជាប់។"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ដើម្បីប្រើមុខងារនេះ សូមអូសឡើងលើពីផ្នែកខាងក្រោមនៃអេក្រង់ ដោយប្រើម្រាមដៃ 3។\n\nដើម្បីប្ដូររវាងមុខងារផ្សេងៗ សូមអូសឡើងលើ ដោយប្រើម្រាមដៃ 3 រួចសង្កត់ឱ្យជាប់។"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ដើម្បីប្រើមុខងារភាពងាយប្រើ សូមអូសឡើងលើពីផ្នែកខាងក្រោមនៃអេក្រង់ ដោយប្រើម្រាមដៃ 2។\n\nដើម្បីប្ដូររវាងមុខងារផ្សេងៗ សូមអូសឡើងលើ ដោយប្រើម្រាមដៃ 2 រួចសង្កត់ឱ្យជាប់។"</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"សង្កត់គ្រាប់ចុចកម្រិតសំឡេងឱ្យជាប់"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"សង្កត់គ្រាប់ចុចកម្រិតសំឡេងឱ្យជាប់"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ចុចគ្រាប់ចុចកម្រិតសំឡេងទាំងពីរឱ្យជាប់"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"ការចុចអេក្រង់បីដងដោយប្រើម្រាមដៃពីរ"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ការចុចអេក្រង់បីដងដោយប្រើម្រាមដៃពីរ"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"ចុចអេក្រង់យ៉ាងរហ័ស {0,number,integer} ដងដោយប្រើម្រាមដៃពីរ"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ចុចអេក្រង់បីដង"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ចុចអេក្រង់បីដង"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ចុចអេក្រង់ {0,number,integer} ដងឱ្យរហ័ស។ ផ្លូវកាត់នេះអាចធ្វើឱ្យឧបករណ៍របស់អ្នកដើរយឺត"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"វាអាចតាមដានអន្តរកម្មរបស់អ្នកជាមួយនឹងកម្មវិធី ឬសេនស័រហាតវែរ និងធ្វើអន្តរកម្មជាមួយកម្មវិធីនានាជំនួសឱ្យអ្នក។"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"អនុញ្ញាត"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"បដិសេធ"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"បញ្ឈប់"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"បោះបង់"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"បញ្ឈប់ <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"ការចុចលើពាក្យ \"<xliff:g id="STOP">%1$s</xliff:g>\" នឹងបញ្ឈប់ <xliff:g id="SERVICE">%2$s</xliff:g>។"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"គ្មានសេវាកម្មបានដំឡើង"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"មិនបានជ្រើសរើសសេវាកម្មណាមួយឡើយ"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"គ្មានការពណ៌នាបានផ្ដល់។"</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ប្រសិនបើអ្នកដាក់កម្រិតលើសកម្មភាពផ្ទៃខាងក្រោយសម្រាប់កម្មវិធី វាអាចនឹងដំណើរការខុសប្រក្រតី"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ដោយសារកម្មវិធីនេះមិនត្រូវបានកំណត់ ដើម្បីបង្កើនប្រសិទ្ធភាពថ្ម អ្នកមិនអាចដាក់កំហិតវាបានទេ។\n\nដើម្បីដាក់កំហិតកម្មវិធី សូមបើកការបង្កើនប្រសិទ្ធភាពថ្មជាមុនសិន។"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"គ្រប់គ្រងការប្រើប្រាស់ថ្ម"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"អនុញ្ញាតឱ្យមានការប្រើប្រាស់នៅផ្ទៃខាងក្រោយ"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"បើកដើម្បីទទួលបានព័ត៌មានថ្មីៗក្នុងពេលជាក់ស្ដែង បិទដើម្បីសន្សំសំចៃថ្ម"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"គ្មានការដាក់កំហិត"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"បង្កើនប្រសិទ្ធភាព"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ដាក់កំហិត"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"ឈ្មោះ"</string>
<string name="vpn_type" msgid="5533202873260826663">"ប្រភេទ"</string>
<string name="vpn_server" msgid="2908816134941973935">"អាសយដ្ឋានម៉ាស៊ីនមេ"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"ការអ៊ីនគ្រីប PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"ព័ត៌មានសម្ងាត់ L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"ព័ត៌មានសម្គាល់ IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"កូដចែករំលែកពីមុន IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"វិញ្ញាបនបត្រអ្នកប្រើ IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"វិញ្ញាបនបត្រ IPSec CA"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"វិញ្ញាបនបត្រម៉ាស៊ីនមេ IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"បង្ហាញជម្រើសកម្រិតខ្ពស់"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"ដែនស្វែងរក DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"ម៉ាស៊ីនមេ DNS (ឧ. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"ផ្លូវបញ្ជូនបន្ត (ឧ. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"ឈ្មោះអ្នកប្រើ"</string>
<string name="vpn_password" msgid="1183746907642628127">"ពាក្យសម្ងាត់"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"រក្សាទុកព័ត៌មានគណនី"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(មិនបានប្រើ)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(កុំផ្ទៀងផ្ទាត់ម៉ាស៊ីនមេ)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(បានទទួលពីម៉ាស៊ីនមេ)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"VPN ប្រភេទនេះមិនអាចបន្តភ្ជាប់រហូតនោះទេ"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN ដែលបើកជានិច្ចស្គាល់តែអាសយដ្ឋានម៉ាស៊ីមេជាលេខតែប៉ុណ្ណោះ"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ម៉ាស៊ីនមេ DNS ត្រូវតែធ្វើការបញ្ជាក់សម្រាប់ VPN ដែលបើកជានិច្ច"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"អាសយដ្ឋានម៉ាស៊ីនមេ DNS ត្រូវតែជាលេខសម្រាប់ VPN ដែលបើកជានិច្ច"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ព័ត៌មានដែលបានបញ្ចូលមិនអាចប្រើជាមួយ \"បើក VPN ជានិច្ច\" បានទេ"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"បោះបង់"</string>
<string name="vpn_done" msgid="5137858784289564985">"ច្រានចោល"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"ទប់ស្កាត់ការតភ្ជាប់ដោយមិនចាំបាច់ប្រើ VPN ទេ"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"តម្រូវឲ្យមានការតភ្ជាប់ VPN ?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"គ្មានសុវត្ថិភាពទេ។ សូមដំឡើងកំណែទៅ IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"ជ្រើសប្រវត្តិរូប VPN តភ្ជាប់ជានិច្ច។ ចរាចរណ៍បណ្ដាញនឹងត្រូវបានអនុញ្ញាត ពេលតភ្ជាប់ទៅ VPN នេះ។"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"គ្មាន"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"បើកជានិច្ច VPN ទាមទារអាសយដ្ឋាន IP សម្រាប់ទាំងម៉ាស៊ីនមេ និង DNS ។"</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"បង្ហាញខ្លឹមសារនៃការជូនដំណឹងទាំងអស់"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"បង្ហាញខ្លឹមសាររសើប នៅពេលដោះសោតែប៉ុណ្ណោះ"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"កុំបង្ហាញការជូនដំណឹងឱ្យសោះ"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"តើអ្នកចង់ឱ្យអេក្រង់ចាក់សោបង្ហាញដោយរបៀបណា?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"តើអ្នកចង់ឱ្យអេក្រង់ចាក់សោរបស់អ្នកបង្ហាញអ្វី?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"អេក្រង់ចាក់សោ"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"បង្ហាញខ្លឹមសារនៃការជូនដំណឹងការងារទាំងអស់"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"លាក់ខ្លឹមសារការងាររសើប"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"អនុញ្ញាតឱ្យចូលប្រើ ដើម្បីគ្រប់គ្រងឯកសារទាំងអស់"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"អនុញ្ញាតឱ្យកម្មវិធីនេះអាន កែសម្រួល និងលុបឯកសារទាំងអស់នៅលើឧបករណ៍នេះ ឬឧបករណ៍ផ្ទុកទាំងឡាយដែលបានភ្ជាប់។ ប្រសិនបើផ្ដល់ការអនុញ្ញាត កម្មវិធីនេះអាចចូលប្រើឯកសារ ដោយមិនឱ្យអ្នកដឹង។"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"អាចចូលប្រើឯកសារទាំងអស់បាន"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"កម្មវិធីបើកដំណើរការសំឡេង"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"អនុញ្ញាតការបើកដំណើរការសំឡេង"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ការបើកដំណើរការសំឡេងបើកកម្មវិធីដែលបានយល់ព្រម ដោយមិនប្រើដៃ ដោយប្រើឃ្លាបញ្ជាដោយសំឡេង។ ការចាប់ដឹងប្រកបដោយភាពបត់បែនដែលភ្ជាប់មកជាមួយស្រាប់ធានាថា ទិន្នន័យស្ថិតនៅជាលក្ខណៈឯកជនសម្រាប់តែអ្នកប៉ុណ្ណោះ។\n\n"<a href="">"ព័ត៌មានបន្ថែមអំពីការចាប់ដឹងប្រកបដោយភាពបត់បែនដែលបានការពារ"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"ការជូនដំណឹងពេញអេក្រង់"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"អនុញ្ញាតឱ្យមានការជូនដំណឹងពេញអេក្រង់ពីកម្មវិធីនេះ"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"អនុញ្ញាតឱ្យកម្មវិធីនេះបង្ហាញការជូនដំណឹងពេញអេក្រង់ នៅពេលឧបករណ៍ត្រូវបានចាក់សោ។ កម្មវិធីអាចប្រើការជូនដំណឹងទាំងនេះ ដើម្បីរំលេចម៉ោងរោទ៍ ការហៅចូល ឬការជូនដំណឹងបន្ទាន់ផ្សេងទៀត។"</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> បានប្រើថ្មច្រើនជាងធម្មតា ពេលនៅផ្ទៃខាងក្រោយ"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> បានប្រើថ្មកាន់តែច្រើន ពេលនៅផ្ទៃខាងមុខ"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> បានប្រើថ្មច្រើនជាងធម្មតា ពេលនៅផ្ទៃខាងមុខ"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ភាពខុសប្រក្រតីនៃការប្រើប្រាស់ថ្ម"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"ការប្រើប្រាស់ថ្មច្រើន"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ការប្រើប្រាស់ថ្មច្រើននៅផ្ទៃខាងក្រោយ"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ការប្រើប្រាស់ថ្មច្រើននៅផ្ទៃខាងមុខ"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"ការរុករកក្នុងប្រព័ន្ធ ការរុករកដោយប្រើប៊ូតុង 2 ការរុករកដោយប្រើប៊ូតុង 3 ការរុករកដោយប្រើចលនា អូស"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ជំនួយការឌីជីថល"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"អូសដើម្បីប្រើជំនួយការ"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"អូសឡើងលើពីជ្រុងខាងក្រោម ដើម្បីចាប់ផ្ដើមកម្មវិធីជំនួយការឌីជីថល។"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"អូសឡើងលើពីជ្រុងខាងក្រោម ដើម្បីចាប់ផ្ដើមកម្មវិធីជំនួយការឌីជីថល"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"ចុចប៊ូតុងដើមឱ្យជាប់ដើម្បីបើក Assistant"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ចុចប៊ូតុងដើមឱ្យជាប់ ដើម្បីចាប់ផ្ដើមកម្មវិធីជំនួយការឌីជីថល។"</string>
<string name="low_label" msgid="6525629096999711220">"ទាប"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ជ្រើសរើសយេនឌ័រតាមវេយ្យាករណ៍"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"ការស្កេនរកកម្មវិធីបោកប្រាស់"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"ពិនិត្យសកម្មភាពកម្មវិធីរកមើលការដាក់នុយ"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"ប្រើការស្កេន"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"ប្រើការស្កេនសម្រាប់កម្មវិធីការងារ"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ប្រើមុខងារស្កេន ដើម្បីរកកម្មវិធីដែលមានលក្ខណៈបោកប្រាស់"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ប្រើមុខងារស្កេន ដើម្បីរកកម្មវិធីការងារដែលមានលក្ខណៈបោកប្រាស់"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 5719ae5..708a9f2 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"ಸ್ಟೈಲಸ್"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆ"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳಿ"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ಕರೆಗಳು ಮತ್ತು ಅಲಾರಾಂಗಳು"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿ"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"ಸಮೀಪದ ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್ಗಳು"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್ಗಳು"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR ಕೋಡ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿ"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"ಸಮೀಪದ ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್ಗಳು ಕಂಡುಬಂದಿಲ್ಲ."</string>
<string name="date_and_time" msgid="1788358029823431692">"ದಿನಾಂಕ ಮತ್ತು ಸಮಯ"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"ಪ್ರಾಕ್ಸಿ"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"ತೆರವುಗೊಳಿಸಿ"</string>
@@ -227,7 +231,7 @@
<string name="cancel" msgid="5780102414089664898">"ರದ್ದುಮಾಡಿ"</string>
<string name="okay" msgid="4827099303045669054">"ಸರಿ"</string>
<string name="forget" msgid="3754013654135912783">"ಮರೆತುಬಿಡಿ"</string>
- <string name="save" msgid="3125033126936493822">"ಉಳಿಸಿ"</string>
+ <string name="save" msgid="3125033126936493822">"ಸೇವ್ ಮಾಡಿ"</string>
<string name="done" msgid="7497982645646431310">"ಮುಗಿದಿದೆ"</string>
<string name="apply" msgid="7834684883190163536">"ಅನ್ವಯಿಸಿ"</string>
<string name="share" msgid="8502235338607613795">"ಹಂಚಿಕೊಳ್ಳಿ"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್"</string>
<string name="private_space_title" msgid="7078627930195569767">"ಖಾಸಗಿ ಸ್ಪೇಸ್"</string>
<string name="private_space_summary" msgid="8237652417163408001">"ಖಾಸಗಿ ಫೋಲ್ಡರ್ನಲ್ಲಿ ಆ್ಯಪ್ಗಳನ್ನು ಮರೆಮಾಡಿ"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಬಳಸಿಕೊಂಡು ಅನ್ಲಾಕ್ ಮಾಡಿ"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"ನೀವು ಮಾತ್ರ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಬಹುದಾದ ಖಾಸಗಿ ಫೋಲ್ಡರ್ನಲ್ಲಿ ಆ್ಯಪ್ಗಳನ್ನು ಮರೆಮಾಡಿ"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಲಾಕ್"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಅನ್ಲಾಕ್ ಮಾಡುವ ರೀತಿಯಲ್ಲಿಯೇ ನೀವು ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಬಹುದು ಅಥವಾ ಬೇರೆ ಲಾಕ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ಸಾಧನದ ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಅನ್ನು ಬಳಸಿ"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"ಫೇಸ್ ಮತ್ತು ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ಲಾಕ್"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"ಸೆಟಪ್ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ಸಾಧನದ ಸ್ಕ್ರೀನ್ ಲಾಕ್ನಂತೆಯೇ"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"ಖಾಸಗಿ ಸ್ಪೇಸ್ಗೆ ಹೊಸ ಲಾಕ್ ಆರಿಸಬೇಕೇ?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"ಲಾಕ್ ಆಗಿರುವಾಗ ಮರೆಮಾಡಿ"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"ಲಾಕ್ ಆಗಿರುವಾಗ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಮರೆಮಾಡಿ"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ಸಾಧನದಲ್ಲಿ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಬಗ್ಗೆ ಇತರರಿಗೆ ತಿಳಿಯದಂತೆ ಮಾಡಲು, ಆ್ಯಪ್ ಪಟ್ಟಿಯಿಂದ ಅದನ್ನು ಮರೆಮಾಡಬಹುದು"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"ಮರೆಮಾಡಿರುವಾಗ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಿ"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"ಹುಡುಕಾಟ ಪಟ್ಟಿಯಲ್ಲಿ \'ಖಾಸಗಿ ಸ್ಪೇಸ್\' ಗಾಗಿ ಹುಡುಕಿ"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಟೈಲ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"ನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಿ"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ಆಫ್ ಆಗಿದೆ"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ಆನ್ ಆಗಿದೆ"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"ಸಿಸ್ಟಂ"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ರಚಿಸಿ"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಅಳಿಸಿ"</string>
- <string name="private_space_created" msgid="2978055968937762232">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ರಚಿಸಲಾಗಿದೆ"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಅಳಿಸಲಾಗಿದೆ"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಸೆಟ್ ಮಾಡಿ"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಬಳಸಲು ಈ ಸಾಧನದಲ್ಲಿ ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಸೆಟ್ ಮಾಡಿ."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಸೆಟ್ ಮಾಡಿ"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"ರದ್ದುಗೊಳಿಸಿ"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"ರದ್ದುಗೊಳಿಸಿ"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"ಸೆಟಪ್ ಮಾಡಿ"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿ"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"ನೀವು ಮಾತ್ರ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಬಹುದಾದ ಸುರಕ್ಷಿತ ಸ್ಪೇಸ್ನಲ್ಲಿ ಖಾಸಗಿ ಆ್ಯಪ್ಗಳನ್ನು ಮರೆಮಾಡಿ"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"ಅದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"ನಿಮ್ಮ ಆ್ಯಪ್ಗಳ ಪಟ್ಟಿಯ ಕೆಳಗಿನಿಂದ ನೀವು ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಬಹುದು"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"ಖಾಸಗಿ ಸ್ಪೇಸ್ನಲ್ಲಿರುವ ಆ್ಯಪ್ಗಳನ್ನು ಲಾಕ್ ಮೂಲಕ ಸಂರಕ್ಷಿಸಲಾಗಿದೆ"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಲಾಕ್ ಆಗಿರುವಾಗ ಅದರಲ್ಲಿರುವ ಆ್ಯಪ್ಗಳ ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ಮರೆಮಾಡಲಾಗುತ್ತದೆ"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಲಾಕ್ ಆಗಿರುವಾಗ ಅನುಮತಿ ನಿರ್ವಾಹಕ, ಗೌಪ್ಯತೆ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಮತ್ತು ಇತರ ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಆ್ಯಪ್ಗಳು ಗೋಚರಿಸುವುದಿಲ್ಲ"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಆ್ಯಪ್ಗಳ ಬಳಕೆ ಮಾಹಿತಿಯು ಲಾಕ್ ಆಗಿರುವಾಗ ಅದನ್ನು ಮರೆಮಾಡಲಾಗುತ್ತದೆ"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"ನಿಮ್ಮ ಆ್ಯಪ್ಗಳ ಪಟ್ಟಿಯಿಂದ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಿ"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"ಕೆಲವು ಸಿಸ್ಟಂ ಆ್ಯಪ್ಗಳನ್ನು ಈಗಾಗಲೇ ಖಾಸಗಿ ಸ್ಪೇಸ್ನಲ್ಲಿ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಲಾಗಿದೆ"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"ಈಗಲೇ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ ಅಥವಾ ನಂತರ ಮರಳಿ ಬನ್ನಿ"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"ಅನ್ಲಾಕ್ ಮಾಡಲು ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಬಳಸಬೇಕೆ?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಅನ್ಲಾಕ್ ಮಾಡುವ ರೀತಿಯಲ್ಲಿಯೇ ನೀವು ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಬಹುದು ಅಥವಾ ಬೇರೆ ಲಾಕ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಅನ್ನು ಬಳಸಿ"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"ಹೊಸ ಲಾಕ್ ಆಯ್ಕೆಮಾಡಿ"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"ಎಲ್ಲವೂ ಸಿದ್ಧವಾಗಿದೆ!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"ನಿಮ್ಮ ಆ್ಯಪ್ಗಳ ಪಟ್ಟಿಯಿಂದ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ನೀವು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಬಹುದು"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"ಮುಗಿದಿದೆ"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಕೆಳಗೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿ"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಸೈನ್ ಇನ್ ಮಾಡಿ"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ನೀವು ಖಾತೆಗೆ ಸೈನ್ ಇನ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ತೋರಿಸಲು (ಅಂತಿಮ UX ಅಲ್ಲ)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"ಸೆಟ್ಟಿಂಗ್ಗಳು ಆ್ಯಪ್ ಅನ್ನು ತೆರೆಯಿರಿ"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"ಲಾಕ್ ಆಗಿರುವಾಗ, ಭದ್ರತೆ & ಗೌಪ್ಯತೆ > ಖಾಸಗಿ ಸ್ಪೇಸ್ > Hide ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಮರೆಮಾಡಿ ಎಂಬುದರ ಮೇಲೆ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"ಟಾಗಲ್ ಲಾಕ್ ಮಾಡಿದ ನಂತರ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಮರೆಮಾಡಿ ಅನ್ನು ಆಫ್ ಮಾಡಿ"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"ಗೂಗ್ಲರ್ಗಳಿಗೆ ಸೂಚನೆ: ಈ ಫೀಚರ್ನ ಅಭಿವೃದ್ಧಿ ಕಾರ್ಯ ಇನ್ನೂ ಪ್ರಗತಿಯಲ್ಲಿದೆ"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"ನೀವು ಗರಿಷ್ಠ <xliff:g id="COUNT">%d</xliff:g> ಫಿಂಗರ್ಪ್ರಿಂಟ್ಗಳನ್ನು ಸೇರಿಸಬಹುದು"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"ನೀವು ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯ ಫಿಂಗರ್ ಪ್ರಿಂಟ್ಗಳನ್ನು ಸೇರಿಸಿರುವಿರಿ"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"ಹೆಚ್ಚಿನ ಫಿಂಗರ್ ಪ್ರಿಂಟ್ಗಳನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"ಸಂಪರ್ಕಿಸಿ"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಿ"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ಜೋಡಿಸಿ ಮತ್ತು ಸಂಪರ್ಕಪಡಿಸಿ"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ಬ್ಲೂಟೂತ್ ಆನ್ ಮಾಡಿದಾಗ, ನಿಮ್ಮ ಸಾಧನವು ಇತರ ಸಮೀಪದ ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳ ಜೊತೆಗೆ ಸಂವಹನ ಮಾಡಬಹುದು."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ಬ್ಲೂಟೂತ್ ಆನ್ ಆದಾಗ, ಸಾಧನವು ಸಮೀಪದ ಇತರ ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳ ಜೊತೆ ಸಂವಹನ ಮಾಡಬಹುದು"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ಬ್ಲೂಟೂತ್ ಆನ್ ಮಾಡಿದ ನಂತರ, ನಿಮ್ಮ ಬ್ಲೂಟೂತ್ ಸಾಧನವು ಸಮೀಪದ ಸಾಧನಗಳ ಜೊತೆ ಸಂವಹನ ಮಾಡಬಹುದು. \n\nಸಾಧನದ ಅನುಭವವನ್ನು ಸುಧಾರಿಸಲು, ಬ್ಲೂಟೂತ್ ಆಫ್ ಆಗಿದ್ದರೂ ಸಹ, ಯಾವ ಸಮಯದಲ್ಲಾದರೂ ಸಮೀಪದ ಸಾಧನಗಳಿಗೆ ಸ್ಕ್ಯಾನ್ ಮಾಡಲು ಆ್ಯಪ್ಗಳು ಮತ್ತು ಸೇವೆಗಳಿಗೆ ಅನುಮತಿ ನೀಡಿ. ಉದಾಹರಣೆಗೆ, ಸ್ಥಳ ಆಧಾರಿತ ಫೀಚರ್ಗಳು ಮತ್ತು ಸೇವೆಗಳನ್ನು ಸುಧಾರಿಸಲು ಇದನ್ನು ಬಳಸಬಹುದಾಗಿದೆ. ನೀವು ಇದನ್ನು ಸ್ಕ್ಯಾನಿಂಗ್ ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಬದಲಾಯಿಸಬಹುದು."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"ಬದಲಾಯಿಸಿ"</string>
<string name="device_details_title" msgid="1155622417516195481">"ಸಾಧನದ ವಿವರಗಳು"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ಡೀಬಗ್ ಮಾಡಬಹುದಾದ ಆ್ಯಪ್ಗಳಿಗಾಗಿ ಬೈಟ್ಕೋಡ್ ಪರಿಶೀಲಿಸಲು ART ಅನುಮತಿಸಿ"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"ರಿಫ್ರೆಶ್ ರೇಟ್ ತೋರಿಸಿ"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"ಪ್ರಸ್ತುತ ಡಿಸ್ಪ್ಲೇ ರಿಫ್ರೆಶ್ ರೇಟ್ ಅನ್ನು ತೋರಿಸಿ"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR ಅನುಪಾತವನ್ನು ತೋರಿಸಿ"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"ಪ್ರಸ್ತುತ HDR/SDR ಅನುಪಾತವನ್ನು ತೋರಿಸಿ"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC ಗಾಗಿ ಸಾಧನ ಅನ್ಲಾಕ್ ಅಗತ್ಯವಿದೆ"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android ಬೀಮ್"</string>
@@ -976,7 +959,7 @@
<string name="wifi_not_in_range_message" msgid="3885327464037574739">"ನೆಟ್ವರ್ಕ್ ವ್ಯಾಪ್ತಿಯಲ್ಲಿಲ್ಲ"</string>
<string name="wifi_forget" msgid="3485573280364015620">"ಮರೆತುಬಿಡಿ"</string>
<string name="wifi_modify" msgid="5127926476383659412">"ಮಾರ್ಪಡಿಸಿ"</string>
- <string name="wifi_save" msgid="2312643132472226807">"ಉಳಿಸಿ"</string>
+ <string name="wifi_save" msgid="2312643132472226807">"ಸೇವ್ ಮಾಡಿ"</string>
<string name="wifi_failed_save_message" msgid="1830279872341387120">"ನೆಟ್ವರ್ಕ್ ಉಳಿಸಲು ವಿಫಲವಾಗಿದೆ"</string>
<string name="wifi_cancel" msgid="6698897376888935410">"ರದ್ದುಮಾಡಿ"</string>
<string name="wifi_forget_dialog_title" msgid="4363829200968563164">"ನೆಟ್ವರ್ಕ್ ಮರೆತಿರುವಿರಾ?"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"ಫೋಲ್ಡ್ ಮಾಡಿದ ನಂತರ ಆ್ಯಪ್ಗಳ ಬಳಕೆಯನ್ನು ಮುಂದುವರಿಸಿ"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"ಸ್ಮೂಥ್ ಡಿಸ್ಪ್ಲೇ"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"ಕೆಲವು ವಿಷಯಗಳಿಗೆ ರಿಫ್ರೆಶ್ ರೇಟ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ <xliff:g id="ID_1">%1$d</xliff:g> Hz ವರೆಗೆ ಹೆಚ್ಚಿಸುತ್ತದೆ. ಬ್ಯಾಟರಿ ಬಳಕೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ಗರಿಷ್ಠ ರಿಫ್ರೆಶ್ ರೇಟ್ ಅನ್ನು ಅನ್ವಯಿಸಿ"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"ಸುಧಾರಿತ ಸ್ಪರ್ಶ ಪ್ರತಿಕ್ರಿಯೆ ಮತ್ತು ಆ್ಯನಿಮೇಶನ್ ಗುಣಮಟ್ಟಗಳಿಗಾಗಿ ಅತ್ಯಧಿಕ ರಿಫ್ರೆಶ್ ರೇಟ್. ಬ್ಯಾಟರಿ ಬಳಕೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"ಸ್ಕ್ರೀನ್ ಆನ್ ಆಗಿರುವಿಕೆ"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"ಸಮುದಾಯದ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN ಗಳು"</string>
<string name="apn_edit" msgid="2003683641840248741">"ಆ್ಯಕ್ಸೆಸ್ ಪಾಯಿಂಟ್ ಎಡಿಟ್ ಮಾಡಿ"</string>
+ <string name="apn_add" msgid="9069613192201630934">"ಆ್ಯಕ್ಸೆಸ್ ಪಾಯಿಂಟ್ ಅನ್ನು ಸೇರಿಸಿ"</string>
<string name="apn_not_set" msgid="8246646433109750293">"ಹೊಂದಿಸಿಲ್ಲ"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"ಹೊಂದಿಸಲಾಗಿಲ್ಲ"</string>
<string name="apn_name" msgid="6677695784108157953">"ಹೆಸರು"</string>
@@ -1400,7 +1383,7 @@
<string name="mvno_match_data" msgid="5213193073684321156">"MVNO ಮೌಲ್ಯ"</string>
<string name="menu_delete" msgid="9199740901584348273">"APN ಅಳಿಸಿ"</string>
<string name="menu_new" msgid="6571230342655509006">"ಹೊಸ APN"</string>
- <string name="menu_save" msgid="6611465355127483100">"ಉಳಿಸಿ"</string>
+ <string name="menu_save" msgid="6611465355127483100">"ಸೇವ್ ಮಾಡಿ"</string>
<string name="menu_cancel" msgid="1197826697950745335">"ರದ್ದುಮಾಡಿ"</string>
<string name="error_title" msgid="7158648377702417716"></string>
<string name="error_name_empty" msgid="1258275899283079142">"ಹೆಸರಿನ ಕ್ಷೇತ್ರವು ಖಾಲಿ ಇರುವಂತಿಲ್ಲ."</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ತೆರೆಯಲು ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಬಳಸಿ"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"ತೆರೆಯಲು, ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಒತ್ತಿಹಿಡಿಯಿರಿ"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ತೆರೆಯಲು, ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಟ್ರಿಪಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"ತೆರೆಯಲು ಎರಡು-ಬೆರಳಿನಿಂದ ಟ್ರಿಪಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ತೆರೆಯಲು ಗೆಸ್ಚರ್ ಬಳಸಿ"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ಆ್ಯಕ್ಸೆಸ್ಸಿಬಿಲಿಟಿ ಗೆಸ್ಚರ್ ಅನ್ನು ಬಳಸಿ"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ಈ ಫೀಚರ್ ಬಳಸಲು, ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ನ ಕೆಳಭಾಗದಲ್ಲಿರುವ ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ಟ್ಯಾಪ್ ಮಾಡಿ.\n\nಫೀಚರ್ಗಳ ನಡುವೆ ಬದಲಾಯಿಸಲು, ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಅನ್ನು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹೋಲ್ಡ್ ಮಾಡಿ."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ಈ ಫೀಚರ್ ಬಳಸಲು, ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಮೇಲಿನ ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ಈ ಫೀಚರ್ ಬಳಸಲು, ಎರಡೂ ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಮತ್ತು ನಿಲ್ಲಿಸಲು, ನಿಮ್ಮ ಪರದೆಯ ಮೇಲೆ ಎಲ್ಲಿಯಾದರೂ ಟ್ರಿಪಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"ಹಿಗ್ಗಿಸುವಿಕೆ ಪ್ರಾರಂಭಿಸಲು & ನಿಲ್ಲಿಸಲು, ಎರಡು ಬೆರಳಿನಿಂದ ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಎಲ್ಲಿಯಾದರೂ ಟ್ರಿಪಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ಈ ಫೀಚರ್ ಬಳಸಲು, 2 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಸ್ಕ್ರೀನ್ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nವೈಶಿಷ್ಟ್ಯಗಳ ನಡುವೆ ಬದಲಿಸಲು, 2 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಹೋಲ್ಡ್ ಮಾಡಿ."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ಈ ಫೀಚರ್ ಬಳಸಲು, 3 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಸ್ಕ್ರೀನ್ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nವೈಶಿಷ್ಟ್ಯಗಳ ನಡುವೆ ಬದಲಿಸಲು, 3 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಹೋಲ್ಡ್ ಮಾಡಿ."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಫೀಚರ್ ಬಳಸಲು, 2 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಸ್ಕ್ರೀನ್ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nವೈಶಿಷ್ಟ್ಯಗಳ ನಡುವೆ ಬದಲಿಸಲು, 2 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಹೋಲ್ಡ್ ಮಾಡಿ."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಹಿಡಿದುಕೊಳ್ಳಿ"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಹಿಡಿದುಕೊಳ್ಳಿ"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ಎರಡೂ ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"ಎರಡು-ಬೆರಳಿನಿಂದ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಟ್ರಿಪಲ್ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ಎರಡು-ಬೆರಳಿನಿಂದ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಟ್ರಿಪಲ್ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"ಎರಡು ಬೆರಳುಗಳಿಂದ ಸ್ಕ್ರೀನ್ ಅನ್ನು {0,number,integer} ಬಾರಿ ತ್ವರಿತವಾಗಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಮೂರು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಮೂರು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ಸ್ಕ್ರೀನ್ನ ಮೇಲೆ {0,number,integer} ಸಲ ತ್ವರಿತವಾಗಿ ಟ್ಯಾಪ್ ಮಾಡಿ. ಈ ಶಾರ್ಟ್ಕಟ್, ನಿಮ್ಮ ಸಾಧನವನ್ನು ನಿಧಾನಗೊಳಿಸಬಹುದು"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ಇದು ಆ್ಯಪ್ ಅಥವಾ ಹಾರ್ಡ್ವೇರ್ ಸೆನ್ಸರ್ನ ಜೊತೆಗಿನ ನಿಮ್ಮ ಸಂವಹನಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಬಹುದು, ಮತ್ತು ನಿಮ್ಮ ಪರವಾಗಿ ಆ್ಯಪ್ಗಳ ಜೊತೆ ಸಂವಹನ ನಡೆಸಬಹುದು."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ಅನುಮತಿಸಿ"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ನಿರಾಕರಿಸಿ"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"ನಿಲ್ಲಿಸಿ"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ರದ್ದುಮಾಡಿ"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> ನಿಲ್ಲಿಸಬೇಕೇ?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿದರೆ <xliff:g id="SERVICE">%2$s</xliff:g> ಸ್ಥಗಿತವಾಗುತ್ತದೆ."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"ಯಾವುದೇ ಸೇವೆಗಳನ್ನು ಸ್ಥಾಪಿಸಿಲ್ಲ"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"ಯಾವುದೇ ಸೇವೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿಲ್ಲ"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"ಯಾವುದೇ ವಿವರಣೆಯನ್ನು ಒದಗಿಸಿಲ್ಲ."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ಒಂದು ಅಪ್ಲಿಕೇಶನ್ನ ಹಿನ್ನೆಲೆ ಚಟುವಟಿಕೆಯನ್ನು ನೀವು ಸೀಮಿತಗೊಳಿಸಿದರೆ, ಅದು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದಿರಬಹುದು"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ಬ್ಯಾಟರಿ ಅನ್ನು ಆಪ್ಟಿಮೈಜ್ ಮಾಡಲು ಈ ಅಪ್ಲಿಕೇಶನ್ ಹೊಂದಿಸದ ಕಾರಣ, ನೀವು ಇದನ್ನು ನಿರ್ಬಂಧಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.\n\n ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಲು, ಮೊದಲು ಬ್ಯಾಟರಿ ಆಪ್ಟಿಮೈಸೇಷನ್ ಅನ್ನು ಆನ್ ಮಾಡಿ."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ಬ್ಯಾಟರಿ ಬಳಕೆಯನ್ನು ನಿರ್ವಹಿಸಿ"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"ಹಿನ್ನೆಲೆ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸಿ"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ನೈಜ-ಸಮಯದ ಅಪ್ಡೇಟ್ಗಳಿಗಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಿ, ಬ್ಯಾಟರಿ ಸೇವ್ ಮಾಡಲು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ಮಿತಿ ಇಲ್ಲದ್ದು"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ"</string>
@@ -2744,31 +2730,22 @@
<string name="vpn_name" msgid="3806456074909253262">"ಹೆಸರು"</string>
<string name="vpn_type" msgid="5533202873260826663">"ಪ್ರಕಾರ"</string>
<string name="vpn_server" msgid="2908816134941973935">"ಸರ್ವರ್ ವಿಳಾಸ"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP ಎನ್ಕ್ರಿಪ್ಷನ್ (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP ರಹಸ್ಯ"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ಗುರುತಿಸುವಿಕೆ"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec ಪೂರ್ವ-ಹಂಚಿತ ಕೀ"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec ಬಳಕೆದಾರರ ಪ್ರಮಾಣಪತ್ರ"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA ಪ್ರಮಾಣಪತ್ರ"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec ಸರ್ವರ್ ಪ್ರಮಾಣಪತ್ರ"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"ಸುಧಾರಿತ ಆಯ್ಕೆಗಳನ್ನು ತೋರಿಸು"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS ಹುಡುಕಾಟ ಡೊಮೇನ್ಗಳು"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS ಸರ್ವರ್ಗಳು (ಉದಾ. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"ಫಾರ್ವರ್ಡಿಂಗ್ ಮಾರ್ಗಗಳು (ಉದಾ. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"ಬಳಕೆದಾರರಹೆಸರು"</string>
<string name="vpn_password" msgid="1183746907642628127">"ಪಾಸ್ವರ್ಡ್"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"ಖಾತೆಯ ಮಾಹಿತಿಯನ್ನು ಉಳಿಸು"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ಬಳಸಲಾಗಿಲ್ಲ)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ಸರ್ವರ್ ಅನ್ನು ಪರಿಶೀಲಿಸದಿರು)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(ಸರ್ವರ್ನಿಂದ ಸ್ವೀಕರಿಸಲಾಗಿದೆ)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ಈ VPN ಪ್ರಕಾರವು, ಎಲ್ಲ ಸಮಯಗಳಲ್ಲೂ ಸಂಪರ್ಕ ಹೊಂದಿರಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"ಯಾವಾಗಲೂ-ಆನ್ VPN, ಅಂಕಿಗಳಲ್ಲಿರುವ ಸರ್ವರ್ ವಿಳಾಸಗಳನ್ನು ಮಾತ್ರ ಬೆಂಬಲಿಸುತ್ತದೆ"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ಯಾವಾಗಲೂ-ಆನ್ VPN ಗಾಗಿ DNS ಸರ್ವರ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"ಯಾವಾಗಲೂ-ಆನ್ VPN ಗಾಗಿ, DNS ಸರ್ವರ್ ವಿಳಾಸಗಳು ಅಂಕಿಗಳಲ್ಲಿರಬೇಕು"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ನಮೂದಿಸಿದ ಮಾಹಿತಿಯು ಯಾವಾಗಲೂ-ಆನ್ VPN ಅನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"ರದ್ದುಮಾಡಿ"</string>
<string name="vpn_done" msgid="5137858784289564985">"ವಜಾಗೊಳಿಸಿ"</string>
- <string name="vpn_save" msgid="683868204634860888">"ಉಳಿಸಿ"</string>
+ <string name="vpn_save" msgid="683868204634860888">"ಸೇವ್ ಮಾಡಿ"</string>
<string name="vpn_connect" msgid="7102335248484045354">"ಸಂಪರ್ಕಿಸಿ"</string>
<string name="vpn_replace" msgid="1533147558671640341">"ಸ್ಥಾನಾಂತರಿಸು"</string>
<string name="vpn_edit" msgid="5862301148429324911">"VPN ಪ್ರೊಫೈಲ್ ಎಡಿಟ್ ಮಾಡಿ"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN ಇಲ್ಲದಿರುವ ಸಂಪರ್ಕಗಳನ್ನು ಬ್ಲಾಕ್ ಮಾಡಿ"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN ಸಂಪರ್ಕ ಅಗತ್ಯವಿದೆಯೇ?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"ಸುರಕ್ಷಿತವಾಗಿಲ್ಲ. IKEv2 VPN ಗೆ ಅಪ್ಡೇಟ್ ಮಾಡಿ"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"ಯಾವಾಗಲೂ ಸಂಪರ್ಕದಿಂದಿರಲು VPN ಪ್ರೊಫೈಲ್ ಆಯ್ಕೆಮಾಡಿ. ಈ VPN ಗೆ ಸಂಪರ್ಕಗೊಳಿಸಿದಾಗ ಮಾತ್ರ ನೆಟ್ವರ್ಕ್ ದಟ್ಟಣೆಯನ್ನು ಅನುಮತಿಸಲಾಗುವುದು."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"ಯಾವುದೂ ಇಲ್ಲ"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"ಎರಡೂ ಸರ್ವರ್ ಮತ್ತು DNS ಗಾಗಿ VPN ನಲ್ಲಿ ಯಾವಾಗಲೂ IP ವಿಳಾಸದ ಅಗತ್ಯವಿರುತ್ತದೆ."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"ಎಲ್ಲಾ ನೋಟಿಫಿಕೇಶನ್ ಕಂಟೆಂಟ್ ತೋರಿಸಿ"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"ಅನ್ಲಾಕ್ ಮಾಡಿದ ನಂತರ ಮಾತ್ರ ಸೂಕ್ಷ್ಮ ಕಂಟೆಂಟ್ ತೋರಿಸಿ"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ತೋರಿಸಲೇಬೇಡಿ"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ಲಾಕ್ ಸ್ಕ್ರೀನ್ ಹೇಗೆ ಪ್ರದರ್ಶನವಾಗಬೇಕು ಎಂದು ನೀವು ಬಯಸುತ್ತೀರಿ?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ನಿಮ್ಮ ಲಾಕ್ ಸ್ಕ್ರೀನ್ ಏನನ್ನು ತೋರಿಸಬೇಕೆಂದು ನೀವು ಬಯಸುತ್ತೀರಿ?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ಲಾಕ್ ಸ್ಕ್ರೀನ್"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"ಎಲ್ಲಾ ಉದ್ಯೋಗದ ನೋಟಿಫಿಕೇಶನ್ ಕಂಟೆಂಟ್ ತೋರಿಸಿ"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"ಸೂಕ್ಷ್ಮ ಕೆಲಸದ ಕಂಟೆಂಟ್ ಅನ್ನು ಮರೆಮಾಡಿ"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"ಎಲ್ಲಾ ಫೈಲ್ ನಿರ್ವಹಿಸಲು, ಪ್ರವೇಶಕ್ಕೆ ಅನುಮತಿಸಿ"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ಈ ಸಾಧನ ಅಥವಾ ಕನೆಕ್ಟ್ ಮಾಡಿದ ಶೇಖರಣಾ ವಾಲ್ಯೂಮ್ಗಳಲ್ಲಿ ಎಲ್ಲಾ ಫೈಲ್ಗಳನ್ನು ಓದಲು, ಮಾರ್ಪಡಿಸಲು ಮತ್ತು ಅಳಿಸಲು ಈ ಆ್ಯಪ್ಗೆ ಅನುಮತಿಸಿ. ಅನುಮತಿಸಿದರೆ, ಬಳಕೆದಾರರ ಪೂರ್ವಾನುಮತಿ ಇಲ್ಲದೆ ಆ್ಯಪ್ಗಳು ಫೈಲ್ಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"ಎಲ್ಲಾ ಫೈಲ್ಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"ಧ್ವನಿ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ ಆ್ಯಪ್ಗಳು"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ಧ್ವನಿ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆಯನ್ನು ಅನುಮತಿಸಿ"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ಧ್ವನಿ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆಯು ಧ್ವನಿ ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಅನುಮೋದಿತ ಆ್ಯಪ್ಗಳು ಮತ್ತು ಹ್ಯಾಂಡ್ಸ್-ಫ್ರೀ ಅನ್ನು ಆನ್ ಮಾಡುತ್ತದೆ. ಅಂತರ್ನಿರ್ಮಿತ ಅಡಾಪ್ಟಿವ್ ಸೆನ್ಸಿಂಗ್ ಡೇಟಾ ನಿಮಗೆ ಮಾತ್ರ ಖಾಸಗಿಯಾಗಿರುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.\n\n"<a href="">"ಸಂರಕ್ಷಿತ ಅಡಾಪ್ಟಿವ್ ಸೆನ್ಸಿಂಗ್ ಕುರಿತು ಇನ್ನಷ್ಟು"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"ಫುಲ್ ಸ್ಕ್ರೀನ್ ನೋಟಿಫಿಕೇಶನ್ಗಳು"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"ಈ ಆ್ಯಪ್ನಿಂದ ಫುಲ್ ಸ್ಕ್ರೀನ್ ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ಸಾಧನ ಲಾಕ್ ಆಗಿರುವಾಗ ಫುಲ್ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಆವರಿಸಿಕೊಳ್ಳುವ ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ತೋರಿಸಲು ಈ ಆ್ಯಪ್ಗೆ ಅನುಮತಿಸಿ. ಅಲಾರಾಂಗಳು, ಒಳಬರುವ ಕರೆಗಳು ಅಥವಾ ಇತರ ತುರ್ತಿನ ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ಹೈಲೈಟ್ ಮಾಡಲು ಆ್ಯಪ್ಗಳು ಇವುಗಳನ್ನು ಬಳಸಬಹುದು."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಇರುವಾಗ ಸಾಮಾನ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚು ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲಾಗಿದೆ"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"ಮುನ್ನೆಲೆಯಲ್ಲಿರುವಾಗ <xliff:g id="APP_LABEL">%1$s</xliff:g> ನಿಂದ ಹೆಚ್ಚು ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲಾಗಿದೆ"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ಮುನ್ನೆಲೆಯಲ್ಲಿ ಇರುವಾಗ ಸಾಮಾನ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚು ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲಾಗಿದೆ"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ಬ್ಯಾಟರಿ ಬಳಕೆಯ ಅಸಹಜತೆ"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"ಹೆಚ್ಚು ಬ್ಯಾಟರಿ ಬಳಕೆ"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಹೆಚ್ಚಿನ ಬ್ಯಾಟರಿ ಬಳಕೆ"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ಮುನ್ನೆಲೆಯಲ್ಲಿ ಹೆಚ್ಚಿನ ಬ್ಯಾಟರಿ ಬಳಕೆ"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"ಸಿಸ್ಟಂ ನ್ಯಾವಿಗೇಶನ್, 2 ಬಟನ್ ನ್ಯಾವಿಗೇಶನ್, 3 ಬಟನ್ ನ್ಯಾವಿಗೇಶನ್, ಗೆಸ್ಚರ್ ನ್ಯಾವಿಗೇಶನ್, ಸ್ವೈಪ್"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ಡಿಜಿಟಲ್ ಅಸಿಸ್ಟೆಂಟ್"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"ಅಸಿಸ್ಟೆಂಟ್ ಅನ್ನು ಶುರು ಮಾಡಲು ಸ್ವೈಪ್ ಮಾಡಿ"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ಡಿಜಿಟಲ್ ಅಸಿಸ್ಟೆಂಟ್ ಆ್ಯಪ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಕೆಳಭಾಗದ ಮೂಲೆಯಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ಡಿಜಿಟಲ್ ಅಸಿಸ್ಟೆಂಟ್ ಆ್ಯಪ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಕೆಳಭಾಗದ ಮೂಲೆಯಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant ಗಾಗಿ ಹೋಮ್ ಅನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳಿ"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ಡಿಜಿಟಲ್ ಅಸಿಸ್ಟೆಂಟ್ ಆ್ಯಪ್ ಅನ್ನು ಶುರು ಮಾಡಲು ಹೋಮ್ ಬಟನ್ ಅನ್ನು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ."</string>
<string name="low_label" msgid="6525629096999711220">"ಕಡಿಮೆ"</string>
@@ -4445,7 +4428,7 @@
<string name="mobile_network_sim_name" msgid="3187192894150386537">"ಸಿಮ್ ಹೆಸರು & ಬಣ್ಣ"</string>
<string name="mobile_network_sim_name_label" msgid="1452440641628369625">"ಹೆಸರು"</string>
<string name="mobile_network_sim_color_label" msgid="5293944087609632340">"ಬಣ್ಣ (ಹೊಂದಾಣಿಕೆಯ ಆ್ಯಪ್ಗಳಿಂದ ಬಳಸಲಾಗಿದೆ)"</string>
- <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"ಉಳಿಸಿ"</string>
+ <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"ಸೇವ್ ಮಾಡಿ"</string>
<string name="mobile_network_use_sim_on" msgid="7298332437547707908">"ಸಿಮ್ ಬಳಸಿ"</string>
<string name="mobile_network_use_sim_off" msgid="6303281166199670639">"ಆಫ್"</string>
<string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"ಈ SIM ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು, SIM ಕಾರ್ಡ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ವ್ಯಾಕರಣದ ಲಿಂಗವನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"ಮೋಸಗೊಳಿಸುವ ಆ್ಯಪ್ಗಳಿಗಾಗಿ ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"ಫಿಶಿಂಗ್ಗಾಗಿ ಆ್ಯಪ್ನ ಚಟುವಟಿಕೆಯನ್ನು ಪರಿಶೀಲಿಸಿ"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"ಸ್ಕ್ಯಾನಿಂಗ್ ಬಳಸಿ"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್ಗಳಿಗಾಗಿ ಸ್ಕ್ಯಾನಿಂಗ್ ಬಳಸಿ"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ಮೋಸಗೊಳಿಸುವ ಆ್ಯಪ್ಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಸ್ಕ್ಯಾನಿಂಗ್ ಬಳಸಿ"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ಕೆಲಸದ ಸ್ಥಳದಲ್ಲಿ ಮೋಸಗೊಳಿಸುವ ಆ್ಯಪ್ಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಸ್ಕ್ಯಾನಿಂಗ್ ಬಳಸಿ"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 15391ba..7c09e44 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"다른 기기"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"저장된 기기"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"계정과 연결됨"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"이전에 계정에서 사용됨"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"이전에 계정에 연결하여 사용한 기기"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"페어링을 위해 블루투스가 켜집니다"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"연결 환경설정"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"이전에 연결됨"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"스타일러스"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"오디오 공유"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"오디오 공유"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"통화 및 알람"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE 오디오 스트림에 연결"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"주변 오디오 스트림"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"오디오 스트림"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR 코드를 사용해 오디오 스트림에 연결"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"주변 오디오 스트림이 없습니다."</string>
<string name="date_and_time" msgid="1788358029823431692">"날짜 및 시간"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"프록시"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"지우기"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"직장 프로필"</string>
<string name="private_space_title" msgid="7078627930195569767">"비공개 스페이스"</string>
<string name="private_space_summary" msgid="8237652417163408001">"비공개 폴더에 앱 숨기기"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"화면 잠금을 사용하여 잠금 해제"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"나만 액세스할 수 있는 비공개 폴더에 앱을 숨기세요."</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"비공개 스페이스 잠금"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"기기를 잠금 해제하는 방식과 동일하게 비공개 스페이스를 잠금 해제하거나 다른 잠금 방식을 선택할 수 있습니다."</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"기기 화면 잠금 사용"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"얼굴 및 지문 잠금 해제"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"탭하여 설정"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"기기 화면 잠금과 동일"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"새로운 비공개 스페이스용 잠금을 선택하시겠습니까?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"잠겨 있을 때 숨김"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"잠겨 있을 때 비공개 스페이스 숨기기"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"기기에 비공개 스페이스가 있다는 사실을 다른 사람이 알지 못하도록 앱 목록에서 숨길 수 있습니다."</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"숨겨져 있을 때 비공개 스페이스에 액세스"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"검색창에서 \'비공개 스페이스\'를 검색합니다."</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"비공개 스페이스 타일 탭"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"비공개 스페이스 잠금 해제"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"사용 안함"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"사용"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"시스템"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"비공개 스페이스 만들기"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"비공개 스페이스 삭제"</string>
- <string name="private_space_created" msgid="2978055968937762232">"비공개 스페이스가 생성됨"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"비공개 스페이스가 이미 존재합니다"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"비공개 스페이스를 만들 수 없음"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"비공개 스페이스가 삭제됨"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"비공개 스페이스를 삭제할 수 없음"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"화면 잠금 설정"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"비공개 스페이스를 사용하려면 이 기기에 화면 잠금을 설정하세요."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"화면 잠금 설정"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"취소"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"취소"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"설정"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"비공개 스페이스 설정"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"나만 액세스할 수 있는 안전한 스페이스에 비공개 앱을 숨깁니다."</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"작동 방식"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"앱 목록 하단에서 비공개 스페이스에 액세스할 수 있습니다."</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"잠금을 통해 비공개 스페이스의 앱이 보호됩니다."</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"잠겨 있을 때 비공개 스페이스의 앱에서 보내는 알림은 표시되지 않습니다."</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"비공개 스페이스가 잠겨 있을 때 비공개 스페이스 앱은 권한 관리자, 개인 정보 대시보드, 기타 설정에 표시되지 않습니다."</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"비공개 스페이스 설정 중…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"잠긴 경우 비공개 스페이스 앱의 사용 정보가 숨겨짐"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"앱 목록에서 비공개 스페이스에 액세스"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"비공개 스페이스를 설정할 수 없음"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"지금 다시 시도하거나 나중에 다시 시도하세요."</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"다시 시도"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"화면 잠금을 사용하여 잠금 해제하시겠습니까?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"기기를 잠금 해제하는 방식과 동일하게 비공개 스페이스를 잠금 해제하거나 다른 잠금 방식을 선택할 수 있습니다."</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"화면 잠금 사용"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"새 잠금 방식 선택"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"처리가 완료되었습니다"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"완료"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"비공개 스페이스에 액세스하려면 아래로 스크롤하세요."</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"비공개 스페이스를 설정하려면 로그인하세요"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"비공개 스페이스를 설정하려면 계정에 로그인해야 합니다."</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"비공개 스페이스 표시(최종 UX 아님)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"설정 앱을 엽니다."</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"보안 및 개인 정보 보호 > 비공개 스페이스 > 잠겨 있을 때 비공개 스페이스 숨기기를 탭합니다."</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"잠겨 있을 때 비공개 스페이스 숨기기를 사용 중지합니다."</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google 직원 참고사항: 이 기능은 아직 개발 중입니다."</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"지문을 <xliff:g id="COUNT">%d</xliff:g>개까지 추가할 수 있습니다."</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"최대 개수의 지문을 추가했습니다."</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"지문을 추가할 수 없습니다."</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"연결"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"연결 끊기"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"페어링 및 연결"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"기기에서 블루투스가 켜져 있으면 주변의 다른 블루투스 기기와 통신할 수 있습니다."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"블루투스가 켜져 있으면 기기가 주변의 다른 블루투스 기기와 통신할 수 있습니다."</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"블루투스가 켜져 있으면 기기가 근처의 다른 블루투스 기기와 통신할 수 있습니다.\n\n기기 사용 환경을 개선하기 위해 블루투스가 꺼져 있을 때도 앱 및 서비스에서 언제든지 근처에 기기가 있는지 검색할 수 있습니다. 예를 들면 위치 기반 기능 및 서비스를 개선하는 데 이 기능이 사용되기도 합니다. 설정을 변경하려면 블루투스 검색 설정으로 이동하세요."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"변경"</string>
<string name="device_details_title" msgid="1155622417516195481">"기기 세부정보"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART가 디버깅 가능한 앱의 바이트코드를 확인하도록 허용"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"새로고침 빈도 보기"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"현재 화면 새로고침 빈도 보기"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR 비율 표시"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"현재 HDR/SDR 비율 표시"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC 사용 시 기기 잠금 해제 필요"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"접은 상태에서 앱 계속 사용"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"스무스 디스플레이"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"일부 콘텐츠의 화면 재생 빈도를 자동으로 최대 <xliff:g id="ID_1">%1$d</xliff:g>Hz까지 늘립니다. 배터리 사용량이 증가합니다."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"가장 높은 새로고침 빈도 강제 적용"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"향상된 터치 반응 속도 및 애니메이션 품질에 맞는 가장 높은 새로고침 빈도입니다. 배터리 사용량이 증가합니다."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"화면 시선 감지"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"커뮤니티 설정"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"액세스 포인트 수정"</string>
+ <string name="apn_add" msgid="9069613192201630934">"액세스 포인트 추가"</string>
<string name="apn_not_set" msgid="8246646433109750293">"설정되지 않음"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"설정되지 않음"</string>
<string name="apn_name" msgid="6677695784108157953">"이름"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"접근성 버튼을 사용하여 열기"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"볼륨 키를 길게 눌러 열기"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"화면을 세 번 탭하여 열기"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"두 손가락으로 화면을 세 번 탭하여 열기"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"동작을 사용해 열기"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"접근성 동작 사용"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"이 기능을 사용하려면 화면 하단의 접근성 버튼 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>을 탭하세요.\n\n기능 간에 전환하려면 접근성 버튼을 길게 터치하세요."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"이 기능을 사용하려면 화면에서 접근성 버튼을 탭하세요."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"이 기능을 사용하려면 볼륨 키 2개를 동시에 길게 누르세요."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"확대를 시작 및 중지하려면 화면의 아무 곳이나 세 번 탭하세요."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"확대를 시작 및 중지하려면 화면의 아무 곳이나 두 손가락으로 세 번 탭하세요."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"이 기능을 사용하려면 두 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n기능 간에 전환하려면 두 손가락을 사용하여 위로 스와이프한 후 잠시 기다립니다."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"이 기능을 사용하려면 세 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n기능 간에 전환하려면 세 손가락을 사용하여 위로 스와이프한 후 잠시 기다립니다."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"접근성 기능을 사용하려면 두 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n기능 간에 전환하려면 두 손가락을 사용하여 위로 스와이프한 후 잠시 기다립니다."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"볼륨 키 길게 누르기"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"볼륨 키 길게 누르기"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"볼륨 키 2개를 길게 누릅니다."</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"두 손가락으로 화면 세 번 탭하기"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"두 손가락으로 화면 세 번 탭하기"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"두 손가락으로 화면을 {0, 숫자, 정수}번 빠르게 탭하세요."</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"세 번 탭하기"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"화면 세 번 탭하기"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"화면을 {0,number,integer}번 빠르게 탭합니다. 이 바로가기를 사용하면 기기가 느려질 수 있습니다."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"앱 또는 하드웨어 센서와의 상호작용을 추적할 수 있으며 나를 대신해 앱과 상호작용할 수 있습니다."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"허용"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"거부"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"중지"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"취소"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g>을(를) 중지하시겠습니까?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g>를 탭하면 <xliff:g id="SERVICE">%2$s</xliff:g>가 중지됩니다."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"설치된 서비스가 없습니다."</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"선택된 서비스 없음"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"제공된 설명이 없습니다."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"앱의 백그라운드 활동을 제한하면 앱이 정상적으로 작동하지 않을 수도 있습니다."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"배터리 최적화를 설정하지 않아 이 앱을 제한할 수 없습니다.\n\n앱을 제한하려면 먼저 배터리 최적화를 사용 설정하세요."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"배터리 사용량 관리"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"백그라운드 사용 허용"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"실시간 업데이트를 받으려면 사용 설정, 배터리를 절약하려면 사용 중지"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"제한 없음"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"최적화"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"제한됨"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"이름"</string>
<string name="vpn_type" msgid="5533202873260826663">"유형"</string>
<string name="vpn_server" msgid="2908816134941973935">"서버 주소"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP 암호화(MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP 보안"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec 식별자"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec 사전 공유 키"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec 사용자 인증서"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA 인증서"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec 서버 인증서"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"고급 옵션 표시"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS 검색 도메인"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS 서버(예: 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"전달 경로(예: 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"사용자 이름"</string>
<string name="vpn_password" msgid="1183746907642628127">"비밀번호"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"계정 정보 저장"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(사용되지 않음)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(서버를 인증하지 않음)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(서버에서 수신)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"이 VPN 유형은 항상 연결된 상태로 유지할 수 없습니다."</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"연결 유지 VPN은 숫자로 된 서버 주소만 지원합니다."</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"연결 유지 VPN의 DNS 서버를 지정해야 합니다."</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"연결 유지 VPN에 사용되는 DNS 서버 주소는 숫자여야 합니다."</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"입력된 정보가 연결 유지 VPN을 지원하지 않습니다."</string>
<string name="vpn_cancel" msgid="5929410618112404383">"취소"</string>
<string name="vpn_done" msgid="5137858784289564985">"취소"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN 없는 연결 차단"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN 연결이 필요한가요?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"안전하지 않습니다. IKEv2 VPN으로 업데이트하세요"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"VPN 프로필을 선택하여 연결된 상태를 유지하세요. 이 VPN에 연결된 상태에서만 네트워크 트래픽이 허용됩니다."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"없음"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN을 연결 상태로 유지하려면 서버와 DNS의 IP 주소가 필요합니다."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"모든 알림 내용 표시"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"민감한 콘텐츠는 잠금이 해제되었을 때만 표시"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"알림 표시 안함"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"잠금 화면이 어떻게 표시되길 원하시나요?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"잠금 화면에 어떻게 표시하고 싶나요?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"잠금 화면"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"모든 직장 알림 내용 표시"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"민감한 직장 콘텐츠 숨기기"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"모든 파일 관리 허용"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"앱이 이 기기 또는 연결된 모든 저장장치에 있는 파일을 모두 읽고 수정하고 삭제하도록 허용합니다. 권한을 부여하면 앱이 나에게 명시적으로 알리지 않고도 파일에 액세스할 수 있습니다."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"모든 파일에 액세스 가능"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"음성 활성화 앱"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"음성 활성화 허용"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"음성 활성화는 음성 명령을 통해 핸즈프리로 승인된 앱을 켭니다. 기본 제공되는 적응형 감지를 사용하면 데이터가 나에게만 공개됩니다.\n\n"<a href="">"보호되는 적응형 감지에 관해 알아보기"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"전체 화면 알림"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"이 앱에 전체 화면 알림 허용하기"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"기기가 잠겨 있을 때 앱에서 알림을 전체 화면에 표시할 수 있도록 허용합니다. 앱에서는 이러한 방식으로 알람, 수신 전화 또는 기타 긴급 알림을 강조 표시할 수 있습니다."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> 앱이 백그라운드에서 평소보다 더 많은 배터리를 사용함"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> 앱이 포그라운드에서 더 많은 배터리를 사용함"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> 앱이 포그라운드에서 평소보다 더 많은 배터리를 사용함"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"배터리 사용량 이상치"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"배터리 사용량 높음"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"백그라운드에서 배터리 사용량 높음"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"포그라운드에서 배터리 사용량 높음"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"시스템 탐색, 2버튼 탐색, 3버튼 탐색, 동작 탐색, 스와이프"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"디지털 어시스턴트"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"스와이프하여 어시스턴트 호출"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"하단 모서리에서 위로 스와이프하여 디지털 어시스턴트 앱을 호출합니다."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"하단 모서리에서 위로 스와이프하여 디지털 어시스턴트 앱을 호출합니다."</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"어시스턴트를 사용하려면 홈 버튼 길게 누르기"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"디지털 어시스턴트 앱을 실행하려면 홈 버튼을 길게 누르세요."</string>
<string name="low_label" msgid="6525629096999711220">"낮음"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"문법적 성별 선택"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"사기성 앱 검사"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"앱 활동에서 피싱 확인"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"검사 사용"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"직장 앱에 검사 사용"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"사기성 앱 검사 사용"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"직장용 사기성 앱 검사 사용"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 79a42e5..506a781 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Стилус"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Аудиону бөлүшүү"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Аудиону бөлүшүү"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Чалуулар жана ойготкучтар"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE аудио агымына туташтыруу"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Жакын жердеги аудио агымдар"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Аудио агымдар"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Аудио агымга QR коду аркылуу туташуу"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Жакын жерде аудио агымдар табылган жок."</string>
<string name="date_and_time" msgid="1788358029823431692">"Күн жана убакыт"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Прокси"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Тазалоо"</string>
@@ -539,7 +543,14 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Жумуш профили"</string>
<string name="private_space_title" msgid="7078627930195569767">"Жеке чөйрө"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Купуя папкадагы колдонмолорду жашыруу"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Экрандын кулпусу менен ачуу"</string>
+ <string name="private_space_description" msgid="5494963647270826210">"Колдонмолорду өзүңүз гана кире турган жеке папкага жашыра аласыз"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Жеке чөйрөнү кулпулоо"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Жеке чөйрө үчүн түзмөгүңүздүн кулпусун ачуу ыкмасын колдонуп же башка кулпуну тандай аласыз"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Түзмөктүн экранын кулпулоо ыкмасын колдонуу"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Жүз жана манжа изи менен ачуу"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Коюу үчүн басыңыз"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Түзмөктүн экраны кулпулангандай"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Жеке чөйрө үчүн жаңы кулпуну тандайсызбы?"</string>
<string name="private_space_hide_title" msgid="8687034008994037610">"Кулпуланган учурда жашыруу"</string>
<string name="privatespace_hide_page_title" msgid="972581369094289386">"Жеке чөйрө кулпуланган учурда аны жашыруу"</string>
<string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Башкалар түзмөгүңүздө Жеке чөйрө орнотулганын билбеши үчүн, аны колдонмолордун тизмесинен жашырыңыз"</string>
@@ -550,11 +561,7 @@
<string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Өчүк"</string>
<string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Күйүк"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Система"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Жеке чөйрө түзүү"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Жеке чөйрөнү өчүрүү"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Жеке чөйрө түзүлдү"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Жеке чөйрө бар"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Жеке чөйрө түзүлгөн жок"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Жеке чөйрө өчүрүлдү"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Жеке чөйрө өчүрүлгөн жок"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Экран кулпусун коюп алыңыз"</string>
@@ -568,40 +575,32 @@
<string name="privatespace_how_title" msgid="8794102046435526065">"Ал кантип иштейт"</string>
<string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Жеке чөйрөнү колдонмолордун тизмесинин ылдый жагынан көрө аласыз"</string>
<string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Жеке чөйрөдөгү колдонмолор кулпу менен корголот"</string>
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Жеке чөйрөдөгү колдонмолордун билдирмелери ал кулпуланганда жашырылат"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Жеке чөйрө кулпуланган учурда андагы колдонмолор уруксаттарда, купуялык тактасында жана башка параметрлерде көрүнбөйт"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Жеке чөйрө туураланууда…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Жеке чөйрө кулпуланганда, андагы колдонмолордун колдонулушу тууралуу маалымат жашырылат"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Колдонмолоруңуздун тизмесинен Жеке чөйрөнү ачыңыз"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Жеке чөйрө туураланган жок"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Азыр кайталап көрүңүз же кийинчерээк кайтып келиңиз"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Кайталоо"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Экран кулпусун колдоносузбу?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Жеке чөйрө үчүн түзмөгүңүздүн кулпусун ачуу ыкмасын колдонуп же башка кулпуну тандай аласыз"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Экран кулпусун колдонуу"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Жаңы кулпуну тандоо"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Дапдаяр!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Бүттү"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Жеке чөйрөнү ачуу үчүн баракты ылдый сыдырыңыз"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Жеке чөйрөнү тууралоо үчүн аккаунтуңузга кириңиз"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Жеке чөйрөнү тууралоо үчүн аккаунтуңузга киришиңиз керек"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Жеке чөйрөнү көрсөтүү үчүн (КТ өзгөрүшү мүмкүн)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Параметрлер колдонмосун ачыңыз"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Кулпуланып турганда Коопсуздук жана купуялык > Жеке чөйрө > Жеке чөйрөнү жашыруу дегенди таптаңыз"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Кулпуланган болсо, Жеке чөйрөнү жашыруу которгучун өчүрүңүз"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google\'чулар үчүн эскертме: Бул функцияны иштеп чыгуу процесси аяктай элек"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"<xliff:g id="COUNT">%d</xliff:g> чейин манжа изин кошсоңуз болот"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Кошулган манжа издеринин саны жогорку чегине жетти"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Дагы манжа издерин кошуу мүмкүн эмес"</string>
@@ -765,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Туташуу"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Ажыратуу"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Байланыштыруу жана туташтыруу"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth күйгүзүлгөндө түзмөгүңүз жакын арадагы башка Bluetooth түзмөктөрү менен байланыша алат."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth күйгүзүлгөндө, түзмөгүңүз жакын жердеги башка Bluetooth түзмөктөрү менен байланыша алат"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Башка түзмөктөргө туташуу үчүн Bluetooth\'ду күйгүзүңүз.\n\nЖерлерди тагыраак аныктап, түзмөктүн иштешин жакшыртуу үчүн Bluetooth өчүп турганда да колдонмолор менен кызматтар жакын жердеги түзмөктөрдү издей беришет. Издебесин десеңиз, Bluetooth түзмөктөрүн издөө параметрин өчүрүп коюңуз."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Өзгөртүү"</string>
<string name="device_details_title" msgid="1155622417516195481">"Түзмөктүн чоо-жайы"</string>
@@ -818,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART\'га мүчүлүштүктөрдү аныктаган колдонмолордун байт кодун текшерүүгө уруксат берилет"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Жаңыруу жыштыгы"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Экрандын учурдагы жаңыруу жыштыгы көрүнөт"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR катышын көрсөтүү"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Учурдагы HDR/SDR катышын көрсөтүү"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC\'ни колдонуу үчүн түзмөктүн кулпусун ачуу керек"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1119,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Түзмөк бүктөлгөндө колдонмолорду пайдалана берүү"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Айрым материалдар үчүн экрандын жаңыруу жыштыгы автоматтык түрдө <xliff:g id="ID_1">%1$d</xliff:g> Герцке көтөрүлөт. Батареяны көбүрөөк керектейт."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Экрандын жаңыруу жыштыгын жогорулатуу"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Сенсордун функциясын жана анимациянын сапатын жакшыртуу үчүн жаңыртуу ылдамдыгы жогорулатылды. Батареянын колдонулушун жогорулатат."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Ыңгайлашуучу көшүү режими"</string>
@@ -1356,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Жалпы параметрлер"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN\'дер"</string>
<string name="apn_edit" msgid="2003683641840248741">"Байланыш түйүнүн өзгөртүү"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Байланыш түйүнүн кошуу"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Коюлган эмес"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Коюлган эмес"</string>
<string name="apn_name" msgid="6677695784108157953">"Аталышы"</string>
@@ -1990,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Атайын мүмкүнчүлүктөр баскычын басыңыз"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Ачуу үчүн үн баскычтарын коё бербей басып туруңуз"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Ачуу үчүн экранды үч жолу таптаңыз"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Ачуу үчүн экранды эки манжаңыз менен үч жолу таптаңыз"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Ачуу үчүн жаңсаңыз"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Атайын мүмкүнчүлүктөр жаңсоосун колдонуу"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Бул функцияны колдонуу үчүн экрандын ылдый жагындагы атайын мүмкүнчүлүктөр баскычын <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> таптап коюңуз.\n\nБашка функцияга өтүү үчүн Атайын мүмкүнчүлүктөр баскычын басып, кармап туруңуз."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Бул функцияны колдонуу үчүн экрандагы атайын мүмкүнчүлүктөр баскычын басыңыз."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Бул функцияны колдонуу үчүн үндү катуулатуу/акырындатуу баскычтарын коё бербей басып туруңуз."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Чоңойтуп/кичирейтүүнү иштетүү же өчүрүү үчүн экраныңыздын каалаган жерин үч жолу таптаңыз."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Чоңойтууну иштетүү же өчүрүү үчүн экраныңыздын каалаган жерин эки манжаңыз менен үч жолу таптаңыз."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Бул функцияны колдонуу үчүн экранды 2 манжаңыз менен ылдый жагынан өйдө сүрүңүз.\n\nБашка функцияга өтүү үчүн 2 манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Бул функцияны колдонуу үчүн экранды 3 манжаңыз менен ылдый жагынан өйдө сүрүңүз.\n\nБашка функцияга өтүү үчүн 3 манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Бул атайын мүмкүнчүлүктөр функциясын колдонуу үчүн экранды 2 манжаңыз менен ылдый жагынан өйдө сүрүңүз.\n\nБашка функцияга өтүү үчүн 2 манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
@@ -2017,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Үндү катуулатуу/акырындатуу баскычтарын басуу"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"үн баскычтарын басып туруу"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Үндү катуулатуу/акырындатуу баскычтарын коё бербей басып туруңуз"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Экранды эки манжа менен үч жолу таптоо"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"экранды эки манжа менен үч жолу таптоо"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Экранды эки манжаңыз менен {0,number,integer} жолу тез таптаңыз"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Экранды үч жолу басуу"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"экранды үч жолу таптоо"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Экранды {0,number,integer} жолу тез басыңыз. Бул ыкчам баскыч түзмөгүңүздү жайлатышы мүмкүн"</string>
@@ -2247,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Кызмат колдонмодо жасаган аракеттериңизге же түзмөктүн сенсорлоруна көз салып, сиздин атыңыздан буйруктарды берет."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Уруксат берүү"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Жок"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Токтотуу"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Жок"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> токтотулсунбу?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="SERVICE">%2$s</xliff:g> кызматын токтотуу үчүн <xliff:g id="STOP">%1$s</xliff:g> баскычын басыңыз."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Эч кандай кызматтар орнотулган эмес"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Бир да кызмат тандалган жок"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Эч кандай сүрөттөө берилген эмес."</string>
@@ -2320,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Колдонмонун фондогу аракеттери чектелсе, ал туура эмес иштеп калышы мүмкүн"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Бул колдонмодо батареянын үнөмдөлүшү жөндөлбөгөндүктөн, аны чектөөгө болбойт.\n\nКолдонмону чектөө үчүн, адегенде Батареяны үнөмдөө режимин күйгүзүңүз."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Батареянын колдонулушун тескөө"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Фондо колдонууга уруксат берүү"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Анык убакыттагы жаңыртууларды алуу үчүн иштетип, батареянын кубатын үнөмдөө үчүн өчүрүңүз"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Чектелбейт"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оптималдаштырылган"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Чектелген"</string>
@@ -2728,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Аталышы"</string>
<string name="vpn_type" msgid="5533202873260826663">"Түрү"</string>
<string name="vpn_server" msgid="2908816134941973935">"Сервердин дареги"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP шифрлөө (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP сыры"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec аныктагыч"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Алдын ала бөлүшүлгөн IPSec ачкычы"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec колдонуучунун тастыктамасы"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA тастыктамасы"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec сервер сертификаты"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Кошумча"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS издөө домендери"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS серверлер (мис. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Багыттоо жолдору (мис. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Колдонуучунун аты"</string>
<string name="vpn_password" msgid="1183746907642628127">"Сырсөз"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Аккаунттун маалыматын сактоо"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(колдонулбайт)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(серверди ырастаба)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(серверден келген)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Мындай VPN түрү такай туташып турбайт"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Туруктуу VPN тармагында сан менен жазылган сервер даректери гана колдоого алынат"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Туруктуу VPN\'дин DNS сервери көрсөтүлүшү керек"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Туруктуу VPN\'дин DNS серверинин даректери сандардан турушу керек"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Киргизилген маалымат дайым иштеген VPN кызматына дал келбейт"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Жок"</string>
<string name="vpn_done" msgid="5137858784289564985">"Этибарга албоо"</string>
@@ -2784,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN\'сиз туташууларга тыюу салуу"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN туташуусу талап кылынсынбы?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Коопсуз эмес. IKEv2 VPN\'ге жаңыртыңыз."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Дайым туташып туруучу VPN профайл тандаңыз. Бул VPN\'ге кошулганда гана желе трафигине уруксат берилет."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Эч бир"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Туруктуу VPN тармагы жана DNS сервери үчүн IP даректи көрсөтүңүз."</string>
@@ -3341,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Билдирме толугу менен көрүнөт"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Купуя маалымат экран ачылганда гана көрүнөт"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Билдирмелер такыр көрүнбөйт"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Билдирмелер кулпуланган экранда кандай көрүнөт?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Кулпуланган экранда эмнелер көрүнсүн?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Кулпуланган экран"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Жумуш билдирмелери толугу менен көрүнөт"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Жумушка байланыштуу купуя нерселер жашырылат"</string>
@@ -3830,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Бардык файлдарды башкарууга уруксат берүү"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Бул колдонмого түзмөктөгү жана башка байланышкан сактагычтардагы бардык файлдарды көрүп, өзгөртүп жана өчүрүүгө уруксат бересизби? Колдонмо файлдарды сизге айтпай пайдалана алат."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Бардык файлдарга мүмкүнчүлүк бар"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Үн менен иштетилген колдонмолор"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Үндү иштетүүгө уруксат берүү"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Ырасталган колдонмолорду үн буйругу менен иштете аласыз. Куралган адаптивдик таануу тутумунун жардамы менен маалыматтар сизге гана жеткиликтүү болот.\n\n"<a href="">"Коопсуз адаптивдик таануу тууралуу кеңири маалымат"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Толук экрандагы билдирмелер"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Бул колдонмого толук экрандагы билдирмелерди көрсөтүүгө уруксат берүү"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Бул колдонмого түзмөк кулпуланып турганда толук экрандагы билдирмелерди көрсөтүүгө уруксат бериңиз. Колдонмолор муну ойготкучтарды, кирүүчү чалууларды же башка шашылыш билдирмелерди көрсөтүү үчүн колдонушат."</string>
@@ -3993,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> батареяны фондо адаттагыдан көбүрөөк колдонду"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> батареяны активдүү режимде көбүрөөк колдонду"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> батареяны активдүү режимде адаттагыдан көбүрөөк колдонду"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Батарея адаттан тышкары колдонулуп жатат"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Батарея көбүрөөк колдонулууда."</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Батарея фондо көбүрөөк колдонулууда"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Батарея активдүү режимде көбүрөөк колдонулууда"</string>
@@ -4090,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"тутум чабыттоосу, 2 баскыч менен чабыттоо, 3 баскыч менен чабыттоо, жаңсап чабыттоо, экранды сүрүп коюу"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Санариптик жардамчы"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Жардамчыны күйгүзүү үчүн экранды сүрүп коюу"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Санариптик жардамчы колдонмосун иштетүү үчүн экрандын төмөнкү бурчун жогору карай сүрүп коюңуз."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Санариптик жардамчы колдонмосун иштетүү үчүн экрандын төмөнкү бурчун жогору карай сүрүп коюңуз"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Жардамчыны күйгүзүү үчүн Башкы бет баскычын басып туруңуз"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Санариптик жардамчы колдонмосун күйгүзүү үчүн Башкы бет баскычын басып туруңуз."</string>
<string name="low_label" msgid="6525629096999711220">"Төмөн"</string>
@@ -4943,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Грамматикалык жакты тандаңыз"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Алдамчы колдонмолор изделүүдө"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Колдонмолордо жасалган аракеттерде фишингди текшерүү"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Скандоону колдонуу"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Жумуш колдонмолору үчүн скандоону колдонуу"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Алдамчы колдонмолорду издөө"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Алдамчы жумуш колдонмолорун издөө"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index d829637..647ba6c 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -22,7 +22,9 @@
<dimen name="notif_channel_panel_max_height">300dp</dimen>
<!-- Text Reading Settings -->
- <dimen name="text_reading_preview_padding_start">64dp</dimen>
- <dimen name="text_reading_preview_padding_end">64dp</dimen>
- <dimen name="text_reading_preview_background_padding_horizontal">72dp</dimen>
+ <dimen name="text_reading_preview_layout_padding_horizontal_min">64dp</dimen>
+ <dimen name="text_reading_preview_background_padding_horizontal_min">72dp</dimen>
+
+ <dimen name="text_reading_preview_layout_padding_horizontal_min_suw">24dp</dimen>
+ <dimen name="text_reading_preview_background_padding_horizontal_min_suw">24dp</dimen>
</resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 86444bf..f579d71 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"ປາກກາ"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ການແບ່ງປັນສຽງ"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ແບ່ງປັນສຽງ"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ການໂທ ແລະ ແຈ້ງປຸກ"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"ເຊື່ອມຕໍ່ກັບການສະຕຣີມສຽງ LE"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"ການສະຕຣີມສຽງທີ່ຢູ່ໃກ້ຄຽງ"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"ການສະຕຣີມສຽງ"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"ເຊື່ອມຕໍ່ກັບການສະຕຣີມສຽງໂດຍໃຊ້ລະຫັດ QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"ບໍ່ພົບການສະຕຣີມສຽງທີ່ຢູ່ໃກ້ຄຽງ."</string>
<string name="date_and_time" msgid="1788358029823431692">"ວັນທີ ແລະ ເວລາ"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"ພຣັອກຊີ"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"ລຶບ"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
<string name="private_space_title" msgid="7078627930195569767">"ພື້ນທີ່ສ່ວນຕົວ"</string>
<string name="private_space_summary" msgid="8237652417163408001">"ເຊື່ອງແອັບໄວ້ໃນໂຟນເດີສ່ວນຕົວ"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"ປົດລັອກໂດຍໃຊ້ການລັອກໜ້າຈໍ"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"ເຊື່ອງແອັບໄວ້ໃນໂຟນເດີສ່ວນຕົວທີ່ທ່ານເທົ່ານັ້ນສາມາດເຂົ້າເຖິງໄດ້"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"ການລັອກພື້ນທີ່ສ່ວນຕົວ"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"ທ່ານສາມາດປົດລັອກພື້ນທີ່ສ່ວນຕົວໄດ້ໂດຍໃຊ້ວິທີດຽວກັນກັບທີ່ທ່ານປົດລັອກອຸປະກອນຂອງທ່ານ ຫຼື ເລືອກການລັອກອື່ນ"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ໃຊ້ການລັອກໜ້າຈໍອຸປະກອນ"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"ປົດລັອກດ້ວຍໃບໜ້າ ແລະ ລາຍນິ້ວມື"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"ແຕະເພື່ອຕັ້ງຄ່າ"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ຄືກັນກັບການລັອກໜ້າຈໍອຸປະກອນ"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"ເລືອກການລັອກໃໝ່ສຳລັບພື້ນທີ່ສ່ວນຕົວບໍ?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"ເຊື່ອງເມື່ອລັອກໄວ້"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"ເຊື່ອງພື້ນທີ່ສ່ວນຕົວເມື່ອລັອກໄວ້"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ເພື່ອບໍ່ໃຫ້ຄົນອື່ນຮູ້ວ່າພື້ນທີ່ສ່ວນຕົວຢູ່ໃນອຸປະກອນຂອງທ່ານ, ທ່ານສາມາດເຊື່ອງມັນຈາກລາຍຊື່ແອັບຂອງທ່ານໄດ້"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"ເຂົ້າເຖິງພື້ນທີ່ສ່ວນຕົວເມື່ອເຊື່ອງໄວ້"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"ຊອກຫາ \'ພື້ນທີ່ສ່ວນຕົວ\' ໃນແຖບຊອກຫາ"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ແຕະແຜ່ນພື້ນທີ່ສ່ວນຕົວ"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"ປົດລັອກພື້ນທີ່ສ່ວນຕົວຂອງທ່ານ"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ປິດຢູ່"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ເປີດຢູ່"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"ລະບົບ"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"ສ້າງພື້ນທີ່ສ່ວນຕົວ"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"ລຶບພື້ນທີ່ສ່ວນຕົວອອກ"</string>
- <string name="private_space_created" msgid="2978055968937762232">"ສ້າງພື້ນທີ່ສ່ວນຕົວສຳເລັດແລ້ວ"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"ມີພື້ນທີ່ສ່ວນຕົວຢູ່ແລ້ວ"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"ບໍ່ສາມາດສ້າງພື້ນທີ່ສ່ວນຕົວໄດ້"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"ລຶບພື້ນທີ່ສ່ວນຕົວອອກສຳເລັດແລ້ວ"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"ບໍ່ສາມາດລຶບພື້ນທີ່ສ່ວນຕົວອອກໄດ້"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"ຕັ້ງການລັອກໜ້າຈໍ"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"ຕັ້ງການລັອກໜ້າຈໍຢູ່ອຸປະກອນນີ້ເພື່ອໃຊ້ພື້ນທີ່ສ່ວນຕົວ."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"ຕັ້ງການລັອກໜ້າຈໍ"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"ຍົກເລີກ"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"ຍົກເລີກ"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"ຕັ້ງຄ່າ"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"ຕັ້ງຄ່າພື້ນທີ່ສ່ວນຕົວ"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"ເຊື່ອງແອັບສ່ວນຕົວໃນພື້ນທີ່ປອດໄພທີ່ມີແຕ່ທ່ານເທົ່ານັ້ນທີ່ສາມາດເຂົ້າເຖິງໄດ້"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"ມັນເຮັດວຽກແນວໃດ"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"ທ່ານສາມາດເຂົ້າເຖິງພື້ນທີ່ສ່ວນຕົວໄດ້ຈາກລຸ່ມສຸດຂອງລາຍຊື່ແອັບຂອງທ່ານ"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"ແອັບໃນພື້ນທີ່ສ່ວນຕົວໄດ້ຮັບການປົກປ້ອງໂດຍການລັອກ"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"ການແຈ້ງເຕືອນຈາກແອັບໃນພື້ນທີ່ສ່ວນຕົວຈະຖືກເຊື່ອງໄວ້ເມື່ອມັນຖືກລັອກໄວ້"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"ແອັບພື້ນທີ່ສ່ວນຕົວຈະບໍ່ປາກົດໃນຕົວຈັດການສິດອະນຸຍາດ, ແຜງໜ້າປັດຄວາມເປັນສ່ວນຕົວ ແລະ ການຕັ້ງຄ່າອື່ນໆເມື່ອພື້ນທີ່ສ່ວນຕົວຖືກລັອກໄວ້"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"ກຳລັງຕັ້ງຄ່າພື້ນທີ່ສ່ວນຕົວ…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"ຂໍ້ມູນການນຳໃຊ້ສຳລັບແອັບພື້ນທີ່ສ່ວນຕົວຖືກເຊື່ອງໄວ້ເມື່ອມັນຖືກລັອກໄວ້"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"ເຂົ້າເຖິງພື້ນທີ່ສ່ວນຕົວຈາກລາຍຊື່ແອັບຂອງທ່ານ"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"ບໍ່ສາມາດຕັ້ງຄ່າພື້ນທີ່ສ່ວນຕົວໄດ້"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"ລອງຕອນນີ້ ຫຼື ກັບຄືນມາພາຍຫຼັງ"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"ລອງໃໝ່"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"ໃຊ້ການລັອກໜ້າຈໍເພື່ອປົດລັອກບໍ?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"ທ່ານສາມາດປົດລັອກພື້ນທີ່ສ່ວນຕົວດ້ວຍວິທີດຽວກັນກັບທີ່ທ່ານປົດລັອກອຸປະກອນຂອງທ່ານ ຫຼື ເລືອກລັອກອື່ນໄດ້"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"ໃຊ້ການລັອກໜ້າຈໍ"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"ເລືອກລັອກໃໝ່"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"ຮຽບຮ້ອຍໝົດແລ້ວ!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"ແລ້ວໆ"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"ເລື່ອນລົງເພື່ອເຂົ້າເຖິງພື້ນທີ່ສ່ວນຕົວ"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"ເຂົ້າສູ່ລະບົບເພື່ອຕັ້ງຄ່າພື້ນທີ່ສ່ວນຕົວ"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"ທ່ານຕ້ອງເຂົ້າສູ່ລະບົບບັນຊີເພື່ອຕັ້ງຄ່າພື້ນທີ່ສ່ວນຕົວ"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"ເພື່ອສະແດງພື້ນທີ່ສ່ວນຕົວ (ບໍ່ແມ່ນ UX ສຸດທ້າຍ)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"ເປີດແອັບການຕັ້ງຄ່າ"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"ແຕະໃສ່ຄວາມປອດໄພ ແລະ ຄວາມເປັນສ່ວນຕົວ > ພື້ນທີ່ສ່ວນຕົວ > ເຊື່ອງພື້ນທີ່ສ່ວນຕົວເມື່ອລັອກໄວ້"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"ປິດປຸ່ມສະຫຼັບການເຊື່ອງພື້ນທີ່ສ່ວນຕົວເມື່ອລັອກໄວ້"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"ໝາຍເຫດເຖິງ Googlers: ຄຸນສົມບັດນີ້ຍັງຢູ່ລະຫວ່າງການພັດທະນາ"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"ທ່ານສາມາດເພີ່ມບໍ່ເກີນ <xliff:g id="COUNT">%d</xliff:g> ລາຍນີ້ວມື"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"You’ve added the maximum number of fingerprints"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Can’t add more fingerprints"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"ເຊື່ອມຕໍ່"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ຕັດການເຊື່ອມຕໍ່"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ຈັບຄູ່ ແລະ ເຊື່ອມຕໍ່"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ເມື່ອ Bluetooth ຖືກເປີດນຳໃຊ້, ອຸປະກອນຂອງທ່ານຈະສາມາດສື່ສານກັບອຸປະກອນ Bluetooth ອື່ນທີ່ຢູ່ໃກ້ຄຽງໄດ້."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ເມື່ອເປີດ Bluetooth, ອຸປະກອນຂອງທ່ານສາມາດສື່ສານກັບອຸປະກອນ Bluetooth ອື່ນໆທີ່ຢູ່ໃກ້ຄຽງໄດ້."</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ເມື່ອເປີດໃຊ້ Bluetooth ແລ້ວ, ອຸປະກອນຂອງທ່ານຈະສາມາດສື່ສານກັບອຸປະກອນ Bluetooth ອື່ນທີ່ຢູ່ໃກ້ຄຽງໄດ້.\n\nເພື່ອປັບປຸງປະສົບການການນຳໃຊ້ອຸປະກອນ, ແອັບ ແລະ ບໍລິການຕ່າງໆຈະຍັງສາມາດສະແກນຫາອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງໄດ້ທຸກເວລາ, ເຖິງແມ່ນວ່າຈະປິດ Bluetooth ໄວ້ກໍຕາມ. ການຕັ້ງຄ່ານີ້ໃຊ້ເພື່ອເຮັດສິ່ງຕ່າງໆ ຕົວຢ່າງ: ໃຊ້ເພື່ອປັບປຸງຄຸນສົມບັດ ແລະ ບໍລິການທີ່ອ້າງອີງສະຖານທີ່ໄດ້. ທ່ານສາມາດປ່ຽນຕົວເລືອກນີ້ໄດ້ໃນການຕັ້ງຄ່າການສະແກນ Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"ປ່ຽນ"</string>
<string name="device_details_title" msgid="1155622417516195481">"ລາຍລະອຽດອຸປະກອນ"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ອະນຸຍາດໃຫ້ ART ຢັ້ງຢືນ bytecode ສຳລັບແອັບທີ່ດີບັກໄດ້"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"ສະແດງອັດຕາການຣີເຟຣຊ"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"ສະແດງອັດຕາການຣີເຟຣຊໜ້າຈໍປັດຈຸບັນ"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"ສະແດງອັດຕາສ່ວນ HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"ສະແດງອັດຕາສ່ວນ HDR/SDR ປັດຈຸບັນ"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"ຕ້ອງປົດລັອກອຸປະກອນສຳລັບ NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"ສືບຕໍ່ໃຊ້ແອັບເມື່ອພັບຢູ່"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"ເພີ່ມອັດຕາການຣີເຟຣຊສູງສຸດເຖິງ <xliff:g id="ID_1">%1$d</xliff:g> Hz ສຳລັບບາງເນື້ອຫາໂດຍອັດຕະໂນມັດ. ຈະໃຊ້ແບັດເຕີຣີຫຼາຍຂຶ້ນ."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ບັງຄັບອັດຕາຣີເຟຣຊສູງສຸດ"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"ອັດຕາຣີເຟຣດສູງສຸດເພື່ອປັບປຸງການຕອບສະໜອງການສຳຜັດ ແລະ ຄຸນນະພາບອະນິເມຊັນ. ເພີ່ມການນຳໃຊ້ແບັດເຕີຣີ."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"ການເອົາໃຈໃສ່ໜ້າຈໍ"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"ການຕັ້ງຄ່າສ່ວນກາງ"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"ແກ້ໄຂຈຸດການເຊື່ອມຕໍ່"</string>
+ <string name="apn_add" msgid="9069613192201630934">"ເພີ່ມຈຸດເຂົ້າເຖິງ"</string>
<string name="apn_not_set" msgid="8246646433109750293">"ຍັງບໍ່ໄດ້ຕັ້ງ"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"ຍັງບໍ່ໄດ້ຕັ້ງ"</string>
<string name="apn_name" msgid="6677695784108157953">"ຊື່"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ໃຊ້ປຸ່ມການຊ່ວຍເຂົ້າເຖິງເພື່ອເປີດ"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"ກົດປຸ່ມລະດັບສຽງຄ້າງໄວ້ເພື່ອເປີດ"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ແຕະໜ້າຈໍສາມເທື່ອເພື່ອເປີດ"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"ແຕະໜ້າຈໍສາມເທື່ອດ້ວຍສອງນິ້ວເພື່ອເປີດ"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ໃຊ້ທ່າທາງເພື່ອເປີດ"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ໃຊ້ທ່າທາງການຊ່ວຍເຂົ້າເຖິງ"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ເພື່ອໃຊ້ຄຸນສົມບັດນີ້, ໃຫ້ແຕະໃສ່ປຸ່ມການຊ່ວຍເຂົ້າເຖິງ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ຢູ່ລຸ່ມສຸດຂອງໜ້າຈໍທ່ານ.\n\nເພື່ອສະຫຼັບລະຫວ່າງຄຸນສົມບັດ, ໃຫ້ແຕະໃສ່ປຸ່ມການຊ່ວຍເຂົ້າເຖິງຄ້າງໄວ້."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ເພື່ອໃຊ້ຄຸນສົມບັດນີ້, ໃຫ້ແຕະປຸ່ມການຊ່ວຍເຂົ້າເຖິງຢູ່ໜ້າຈໍທ່ານ."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ເພື່ອໃຊ້ຄຸນສົມບັດນີ້, ໃຫ້ກົດປຸ່ມລະດັບສຽງທັງສອງຄ້າງໄວ້."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ເພື່ອເລີ່ມ ແລະ ຢຸດການຂະຫຍາຍຂອງທ່ານ, ໃຫ້ແຕະສາມເທື່ອໃສ່ບ່ອນໃດກໍໄດ້ຢູ່ໜ້າຈໍທ່ານ."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"ເພື່ອເລີ່ມຕົ້ນ ແລະ ຢຸດການຂະຫຍາຍ, ໃຫ້ແຕະສາມເທື່ອບ່ອນໃດກໍໄດ້ຢູ່ໜ້າຈໍຂອງທ່ານດ້ວຍສອງນິ້ວ."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ເພື່ອໃຊ້ຄຸນສົມບັດນີ້, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍ 2 ນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງຄຸນສົມບັດ, ໃຫ້ປັດຂຶ້ນດ້ວຍ 2 ນິ້ວຄ້າງໄວ້."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ເພື່ອໃຊ້ຄຸນສົມບັດນີ້, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍ 3 ນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງຄຸນສົມບັດ, ໃຫ້ປັດຂຶ້ນດ້ວຍ 3 ນິ້ວຄ້າງໄວ້."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ເພື່ອໃຊ້ຄຸນສົມບັດການຊ່ວຍເຂົ້າເຖິງ, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍ 2 ນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງຄຸນສົມບັດ, ໃຫ້ປັດຂຶ້ນດ້ວຍ 2 ນິ້ວຄ້າງໄວ້."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ກົດປຸ່ມລະດັບສຽງຄ້າງໄວ້"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ກົດປຸ່ມລະດັບສຽງຄ້າງໄວ້"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ກົດປຸ່ມລະດັບສຽງທັງສອງຄ້າງໄວ້"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"ແຕະໜ້າຈໍສາມເທື່ອດ້ວຍສອງນິ້ວ"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ແຕະໜ້າຈໍສາມເທື່ອດ້ວຍສອງນິ້ວ"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"ແຕະໜ້າຈໍຢ່າງວ່ອງໄວ {0,number,integer} ເທື່ອດ້ວຍສອງນິ້ວ"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ແຕະໃສ່ໜ້າຈໍສາມເທື່ອ"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ແຕະໃສ່ໜ້າຈໍສາມເທື່ອ"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ແຕະໜ້າຈໍໄວໆ {0,number,integer} ເທື່ອ. ທາງລັດນີ້ອາດເຮັດໃຫ້ອຸປະກອນຂອງທ່ານຊ້າລົງ"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ມັນສາມາດຕິດຕາມການໂຕ້ຕອບຂອງທ່ານກັບແອັບ ຫຼື ເຊັນເຊີຮາດແວໃດໜຶ່ງ ແລະ ໂຕ້ຕອບກັບແອັບໃນນາມຂອງທ່ານໄດ້."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ອະນຸຍາດ"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ປະຕິເສດ"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"ຢຸດ"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ຍົກເລີກ"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"ຢຸດການເຮັດວຽກຂອງ <xliff:g id="SERVICE">%1$s</xliff:g> ບໍ່?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"ການແຕະ <xliff:g id="STOP">%1$s</xliff:g> ຈະຢຸດ <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"ບໍ່ມີບໍລິການຖືກຕິດຕັ້ງເທື່ອ"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"ບໍ່ໄດ້ເລືອກບໍລິການເທືື່ອ"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"ບໍ່ມີລາຍລະອຽດລະບຸໄວ້."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ຫາກທ່ານຈຳກັດການເຄື່ອນໄຫວໃນພື້ນຫຼັງສຳລັບແອັບໃດໜຶ່ງ, ມັນຈະເຮັດວຽກຜິດປົກກະຕິ"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ເນື່ອງຈາກແອັບນີ້ຍັງບໍ່ໄດ້ປັບແຕ່ງໃຫ້ໃຊ້ແບັດເຕີຣີໄດ້ຢ່າງເໝາະສົມເທື່ອ, ທ່ານຈຶ່ງບໍ່ສາມາດຈຳກັດມັນໄດ້.\n\nເພື່ອຈຳກັດແອັບດັ່ງກ່າວ, ໃຫ້ເປີດການປັບແຕ່ງແບັດເຕີຣີໃຫ້ເໝາະສົມກ່ອນ."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ຈັດການການໃຊ້ແບັດເຕີຣີ"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"ອະນຸຍາດການນຳໃຊ້ໃນພື້ນຫຼັງ"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ເປີດການນຳໃຊ້ເພື່ອໃຫ້ອັບເດດແບບສົດໆ, ປິດການນຳໃຊ້ເພື່ອປະຢັດແບັດເຕີຣີ"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ບໍ່ຈຳກັດ"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ປັບໃຫ້ເໝາະສົມ"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ຈຳກັດ"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"ຊື່"</string>
<string name="vpn_type" msgid="5533202873260826663">"ປະເພດ"</string>
<string name="vpn_server" msgid="2908816134941973935">"ທີ່ຢູ່ເຊີບເວີ"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"ການເຂົ້າລະຫັດ PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"ຂໍ້ມູນລັບ L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"ໂຕລະບຸ IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"ກະແຈ IPSec ທີ່ແບ່ງປັນລ່ວງໜ້າ"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"ໃບຮັບຮອງຜູ່ໃຊ້ IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"ໃບຮັບຮອງ IPSec CA"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"ໃບຮັບຮອງເຊີບເວີ IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"ສະແດງຕົວເລືອກຂັ້ນສູງ"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"ໂດເມນຊອກຫາ DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"ເຊີບເວີ DNS (ເຊັ່ນ: 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"ເສັ້ນທາງການສົ່ງຕໍ່ (ເຊັ່ນ: 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"ຊື່ຜູ້ໃຊ້"</string>
<string name="vpn_password" msgid="1183746907642628127">"ລະຫັດຜ່ານ"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"ບັນທຶກຂໍ້ມູນບັນຊີ"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ບໍ່ໄດ້ໃຊ້)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ບໍ່ຕ້ອງພິສູດເຊີບເວີ)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(ໄດ້ຮັບຈາກເຊີບເວີ)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"VPN ປະເພດນີ້ບໍ່ສາມາດເຊື່ອມຕໍ່ຕະຫຼອດເວລາໄດ້"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN ແບບເປີດຕະຫຼອດຮອງຮັບສະເພາະທີ່ຢູ່ເຊີບເວີແບບຕົວເລກເທົ່ານັ້ນ"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ຈະຕ້ອງລະບຸເຊີບເວີ DNS ສຳລັບ VPN ແບບເປີດຕະຫຼອດ"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"ທີ່ຢູ່ເຊີບເວີ DNS ຈະຕ້ອງເປັນຕົວເລກສຳລັບ VPN ແບບເປີດຕະຫຼອດ"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ຂໍ້ມູນທີ່ລະບຸມານັ້ນບໍ່ຮອງຮັບ VPN ແບບເປີດຕະຫຼອດ"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"ຍົກເລີກ"</string>
<string name="vpn_done" msgid="5137858784289564985">"ປິດໄວ້"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"ບລັອກການເຊື່ອມຕໍ່ໂດຍບໍ່ໃຊ້ VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"ຮ້ອງຂໍການເຊື່ອມຕໍ່ VPN ບໍ?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"ບໍ່ປອດໄພ. ອັບເດດເປັນ IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"ເລືອກໂປຣໄຟລ໌ VPN ເພື່ອໃຫ້ເຊື່ອມຕໍ່ຕະຫຼອດເວລາ. ການຈະລາຈອນໃນເຄືອຂ່າຍ ຈະໄດ້ຮັບອະນຸຍາດສະເພາະເມື່ອເຊື່ອມຕໍ່ຜ່ານ VPN ນີ້ເທົ່ານັ້ນ."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"ບໍ່ມີ"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN ທີ່ເປີດໃຊ້ຕະຫຼອດເວລາຕ້ອງມີທີ່ຢູ່ IP ສຳລັບທັງເຊີບເວີ ແລະ DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"ສະແດງເນື້ອຫາການແຈ້ງເຕືອນທັງໝົດ"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"ສະແດງເນື້ອຫາທີ່ລະອຽດອ່ອນສະເພາະຕອນປົດລັອກແລ້ວ"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ບໍ່ສະແດງການແຈ້ງເຕືອນເລີຍ"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ທ່ານຢາກໃຫ້ສະແດງຂໍ້ມູນຫຍັງໃນໜ້າຈໍລັອກ?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ທ່ານຕ້ອງການໃຫ້ໜ້າຈໍລັອກຂອງທ່ານສະແດງຫຍັງ?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ໜ້າຈໍລັອກ"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"ສະແດງເນື້ອຫາການແຈ້ງເຕືອນວຽກທັງໝົດ"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"ເຊື່ອງເນື້ອຫາວຽກທີ່ລະອຽດອ່ອນ"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"ອະນຸຍາດການເຂົ້າເຖິງເພື່ອຈັດການໄຟລ໌ທັງໝົດ"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ອະນຸຍາດໃຫ້ແອັບນີ້ອ່ານ, ແກ້ໄຂ ແລະ ລຶບໄຟລ໌ທັງໝົດຢູ່ອຸປະກອນນີ້ ຫຼື ບ່ອນຈັດເກັບຂໍ້ມູນໃດກໍຕາມທີ່ເຊື່ອມຕໍ່ໄວ້. ຫາກໄດ້ຮັບອະນຸຍາດແລ້ວ, ແອັບຈະສາມາດເຂົ້າເຖິງໄຟລ໌ໂດຍແຈ້ງໃຫ້ທ່ານຮັບຮູ້ຢ່າງຈະແຈ້ງໄດ້."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"ສາມາດເຂົ້າເຖິງໄຟລ໌ທັງໝົດ"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"ແອັບການເປີດນຳໃຊ້ດ້ວຍສຽງ"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ອະນຸຍາດການເປີດນຳໃຊ້ດ້ວຍສຽງ"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ການເປີດນຳໃຊ້ດ້ວຍສຽງຈະເປີດແອັບທີ່ໄດ້ຮັບອະນຸມັດແບບແຮນຟຣີໂດຍໃຊ້ຄຳສັ່ງສຽງ. ການກວດຈັບແບບປັບອັດຕະໂນມັດໃນຕົວຊ່ວຍໃຫ້ໝັ້ນໃຈໄດ້ວ່າຂໍ້ມູນຈະເປັນສ່ວນຕົວສຳລັບທ່ານເທົ່ານັ້ນ.\n\n"<a href="">"ຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການກວດຈັບແບບປັບອັດຕະໂນມັດທີ່ມີການປ້ອງກັນ"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"ການແຈ້ງເຕືອນແບບເຕັມຈໍ"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"ອະນຸຍາດໃຫ້ແອັບນີ້ສະແດງການແຈ້ງເຕືອນແບບເຕັມຈໍ"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ອະນຸຍາດໃຫ້ແອັບນີ້ສະແດງການແຈ້ງເຕືອນແບບເຕັມຈໍເມື່ອອຸປະກອນລັອກຢູ່. ແອັບອາດໃຊ້ການແຈ້ງເຕືອນເຫຼົ່ານີ້ເພື່ອໄຮໄລ້ໂມງປຸກ, ສາຍໂທເຂົ້າ ຫຼື ການແຈ້ງເຕືອນສຸກເສີນອື່ນໆ."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ໃຊ້ແບັດເຕີຣີຫຼາຍກວ່າປົກກະຕິໃນລະຫວ່າງທີ່ເຮັດວຽກພື້ນຫຼັງ"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ໃຊ້ແບັດເຕີຣີຫຼາຍຂຶ້ນໃນລະຫວ່າງທີ່ເຮັດວຽກເບື້ອງໜ້າ"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ໃຊ້ແບັດເຕີຣີຫຼາຍກວ່າປົກກະຕິໃນລະຫວ່າງທີ່ເຮັດວຽກເບື້ອງໜ້າ"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ການໃຊ້ແບັດເຕີຣີຜິດປົກກະຕິ"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"ການໃຊ້ແບັດເຕີຣີສູງ"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ການໃຊ້ແບັດເຕີຣີສູງໃນພື້ນຫຼັງ"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ການໃຊ້ແບັດເຕີຣີສູງໃນເບື້ອງໜ້າ"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"ການນຳທາງລະບົບ, ການນຳທາງແບບ 2 ປຸ່ມ, ການນຳທາງແບບ 3 ປຸ່ມ, ການນຳທາງແບບທ່າທາງ, ປັດ"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ຜູ້ຊ່ວຍດິຈິຕອນ"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"ປັດເພື່ອເອີ້ນໃຊ້ຜູ້ຊ່ວຍ"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ປັດຂຶ້ນຈາກມຸມລຸ່ມສຸດເພື່ອເອີ້ນໃຊ້ແອັບຜູ້ຊ່ວຍດິຈິຕອນ."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ປັດຂຶ້ນຈາກມຸມທາງລຸ່ມເພື່ອເອີ້ນໃຊ້ແອັບຜູ້ຊ່ວຍດິຈິຕອນ"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"ກົດປຸ່ມໜ້າຫຼັກສຳລັບຜູ້ຊ່ວຍ"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ກົດປຸ່ມໜ້າຫຼັກຄ້າງໄວ້ເພື່ອເອີ້ນໃຊ້ແອັບຜູ້ຊ່ວຍດິຈິຕອນ."</string>
<string name="low_label" msgid="6525629096999711220">"ຕ່ຳ"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ເລືອກເພດທາງໄວຍາກອນ"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"ການສະແກນຫາແອັບຫຼອກລວງ"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"ກວດສອບການເຄື່ອນໄຫວແອັບສຳລັບການຫຼອກເອົາຂໍ້ມູນ"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"ໃຊ້ການສະແກນ"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"ໃຊ້ການສະແກນສຳລັບແອັບບ່ອນເຮັດວຽກ"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ໃຊ້ການສະແກນຫາແອັບທີ່ຫຼອກລວງ"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ໃຊ້ການສະແກນຫາແອັບທີ່ຫຼອກລວງສຳລັບການເຮັດວຽກ"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 0621e2c..e5ab378 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Rašiklis"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Garso bendrinimas"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Bendrinti garsą"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Skambučiai ir signalai"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Prisijungimas prie „LE Audio“ srauto"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Garso srautai netoliese"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Garso srautai"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Prisijunkite prie garso srauto naudodami QR kodą"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Netoliese nerasta jokių garso srautų."</string>
<string name="date_and_time" msgid="1788358029823431692">"Data ir laikas"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Tarpinis serveris"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Išvalyti"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Darbo profilis"</string>
<string name="private_space_title" msgid="7078627930195569767">"Privati erdvė"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Slėpkite programas privačiame aplanke"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Atrakinimas naudojant ekrano užraktą"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Slėpkite programas privačiame aplanke, kurį galite pasiekti tik jūs"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Privačios erdvės užraktas"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Galite atrakinti privačią erdvę taip pat, kaip atrakinate įrenginį, arba pasirinkti kitą užraktą"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Įrenginio ekrano užrakto naudojimas"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Atrakinimas pagal veidą ir piršto atspaudu"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Palieskite, kad atliktumėte sąranką"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Toks pats kaip įrenginio ekrano užraktas"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Pasirinkti naują privačios erdvės užraktą?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Slėpimas užrakinus"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Užrakintos privačios erdvės slėpimas"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Jei nenorite, kad kiti žmonės žinotų, jog privati erdvė yra jūsų įrenginyje, galite slėpti ją programų sąraše"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Prieiga prie paslėptos privačios erdvės"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Ieškokite pagal užklausą „Privati erdvė“ paieškos juostoje"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Palieskite privačios erdvės pavadinimą"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Atrakinti privačią erdvę"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Išjungti"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Įjungti"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Privačios erdvės kūrimas"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Privačios erdvės ištrynimas"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Privati erdvė sėkmingai sukurta"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Privati erdvė jau sukurta"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Nepavyko sukurti privačios erdvės"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Privati erdvė sėkmingai ištrinta"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Nepavyko ištrinti privačios erdvės"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Nustatykite ekrano užraktą"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Jei norite naudoti privačią erdvę, nustatykite ekrano užraktą šiame įrenginyje."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Ekrano užrakto nustatymas"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Atšaukti"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Atšaukti"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Nustatyti"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Privačios erdvės nustatymas"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Slėpkite privačias programas saugioje erdvėje, kurią galite pasiekti tik jūs"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Kaip tai veikia"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Privačią erdvę galite pasiekti iš programų sąrašo apačios"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Programos privačioje erdvėje saugomos jas užrakinant"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Pranešimai iš programų privačioje erdvėje slepiami, kai ji užrakinta"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Privačios erdvės programos nebus rodomos leidimų tvarkytuvėje, privatumo informacijos suvestinėje ir kituose nustatymuose, kai privati erdvė bus užrakinta"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Nustatoma privati erdvė…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Privačios erdvės programų naudojimo informacija paslėpta, kai užrakinta"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Prieiga prie privačios erdvės iš programų sąrašo"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Nepavyko nustatyti privačios erdvės"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Bandykite dar kartą dabar arba grįžkite vėliau"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Bandyti dar kartą"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Naudoti ekrano užraktą norint atrakinti?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Galite atrakinti privačią erdvę taip pat, kaip atrakinate įrenginį, arba pasirinkti kitą užraktą"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Naudoti ekrano užraktą"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Pasirinkti naują užraktą"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Viskas nustatyta!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Atlikta"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Slinkite žemyn, kad pasiektumėte privačią erdvę"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Privačios erdvės nustatymas prisijungus"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Norint nustatyti privačią erdvę, reikia prisijungti prie paskyros"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Norint rodyti privačią erdvę (ne galutinė NP)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Atidarykite Nustatymų programą"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Palieskite „Sauga ir privatumas“ > „Privati erdvė“ > „Užrakintos privačios erdvės slėpimas“"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Išjunkite jungiklį „Užrakintos privačios erdvės slėpimas“"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Pastaba „Google“ darbuotojams: ši funkcija vis dar kuriama"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Galite pridėti iki <xliff:g id="COUNT">%d</xliff:g> piršto ats."</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Pridėjote maksimalų skaičių kontrolinių kodų"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Negalima pridėti daugiau kontrolinių kodų"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Prijungti"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Atjungti"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Susieti ir jungti"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kai „Bluetooth“ įj., įreng. gali užm. ryšį su kitais netoliese esančiais „Bluetooth“ įreng."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kai „Bluetooth“ įj., įreng. gali užm. ryšį su kitais netoliese esančiais „Bluetooth“ įreng."</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kai „Bluetooth“ įjungtas, įrenginys gali užmegzti ryšį su kitais netoliese esančiais „Bluetooth“ įrenginiais.\n\nKad pagerintų įrenginio funkcijas, programos ir paslaugos vis tiek gali bet kada nuskaityti ieškodamos netoliese esančių įrenginių, net kai „Bluetooth“ išjungtas. Tai galima naudoti norint, pvz., tobulinti pagal vietovę teikiamas funkcijas ir paslaugas. Tai galite pakeisti „Bluetooth“ nuskaitymo nustatymuose."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Keisti"</string>
<string name="device_details_title" msgid="1155622417516195481">"Išsami įrenginio info."</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Leisti ART patvirtinti derinamų programų baitinę programą"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Rodyti atnaujinimo dažnį"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Rodyti dabartinio vaizdo atnaujinimo dažnį"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Rodyti HDR / SDR santykį"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Rodyti dabartinį HDR / SDR santykį"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Norint naudoti NFC reikia panaikinti įrenginio operatoriaus pasirinkimo ribojimą"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Toliau naudoti programas, kai įrenginys sulenktas"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Ekrano glodinimas"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatiškai padidinamas kai kurio turinio atnaujinimo dažnis iki <xliff:g id="ID_1">%1$d</xliff:g> Hz. Vartojama daugiau akumuliatoriaus energijos."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Priverstinai nustatyti didžiausią atnaujinimo dažnį"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Didžiausias atnaujinimo dažnis, siekiant patobulinti palietimo atsakomumą ir animacijos kokybę. Vartojama daugiau akumuliatoriaus energijos."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Žiūrėjimas į ekraną"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Bendruomenės nustatymai"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Redaguoti prieigos tašką"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Prieigos taško pridėjimas"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nenustatyta"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nenustatyta"</string>
<string name="apn_name" msgid="6677695784108157953">"Pavadinimas"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Naudokite pritaikomumo mygtuką, kad atidarytumėte"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Norėdami atidaryti, palaikykite garsumo klavišus"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Norėdami atidaryti, triskart palieskite ekraną"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Atidarymas palietus ekraną tris kartus dviem pirštais"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Naudokite gestą, kad atidarytumėte"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Pritaikomumo gesto naudojimas"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Norėdami naudoti šią funkciją, ekrano apačioje palieskite pritaikomumo mygtuką <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nJei norite perjungti funkcijas, palieskite ir palaikykite pritaikomumo mygtuką."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Jei norite naudoti šią funkciją, palieskite pritaikomumo mygtuką ekrane."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Norėdami naudoti šią funkciją, paspauskite ir palaikykite abu garsumo klavišus."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Norėdami pradėti ar baigti didinti, triskart palieskite bet kur ekrane."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Jei norite pradėti ar baigti didinti, triskart palieskite bet kurioje ekrano vietoje dviem pirštais."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Norėdami naudoti šią funkciją, perbraukite dviem pirštais aukštyn nuo ekrano apačios.\n\nJei norite perjungti funkcijas, perbraukite aukštyn dviem pirštais ir palaikykite."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Norėdami naudoti šią funkciją, perbraukite trimis pirštais aukštyn nuo ekrano apačios.\n\nJei norite perjungti funkcijas, perbraukite aukštyn trimis pirštais ir palaikykite."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Norėdami naudoti pritaikymo neįgaliesiems funkciją, perbraukite dviem pirštais aukštyn nuo ekrano apačios.\n\nJei norite perjungti funkcijas, perbraukite aukštyn dviem pirštais ir palaikykite."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Laikyti garsumo klavišus"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"laikyti garsumo klavišus"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Paspauskite ir palaikykite abu garsumo klavišus"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Ekrano palietimas tris kartus dviem pirštais"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ekrano palietimas tris kartus dviem pirštais"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Greitai palieskite ekraną {0,number,integer} k. dviem pirštais"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekrano palietimas tris kartus"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"triskart paliesti ekraną"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Sparčiai palieskite ekraną {0,number,integer} k. Dėl šio sparčiojo klavišo įrenginys gali veikti lėčiau"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Naudojant šią funkciją galima stebėti jūsų sąveiką su programa ar aparatinės įrangos jutikliu ir sąveikauti su programomis jūsų vardu."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Leisti"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Atmesti"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Sustabdyti"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Atšaukti"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Sustabdyti „<xliff:g id="SERVICE">%1$s</xliff:g>“?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Palietus „<xliff:g id="STOP">%1$s</xliff:g>“ paslauga „<xliff:g id="SERVICE">%2$s</xliff:g>“ bus sustabdyta."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nėra įdiegta jokių paslaugų"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nepasirinkta jokia paslauga"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Nepateikta jokių aprašų."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Jei apribosite programos veiklą fone, ji gali netinkamai veikti"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Negalite apriboti progr., nes ji nenust. optimiz. akum. naud.\n\nJei norite apr. progr., pirmiausia įj. akum. naud. optimiz."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Akumuliatoriaus energijos vartojimo valdymas"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Leisti naudoti fone"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Įgalinkite, kad gautumėte naujienas realiuoju laiku, arba išjunkite, kad tausotumėte akumuliatoriaus energiją"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neapribota"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizuota"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Apribota"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Pavadinimas"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tipas"</string>
<string name="vpn_server" msgid="2908816134941973935">"Serverio adresas"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP šifruotė (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP paslaptis"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"„IPSec“ identifikatorius"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"„IPSec“ iš anksto bendrinamas raktas"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"„IPSec“ naudotojo sertifikatas"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"„IPSec“ CA sertifikatas"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"„IPSec“ serverio sertifikatas"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Rodyti išplėstines parinktis"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS paieškos domenai"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS serveriai (pvz., 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Persiuntimo maršrutai (pvz., 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Naudotojo vardas"</string>
<string name="vpn_password" msgid="1183746907642628127">"Slaptažodis"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Išsaugoti paskyros informaciją"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(nenaudojama)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(nepatvirtinti serverio)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(gauta iš serverio)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Šio tipo VPN negali būti visada įjungtas"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Visada įjungto VPN funkcija palaiko tik skaitinius serverio adresus"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Turi būti nurodytas visada įjungto VPN DNS serveris"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Visada įjungto VPN DNS serverio adresai turi būti sudaryti iš skaičių"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Pagal įvestą informaciją nepalaikomas visada įjungtas VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Atšaukti"</string>
<string name="vpn_done" msgid="5137858784289564985">"Atsisakyti"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blokuoti ryšius be VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Būtinas VPN ryšys?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nesaugu. Atnaujinkite į IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Pasirinkite VPN profilį, kad visada būtumėte prisijungę. Tinklo srautas bus leidžiamas tik prisijungus prie šio VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Joks"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Norint, kad VPN būtų visada įjungtas, reikalingas serverio ir DNS IP adresas."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Rodyti visą pranešimo turinį"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Neskelbtiną turinį rodyti, tik kai atrakinta"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Visiškai nerodyti pranešimų"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kaip norite, kad turinys būtų pateiktas užrakinimo ekrane?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Kas turėtų būti rodoma užrakinimo ekrane?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Užrakinimo ekranas"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Rodyti visą darbo pranešimų turinį"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Slėpti neskelbtiną darbo turinį"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Leisti pasiekti ir tvarkyti visus failus"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Šiai programai leidžiama nuskaityti, keisti ir ištrinti visus failus, esančius šiame įrenginyje ar bet kurioje prijungtoje saugykloje. Jei suteiksite leidimą, programa gali pasiekti failus jūsų tiksliai neinformavus."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Gali pasiekti visus failus"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Suaktyvinimo balsu programos"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Leisti suaktyvinimą balsu"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Aktyvinimo balsu funkcija įjungia patvirtintas programas laisvų rankų režimu naudodama komandą balsu. Integruota prisitaikančio aptikimo funkcija užtikrina, kad duomenis matytumėte tik jūs.\n\n"<a href="">"Daugiau apie apsaugotą prisitaikantį aptikimą"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Pranešimai viso ekrano režimu"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Leisti pranešimus viso ekrano režimu iš šios programos"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Leiskite šiai programai rodyti pranešimus viso ekrano režimu, kai įrenginys užrakintas. Programos gali juos naudoti, kad paryškintų įspėjimus, gaunamuosius skambučius ar kitus skubius pranešimus."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Programa „<xliff:g id="APP_LABEL">%1$s</xliff:g>“ naudojo daugiau akumuliatoriaus energijos nei įprastai veikdama fone"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Programa „<xliff:g id="APP_LABEL">%1$s</xliff:g>“ naudojo daugiau akumuliatoriaus energijos veikdama priekiniame plane"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Programa „<xliff:g id="APP_LABEL">%1$s</xliff:g>“ naudojo daugiau akumuliatoriaus energijos nei įprastai veikdama priekiniame plane"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Akumuliatoriaus energijos vartojimo nukrypimas"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Didelis akumuliatoriaus energijos vartojimas"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Didelis akumuliatoriaus energijos vartojimas fone"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Didelis akumuliatoriaus energijos vartojimas priekiniame plane"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"sistemos naršymas, naršymas 2 mygtukais, naršymas 3 mygtukais, naršymas gestais, perbraukti"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Skaitmeninis pagelbiklis"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Pagelbiklio iškvietimas perbraukus"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Perbraukite aukštyn iš apatinio kampo, kad iškviestumėte skaitmeninio pagelbiklio programą."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Perbraukite aukštyn iš apatinio kampo, kad iškviestumėte skaitmeninio pagelbiklio programą"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Padėjėjo iškvietimas paspaudus pagrindinio ekrano mygtuką"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Jei norite iškviesti skaitmeninio pagelbiklio programą, paspauskite ir palaikykite pagrindinio ekrano mygtuką."</string>
<string name="low_label" msgid="6525629096999711220">"Mažas"</string>
@@ -4961,8 +4946,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Pasirinkite gramatinę giminę"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Nuskaitoma ieškant apgaulingų programų"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Patikrinkite programų aktyvumą dėl sukčiavimo"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Atlikti nuskaitymą"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Atlikti darbo programų nuskaitymą"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Atlikti apgaulingų programų nuskaitymą"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Atlikti apgaulingų darbo programų nuskaitymą"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 178dc39..2a3ae34 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Skārienekrāna pildspalva"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Audio kopīgošana"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Kopīgot audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Zvani un signāli"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Pievienošanās LE audio straumei"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Audio straumes tuvumā"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audio straumes"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Pievienojieties audio straumei, izmantojot kvadrātkodu."</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Tuvumā netika atrastas audio straumes."</string>
<string name="date_and_time" msgid="1788358029823431692">"Datums un laiks"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Starpniekserveris"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Notīrīt"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Darba profils"</string>
<string name="private_space_title" msgid="7078627930195569767">"Privātā mape"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Paslēpiet lietotnes privātā mapē."</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Atbloķēt, izmantojot ekrāna bloķēšanas metodi"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Paslēpiet lietotnes privātā mapē, kurai varēsiet piekļūt tikai jūs."</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Privātās mapes bloķēšana"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Varat atbloķēt privāto mapi tāpat kā ierīci vai izvēlēties citu bloķēšanas metodi."</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Izmantot ierīces ekrāna bloķēšanas metodi"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Autorizācija pēc sejas un pirksta nospieduma"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Pieskarieties, lai iestatītu."</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Tāda pati bloķēšanas metode kā ierīces ekrāna bloķēšanai"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Vai šai mapei izvēlēties jaunu bloķēšanas metodi?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Paslēpšana, kamēr šī mape ir bloķēta"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Privātās mapes paslēpšana, kamēr tā ir bloķēta"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Lai citi nezinātu, ka ierīcē ir privātā mape, varat paslēpt to no lietotņu saraksta."</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Piekļūstiet privātajai mapei, kamēr tā ir paslēpta"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Meklēšanas joslā meklējiet “privātā mape”."</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Pieskarieties elementam “Privātā mape”."</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Atbloķējiet privāto mapi."</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Izslēgta"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Ieslēgta"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistēma"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Izveidot privātu mapi"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Dzēst privāto mapi"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Privātā mape ir sekmīgi izveidota."</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Privātā mape jau pastāv."</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Privāto mapi nevarēja izveidot."</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Privātā mape ir sekmīgi izdzēsta."</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Privāto mapi nevarēja izdzēst."</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Ekrāna bloķēšanas iestatīšana"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Lai izmantotu privāto mapi, iestatiet ekrāna bloķēšanu šajā ierīcē."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Iestatīt ekrāna bloķēšanu"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Atcelt"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Atcelt"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Iestatīt"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Privātās mapes iestatīšana"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Paslēpiet privātas lietotnes drošā vietā, kam varēsiet piekļūt tikai jūs."</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Darbības principi"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Varat piekļūt privātajai mapei lietotņu saraksta apakšdaļā."</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Bloķēšana aizsargā privātajā mapē ievietotās lietotnes."</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Kamēr privātā mape ir bloķēta, paziņojumi no tajā ievietotajām lietotnēm tiek slēpti."</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Kamēr privātā mape ir bloķēta, tajā ievietotās lietotnes netiek rādītas atļauju pārvaldniekā, konfidencialitātes informācijas panelī un citos iestatījumos."</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Notiek privātās mapes iestatīšana…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Lietojuma informācija par privātās mapes lietotnēm tiek slēpta, kamēr mape ir bloķēta"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Varat piekļūt privātajai mapei lietotņu sarakstā"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Nevarēja iestatīt privāto mapi"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Mēģiniet vēlreiz tūlīt vai atgriezieties vēlāk."</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Mēģināt vēlreiz"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Vai atbloķēt ar ekrāna bloķēšanas opciju?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Varat atbloķēt privāto mapi tāpat kā ierīci vai izvēlēties citu bloķēšanas metodi."</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Izmantot ekrāna bloķēšanas opciju"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Izvēlēties jaunu bloķēšanas metodi"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Gatavs!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Gatavs"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Lai piekļūtu privātajai mapei, ritiniet lejup."</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Pierakstieties, lai iestatītu privātu telpu"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Jums ir jāpierakstās kontā, lai iestatītu privāto mapi."</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Privātās mapes rādīšanai (nav galīgā lietotāja pieredze)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Atveriet lietotni Iestatījumi."</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Pieskarieties vienumam Drošība un konfidencialitāte > Privātā mape > Paslēpt privāto mapi, kad tā ir bloķēta."</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Izslēdziet slēdzi “Paslēpt privāto mapi, kad tā ir bloķēta”."</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Piezīme Google darbiniekiem: šī funkcija joprojām tiek izstrādāta."</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Varat pievienot līdz <xliff:g id="COUNT">%d</xliff:g> pirkstu nospiedumiem."</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Jūs esat pievienojis maksimālo pirkstu nospiedumu skaitu."</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nevar pievienot citus pirkstu nospiedumus."</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Izveidot savienojumu"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Atvienot"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Izveidot pāri un savienojumu"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kad Bluetooth ir ieslēgts, ierīce var sazināties ar citām Bluetooth ierīcēm tuvumā."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kad tehnoloģija Bluetooth ir ieslēgta, ierīce var sazināties ar citām tuvumā esošām Bluetooth ierīcēm."</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kad ir ieslēgts Bluetooth savienojums, jūsu ierīce var sazināties ar tuvumā esošām Bluetooth ierīcēm.\n\nLai uzlabotu ierīču izmantošanas iespējas, lietotnes un pakalpojumi var meklēt tuvumā esošas ierīces jebkurā laikā, pat ja Bluetooth savienojums ir izslēgts. Šo iestatījumu var izmantot, piemēram, lai uzlabotu ar atrašanās vietu saistītas funkcijas un pakalpojumus, un to var mainīt Bluetooth meklēšanas iestatījumos."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Mainīt"</string>
<string name="device_details_title" msgid="1155622417516195481">"Ierīces dati"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Atļaut ART verificēt atkļūdojamu lietotņu bitu kodu"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Rādīt atsvaidzin. biežumu"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Rādīt pašreizējo displeja atsvaidzināšanas biežumu"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Rādīt HDR/SDR attiecību"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Rādīt pašreizējo HDR/SDR attiecību"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Pieprasīt ierīces atbloķēšanu tehnoloģijai NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Turpināt izmantot lietotnes, kad ierīce ir salocīta"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Noteikta satura atsvaidzināšanas biežums tiek automātiski palielināts līdz <xliff:g id="ID_1">%1$d</xliff:g> Hz. Tas palielina akumulatora lietojumu."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Piespiedu maksimālais atsvaidzināšanas biežums"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Augstākais atsvaidzināšanas biežums uzlabotai reakcijai uz pieskārienu un labākai animācijas kvalitātei. Tas palielina akumulatora lietojumu."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Atpazīšana ekrānā"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Kopīgie iestatījumi"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Rediģēt piekļuves punktu"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Piekļuves punkta pievienošana"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nav iestatīts"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nav iestatīts"</string>
<string name="apn_name" msgid="6677695784108157953">"Nosaukums"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Pieejamības pogas izmantošana atvēršanai"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Lai atvērtu, turiet nospiestas skaļuma pogas"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Lai atvērtu, trīsreiz pieskarieties ekrānam"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Lai atvērtu, ar diviem pirkstiem trīsreiz pieskarieties ekrānam"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Žesta izmantošana atvēršanai"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Pieejamības žesta izmantošana"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Lai izmantotu šo funkciju, ekrāna apakšdaļā pieskarieties pieejamības pogai <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nLai pārslēgtu funkcijas, pieskarieties pieejamības pogai un turiet to."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Lai izmantotu šo funkciju, pieskarieties ekrānā esošajai pieejamības pogai."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Lai izmantotu šo funkciju, nospiediet un turiet abas skaļuma pogas."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Lai sāktu un apturētu palielināšanu, trīsreiz pieskarieties jebkurā ekrāna vietā."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Lai sāktu un apturētu palielināšanu, ar diviem pirkstiem trīsreiz pieskarieties jebkur ekrānā."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Lai izmantotu šo funkciju, ar diviem pirkstiem velciet augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu funkcijas, velciet augšup ar diviem pirkstiem un turiet."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Lai izmantotu šo funkciju, ar trīs pirkstiem velciet augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu funkcijas, velciet augšup ar trīs pirkstiem un turiet."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Lai izmantotu pieejamības funkciju, ar diviem pirkstiem velciet augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu funkcijas, velciet augšup ar diviem pirkstiem un turiet."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Turēt nospiestas skaļuma pogas"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"turiet nospiestus skaļuma pogas"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Nospiediet un turiet abas skaļuma pogas"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Trīskāršais skāriens uz ekrāna ar diviem pirkstiem"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"trīskāršais skāriens uz ekrāna ar diviem pirkstiem"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Ar diviem pirkstiem {0,number,integer} reizes ātri pieskarieties ekrānam."</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Pieskaršanās ekrānam 3 reizes"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"trīsreiz pieskarieties ekrānam"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ātri pieskarieties ekrānam {0,number,integer} reizes. Šī saīsne var palēnināt ierīces darbību."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Tā var izsekot jūsu mijiedarbību ar lietotni vai aparatūras sensoru un mijiedarboties ar lietotnēm jūsu vārdā."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Atļaut"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Neatļaut"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Apturēt"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Atcelt"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Vai apturēt <xliff:g id="SERVICE">%1$s</xliff:g> darbību?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Pieskaroties vienumam <xliff:g id="STOP">%1$s</xliff:g>, tiks apturēts pakalpojums <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nav instalēts neviens pakalpojums."</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nav atlasīts neviens pakalpojums"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Apraksts nav sniegts."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ierobežojot lietotnes darbību fonā, var rasties šīs lietotnes darbības traucējumi."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Lietotnei nav iestatīta akumulatora optimizācija, tāpēc to nevar ierobežot.\n\nVispirms iestatiet akumulatora optimizāciju."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Akumulatora lietojuma pārvaldība"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Atļauja lietojumam fonā"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Iespējojiet, lai saņemtu reāllaika atjauninājumus; atspējojiet, lai taupītu akumulatora enerģiju."</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neierobežots"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizēts"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ierobežoti"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nosaukums"</string>
<string name="vpn_type" msgid="5533202873260826663">"Veids"</string>
<string name="vpn_server" msgid="2908816134941973935">"Servera adrese"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP šifrējums (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Slepenais L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Protokola IPsec identifikators"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Protokola IPsec iepriekš kopīgotā atsl."</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Protokola IPsec lietotāja sertifikāts"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Protokola IPsec CA sertifikāts"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec servera sertifikāts"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Rādīt papildopcijas"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Sistēmas DNS meklēšanas domēni"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS serveri (piem., 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Pārsūtīšanas ceļi (piem., 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Lietotājvārds"</string>
<string name="vpn_password" msgid="1183746907642628127">"Parole"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Saglabāt konta informāciju"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(netiek lietots)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(neverificēt serveri)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(saņemts no servera)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Šī veida VPN savienojums nevar būt nepārtraukts."</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Vienmēr ieslēgts VPN atbalsta servera adreses, kurās ir tikai cipari."</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Lai būtu vienmēr ieslēgts VPN, ir jābūt norādītam DNS serverim."</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Lai būtu vienmēr ieslēgts VPN, DNS servera adresē ir jābūt tikai cipariem."</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Ievadītā informācija neatbalsta vienmēr ieslēgtu VPN."</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Atcelt"</string>
<string name="vpn_done" msgid="5137858784289564985">"Nerādīt"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Bloķēt savienojumus bez VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Vai nepieciešams VPN savienojums?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nav drošs. Atjauniniet uz IKEv2 VPN."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Izvēlieties VPN profilu, ar kuru izveidot pastāvīgu savienojumu. Tīkla datplūsma tiks atļauta, tikai esot izveidotam savienojumam ar šo VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Nav"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Vienmēr ieslēgtam VPN ir nepieciešama servera un DNS IP adrese."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Rādīt visu paziņojumu saturu"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Rādīt sensitīvu saturu tikai, kad atbloķēts"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Nerādīt paziņojumus vispār"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kā rādīt paziņojumus bloķēšanas ekrānā?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ko rādīt bloķēšanas ekrānā?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Bloķēšanas ekrāns"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Rādīt visu saturu darba profila paziņojumos"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Paslēpt sensitīvu darba profila saturu"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Atļaut piekļuvi visu failu pārvaldībai"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Atļaujiet šai lietotnei lasīt, pārveidot un dzēst visus failus šajā ierīcē vai pievienotajās atmiņas ierīcēs. Ja piešķirsiet atļauju, lietotne varēs piekļūt failiem, jums par to nezinot."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Var piekļūt visiem failiem"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Ar balsi aktivizētas lietotnes"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Atļaut aktivizāciju ar balsi"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Izmantojot aktivizāciju ar balsi, brīvroku režīmā ar balss komandu tiek ieslēgtas apstiprinātās lietotnes. Iebūvētā adaptīvā klātbūtnes noteikšana nodrošina, ka datiem varat piekļūt tikai jūs.\n\n"<a href="">"Plašāka informācija par aizsargāto adaptīvo klātbūtnes noteikšanu"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Pilnekrāna paziņojumi"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Atļaut šīs lietotnes pilnekrāna paziņojumus"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Atļaujiet šai lietotnei rādīt paziņojumus pilnekrāna režīmā, kad ierīce ir bloķēta. Lietotnes var šādi izcelt signālus, ienākošos zvanus vai citus svarīgus paziņojumus."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> patērēja vairāk akumulatora enerģijas nekā parasti, darbojoties fonā"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> patērēja vairāk akumulatora enerģijas, darbojoties priekšplānā"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> patērēja vairāk akumulatora enerģijas nekā parasti, darbojoties priekšplānā"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Akumulatora lietojuma novirzes"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Augsts akumulatora lietojums"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Augsts akumulatora lietojums fonā"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Augsts akumulatora lietojums priekšplānā"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"sistēmas navigācija, 2 pogu navigācija, 3 pogu navigācija, žestu navigācija, vilkšana"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitālais asistents"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Vilkšana, lai izsauktu asistentu"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Lai izsauktu digitālā asistenta lietotni, velciet augšup no apakšējā stūra."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Lai izsauktu digitālā asistenta lietotni, velciet augšup no viena no apakšējiem stūriem."</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Lai izsauktu Asistentu, nospiediet un turiet pogu Sākums"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Nospiediet un turiet pogu Sākums, lai izsauktu digitālā asistenta lietotni."</string>
<string name="low_label" msgid="6525629096999711220">"Zems"</string>
@@ -4960,8 +4945,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Atlasiet gramatisko dzimti"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Meklēt maldinošas lietotnes"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Pārbaudīt, vai lietotnē tiek veikta pikšķerēšana"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Veikt pārbaudi"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Veikt pārbaudi darba lietotnēm"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Izmantot maldinošu lietotņu meklēšanu"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Izmantot maldinošu darba lietotņu meklēšanu"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 73f6296..eaaa329 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"Други уреди"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"Зачувани уреди"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Поврзано со сметка"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Претходно користено со сметка"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Претходно користено со сметката"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth ќе се вклучи за спарување"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"Поставки за врски"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Претходно поврзани"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Пенкало"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Споделување аудио"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Споделете го аудиото"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Повици и аларми"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Поврзете се со стрим на LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Аудиостримови во близина"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Аудиостримови"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Поврзете се со аудиострим со QR-код"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Не се најдени аудиостримови во близина."</string>
<string name="date_and_time" msgid="1788358029823431692">"Датум и време"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Прокси"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Избриши"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Работен профил"</string>
<string name="private_space_title" msgid="7078627930195569767">"Приватен простор"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Скријте ги апликациите во приватна папка"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Отклучете со заклучувањето екран"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Скријте ги апликациите во приватна папка до која може да пристапите само вие"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Заклучување за „Приватен простор“"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Може да го отклучите „Приватен простор“ исто како што го отклучувате уредот или да изберете друг начин на заклучување"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Користете го заклучувањето екран на уредот"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Отклучување со лик и отпечаток"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Допрете за да поставите"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Исто како заклучувањето екран на уредот"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Да се избере ново заклучув. за „Приватен простор“?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Скриј кога уредот е заклучен"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Скриј го „Приватниот простор“ кога е заклучен"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"За да спречите други луѓе да знаат дека „Приватниот простор“ е на вашиот уред, може да го скриете од списокот со апликации"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Пристапете до „Приватен простор“ кога е скриен"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Пребарајте „Приватен простор“ во полето за пребарување"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Допрете ја плочката „Приватен простор“"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Отклучете го вашиот „Приватен простор“"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Исклучено"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Вклучено"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Систем"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Создајте „Приватен простор“"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Избришете го „Приватниот простор“"</string>
- <string name="private_space_created" msgid="2978055968937762232">"„Приватниот простор“ е успешно создаден"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"„Приватниот простор“ веќе постои"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"„Приватниот простор“ не можеше да се создаде"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"„Приватниот простор“ е успешно избришан"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"„Приватниот простор“ не можеше да се избрише"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Поставете заклучување екран"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"За да користите „Приватен простор“, поставете заклуч. екран."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Поставете заклучување екран"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Откажи"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Откажи"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Постави"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Поставете „Приватен простор“"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Скријте ги приватните апликации во безбеден простор до кој може да пристапите само вие"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Како функционира"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Може да пристапите до „Приватен простор“ од дното на списокот со апликации"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Апликациите во „Приватен простор“ се заштитени со заклучување"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Известувањата од апликациите во „Приватниот простор“ се скриени кога е заклучен"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Апликациите во „Приватниот простор“ нема да се појавуваат во управникот со дозволи, контролната табла за приватност и другите поставки кога „Приватен простор“ е заклучен"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Се поставува „Приватен простор“…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Податоците за користењето за апликациите во „Приватниот простор“ се скриени кога е заклучен"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Пристапете до „Приватен простор“ од списокот со апликации"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Не можеше да се постави „Приватен простор“"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Обидете се повторно сега или вратете се подоцна"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Обиди се пак"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Да се користи заклучување екран за отклучување?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Може да го отклучите „Приватен простор“ исто како што го отклучувате уредот или да изберете друг начин на заклучување"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Користете заклучување екран"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Изберете нов начин на заклучување"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Готово!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Готово"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Лизгајте надолу за да пристапите до „Приватен простор“"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Најавете се за да поставите „Приватен простор“"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Треба да се најавите на сметка за да поставите „Приватен простор“"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"За да се прикаже „Приватен простор“ (не e конечен КИ)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Отворете ја апликацијата „Поставки“"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Допрете „Безбедност и приватност > Приватен простор > Скриј „Приватен простор“ кога уредот е заклучен“"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Исклучете „Скриј „Приватен простор“ кога уредот е заклучен“"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Забелешка за вработените во Google: функцијава сè уште се развива"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Може да додадете до <xliff:g id="COUNT">%d</xliff:g> отпечатоци"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Додадовте максимален број на отпечатоци"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Не може да се додадат повеќе отпечатоци"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Поврзи се"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Прекини врска"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Спари и поврзи"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Кога е вклучен Bluetooth, уредот може да комуницира со други уреди со Bluetooth во близина."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Кога е вклучен Bluetooth, уредот може да комуницира со други уреди со Bluetooth во близина"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Кога Bluetooth е вклучен, вашиот уред може да комуницира со другите уреди со Bluetooth во близина.\n\nЗа да се подобри доживувањето со уредот, апликациите и услугите сепак може да скенираат уреди во близина во секое време, дури и кога Bluetooth е исклучен. Ова може да се користи, на пример, за да се подобрат функциите и услугите според локација. Може да го промените во поставките за „Скенирање за Bluetooth“."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Промени"</string>
<string name="device_details_title" msgid="1155622417516195481">"Детали за уредот"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Дозволете ART да го потврдува бајт-кодот за апликациите од кои може да се отстрануваат грешки"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Прикажувај стапка на освежување"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Прикажувај ја тековната стапка на освежување на екранот"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Прикажи сооднос HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Прикажи го тековниот сооднос HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Барај уредот да биде отклучен за NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Продолжете да ги користите апликациите при преклопување"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Течен приказ"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Автоматски ја зголемува стапката на освежување до <xliff:g id="ID_1">%1$d</xliff:g> Hz за одредени содржини. Го зголемува користењето на батеријата."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Наметни максимална стапка на освежување"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Највисока стапка на освежување за подобрена реакција на допир и квалитет на анимацијата. Го зголемува користењето на батеријата."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Вклучен екран"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Заеднички поставки"</string>
<string name="apn_settings" msgid="4295467389400441299">"Поставки за APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Изменете ја пристапната точка"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Додајте пристапна точка"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Не е поставено"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Не е поставено"</string>
<string name="apn_name" msgid="6677695784108157953">"Име"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Отворање со копчето за пристапност"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Држете ги копчињата за јачина на звук за отворање"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Допрете го екранот трипати за отворање"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Допрете на екранот трипати со два прста за да отворите"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Користете движење за да отворите"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Користете го движењето за пристапност"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"За да ја користите функцијава, допрете го копчето за пристапност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> на дното на екранот.\n\nЗа префрлање помеѓу функциите, допрете и задржете го копчето за пристапност."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"За да ја користите функцијава, допрете го копчето за пристапност на екранот."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"За да ја користите функцијава, притиснете и задржете ги двете копчиња за јачина на звук."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"За почеток и крај на зголемувањето, допрете трипати каде било на екранот."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"За да го започнете и запрете зголемувањето, допрете каде било на екранот трипати со два прста."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"За да ја користите функцијава, повлечете нагоре од дното на екранот со два прста.\n\nЗа да се префрлите на друга функција, повлечете нагоре со два прста и задржете."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"За да ја користите функцијава, повлечете нагоре од дното на екранот со три прста.\n\nЗа префрлање помеѓу функциите, повлечете нагоре со три прста и задржете."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"За да користите функција за пристапност, повлечете нагоре од дното на екранот со два прста.\n\nЗа да се префрлите на друга функција, повлечете нагоре со два прста и задржете."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Задржете ги копчињата за јачина на звук"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"задржете ги копчињата за јачина на звук"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Притиснете и задржете ги двете копчиња за јачина на звук"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Допрете го екранот трипати со два прста"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"допрете го екранот трипати со два прста"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Брзо допрете го екранот {0,number,integer} пати со два прста"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Троен допир на екранот"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"допрете трипати на екранот"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Брзо допрете го екранот {0,number,integer} пати Оваа кратенка може да го забави уредот"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Може да ја следи вашата интеракција со апликациите или со хардверските сензори и да врши интеракција со апликациите во ваше име."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Дозволи"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Одбиј"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Сопри"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Откажи"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Да се сопре <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Ако допрете „<xliff:g id="STOP">%1$s</xliff:g>“, <xliff:g id="SERVICE">%2$s</xliff:g> ќе сопре."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Нема инсталирано услуги"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Нема избрана услуга"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Не е обезбеден опис."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Апликацијата може да се однесува необично ако ја ограничите нејзината активност во заднина"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Апликацијава не е оптимизирана и не може да се ограничи.\n\nЗа да ја ограничите, прво вклучете оптимизација на батеријата."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Управувајте со користењето на батеријата"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Овозможете користење во заднина"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Овозможете за ажурирања во реално време, оневозможете за да заштедите батерија"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Неограничено"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оптимизирано"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ограничено"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Име"</string>
<string name="vpn_type" msgid="5533202873260826663">"Тип"</string>
<string name="vpn_server" msgid="2908816134941973935">"Адреса на сервер"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Шифрирање PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP тајна"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-идентификатор"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec претходно споделен клуч"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Кориснички сертификат на IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-сертификат"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Сертификат за IPSec-сервер"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Прикажи напредни опции"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Домени на пребарување на DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-сервери (на пр., 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Маршрути за проследување (на пр., 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Корисничко име"</string>
<string name="vpn_password" msgid="1183746907642628127">"Лозинка"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Зачувај информации за сметка"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(не се користи)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(не проверувај сервер)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(примен од сервер)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"VPN од овој тип не може да остане поврзана цело време"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Постојано вклучената VPN поддржува само нумерички адреси на сервер"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Мора да се назначи DNS-сервер за секогаш вклучената VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Адресите на DNS-серверот мора да се нумерички за секогаш вклучената VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Внесените податоци не поддржуваат секогаш вклучена VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Откажи"</string>
<string name="vpn_done" msgid="5137858784289564985">"Отфрли"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Блокирај ги врските без VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Задолжително поврзување преку VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Небезбедна. Ажурирајте на IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Изберете VPN-профил со којшто секогаш ќе бидете поврзани. Мрежниот сообраќај ќе биде дозволен само кога сте поврзани на оваа VPN-мрежа."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Ниедна"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN секогаш вклучена бара ИП адреса за серверот и за DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Прикажувај ги сите содржини од известувањата"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Прикажувај чувствителни содржини само кога е отклучен"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Воопшто не прикажувај известувања"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Што сакате да се прикажува на заклучениот екран?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Што сакате да се прикажува на заклучениот екран?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Заклучен екран"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Прикажувај ги сите известувања од работниот профил"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Скриј чувствителни работни содржини"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Дозволи пристап за управување со датотеки"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Дозволете апликацијава да ги чита, менува и брише сите датотеки на уредов или на поврзаните мемориски уреди. Ако се дозволи, апликацијата може да пристапува до датотеките без ваше изречно знаење."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Може да пристапува до сите датотеки"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Апликации со активирање со глас"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Дозволете активирање со глас"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Активирањето со глас ги вклучува одобрените апликации, без користење на рацете, со гласовна наредба. Вградениот адаптивен сензор гарантира дека податоците ќе останат приватни само за вас.\n\n"<a href="">"Дознајте повеќе за заштитениот адаптивен сензор"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Известувања на цел екран"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Дозволете известувања на цел екран од оваа апликација"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Дозволете апликацијава да прикажува известувања што го заземаат целиот екран кога уредот е заклучен. Апликациите може да ги користат овие известувања за да ги истакнуваат алармите, дојдовните повици или други итни известувања."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> троши повеќе батерија од вообичаено додека работи во заднина"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> троши повеќе батерија додека работи во преден план"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> троши повеќе батерија од вообичаено додека работи во преден план"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Дефект на користењето на батеријата"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Голема потрошувачка на батеријата"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Голема потрошувачка на батеријата во заднина"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Голема потрошувачка на батеријата во преден план"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"навигација на системот, навигација со 2 копчиња, навигација со 3 копчиња, навигација со движење, повлечи"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Дигитален помошник"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Повлечете за да го повикате помошникот"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Повлечете нагоре од долниот агол за да ја повикате апликацијата за дигитален помошник."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Повлечете нагоре од долниот агол за да ја повикате апликацијата за дигитален помошник"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Задржете го копчето за почетен екран за „Помошник“"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Притиснете и задржете го копчето за почетен екран за да ја повикате апликацијата за дигитален помошник."</string>
<string name="low_label" msgid="6525629096999711220">"Ниска"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Изберете граматички род"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Скенирање измамнички апликации"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Проверка на активноста во апликацијата за фишинг"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Скенирај"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Скенирај работни апликации"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Користи скенирање за измамнички апликации"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Користи скенирање за измамнички апликации за работа"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index b6b8b8f..2666e2c 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"സ്റ്റൈലസ്"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ഓഡിയോ പങ്കിടൽ"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ഓഡിയോ പങ്കിടൂ"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"കോളുകളും അലാറങ്ങളും"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ഓഡിയോ സ്ട്രീമിലേക്ക് കണക്റ്റ് ചെയ്യുക"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"സമീപത്തെ ഓഡിയോ സ്ട്രീമുകൾ"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"ഓഡിയോ സ്ട്രീമുകൾ"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR കോഡ് ഉപയോഗിച്ച് ഓഡിയോ സ്ട്രീമിലേക്ക് കണക്റ്റ് ചെയ്യുക"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"സമീപത്തെ ഓഡിയോ സ്ട്രീം കണ്ടെത്തിയില്ല."</string>
<string name="date_and_time" msgid="1788358029823431692">"തീയതിയും സമയവും"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"പ്രോക്സി"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"മായ്ക്കുക"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"ഔദ്യോഗിക പ്രൊഫൈൽ"</string>
<string name="private_space_title" msgid="7078627930195569767">"സ്വകാര്യ Space"</string>
<string name="private_space_summary" msgid="8237652417163408001">"സ്വകാര്യ ഫോൾഡറിൽ ആപ്പുകൾ മറയ്ക്കുക"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"സ്ക്രീൻ ലോക്ക് ഉപയോഗിച്ച് അൺലോക്ക് ചെയ്യുക"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"നിങ്ങൾക്ക് മാത്രം ആക്സസ് ചെയ്യാനാകുന്ന ഒരു സ്വകാര്യ ഫോൾഡറിൽ ആപ്പുകൾ മറയ്ക്കുക"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"സ്വകാര്യ സ്പേസ് ലോക്ക്"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"ഉപകരണം അൺലോക്ക് ചെയ്യുന്ന അതേ രീതിയിൽ നിങ്ങൾക്ക് സ്വകാര്യ സ്പേസ് അൺലോക്ക് ചെയ്യാം അല്ലെങ്കിൽ മറ്റൊരു ലോക്ക് തിരഞ്ഞെടുക്കാം"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ഉപകരണത്തിന്റെ സ്ക്രീൻ ലോക്ക് ഉപയോഗിക്കുക"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"ഫെയ്സ്, ഫിംഗർപ്രിന്റ് അൺലോക്ക്"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"സജ്ജീകരിക്കാൻ ടാപ്പ് ചെയ്യുക"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ഉപകരണത്തിന്റെ അതേ സ്ക്രീൻ ലോക്ക്"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"സ്വകാര്യ സ്പേസിന് പുതിയ ലോക്ക് തിരഞ്ഞെടുക്കണോ?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ മറയ്ക്കൂ"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ സ്വകാര്യ സ്പേസ് മറയ്ക്കുക"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ഉപകരണത്തിലെ സ്വകാര്യ സ്പേസ് ആരും അറിയാതിരിക്കാൻ ആപ്പ് ലിസ്റ്റിൽ നിന്ന് അത് മറയ്ക്കാം"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"മറച്ചിരിക്കുമ്പോൾ സ്വകാര്യ സ്പേസ് ആക്സസ് ചെയ്യൂ"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"തിരയൽ ബാറിൽ \'സ്വകാര്യ സ്പേസ്\' എന്ന് തിരയുക"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"സ്വകാര്യ സ്പേസ് ടൈൽ ടാപ്പ് ചെയ്യുക"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"നിങ്ങളുടെ സ്വകാര്യ സ്പേസ് അൺലോക്ക് ചെയ്യുക"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ഓഫാണ്"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ഓണാണ്"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"സിസ്റ്റം"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"സ്വകാര്യ Space സൃഷ്ടിക്കുക"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"സ്വകാര്യ Space ഇല്ലാതാക്കുക"</string>
- <string name="private_space_created" msgid="2978055968937762232">"സ്വകാര്യ Space സൃഷ്ടിച്ചു"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"സ്വകാര്യ Space നിലവിലുണ്ട്"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"സ്വകാര്യ Space സൃഷ്ടിക്കാനായില്ല"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"സ്വകാര്യ Space ഇല്ലാതാക്കി"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"സ്വകാര്യ Space ഇല്ലാതാക്കാനായില്ല"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"സ്ക്രീൻ ലോക്ക് സജ്ജീകരിക്കൂ"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"സ്വകാര്യ സ്പേസിന് ഈ ഉപകരണത്തിൽ സ്ക്രീൻ ലോക്ക് സജ്ജീകരിക്കൂ."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"സ്ക്രീൻ ലോക്ക് സജ്ജീകരിക്കൂ"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"റദ്ദാക്കൂ"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"റദ്ദാക്കുക"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"സജ്ജീകരിക്കുക"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"സ്വകാര്യ സ്പേസ് സജ്ജീകരിക്കുക"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"നിങ്ങൾക്ക് മാത്രം ആക്സസ് ചെയ്യാൻ കഴിയുന്ന സുരക്ഷിതമായ ഒരിടത്ത് സ്വകാര്യ ആപ്പുകൾ മറയ്ക്കുക"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"ഇതെങ്ങനെ പ്രവർത്തിക്കുന്നു"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"നിങ്ങളുടെ ആപ്പ് ലിസ്റ്റിന്റെ താഴെ നിന്ന് സ്വകാര്യ സ്പേസ് ആക്സസ് ചെയ്യാം"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"സ്വകാര്യ സ്പേസിലെ ആപ്പുകൾ ലോക്ക് ഉപയോഗിച്ച് പരിരക്ഷിച്ചിരിക്കുന്നു"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"സ്വകാര്യ സ്പേസ് ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ, അതിലെ ആപ്പുകളിൽ നിന്നുള്ള അറിയിപ്പുകൾ മറയ്ക്കും"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"സ്വകാര്യ സ്പേസ് ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ അനുമതി മാനേജർ, സ്വകാര്യതാ ഡാഷ്ബോർഡ്, മറ്റ് ക്രമീകരണം എന്നിവയിൽ സ്വകാര്യ സ്പേസ് ആപ്പുകൾ ദൃശ്യമാകില്ല"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"സ്വകാര്യ സ്പേസ് സജ്ജീകരിക്കുന്നു…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"സ്വകാര്യ സ്പേസ് ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ, അതിലെ ആപ്പുകളുടെ ഉപയോഗ വിവരങ്ങൾ മറച്ചിരിക്കും"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"ആപ്പ് ലിസ്റ്റിൽ നിന്ന് സ്വകാര്യ സ്പേസ് ആക്സസ് ചെയ്യുക"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"സ്വകാര്യ സ്പേസ് സജ്ജീകരിക്കാനായില്ല"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"ഇപ്പോൾ വീണ്ടും ശ്രമിക്കുക അല്ലെങ്കിൽ പിന്നീട് മടങ്ങി വരിക"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"വീണ്ടും ശ്രമിക്കുക"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"അൺലോക്ക് ചെയ്യാൻ സ്ക്രീൻ ലോക്ക് ഉപയോഗിക്കണോ?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"ഉപകരണം അൺലോക്ക് ചെയ്യുന്ന അതേ രീതിയിൽ നിങ്ങൾക്ക് സ്വകാര്യ സ്പേസ് അൺലോക്ക് ചെയ്യാം അല്ലെങ്കിൽ മറ്റൊരു ലോക്ക് തിരഞ്ഞെടുക്കാം"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"സ്ക്രീൻ ലോക്ക് ഉപയോഗിക്കുക"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"പുതിയ ലോക്ക് തിരഞ്ഞെടുക്കുക"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"എല്ലാം സജ്ജീകരിച്ചു!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"പൂർത്തിയായി"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"സ്വകാര്യ സ്പേസ് ആക്സസ് ചെയ്യാൻ താഴേക്ക് സ്ക്രോൾ ചെയ്യുക"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"സ്വകാര്യ സ്പേസ് സജ്ജീകരിക്കാൻ സൈൻ ഇൻ ചെയ്യൂ"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"സ്വകാര്യ സ്പേസ് സജ്ജീകരിക്കാൻ നിങ്ങൾ ഒരു അക്കൗണ്ടിലേക്ക് സൈൻ ഇൻ ചെയ്യേണ്ടതുണ്ട്"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"സ്വകാര്യ സ്പേസ് കാണിക്കാൻ (അന്തിമ UX അല്ല)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"ക്രമീകരണ ആപ്പ് തുറക്കുക"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"സുരക്ഷയും സ്വകാര്യതയും > സ്വകാര്യ സ്പേസ് > ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ സ്വകാര്യ സ്പേസ് മറയ്ക്കുക എന്നിങ്ങനെ ടാപ്പ് ചെയ്യുക"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"\'ലോക്ക് ആണെങ്കിൽ സ്വകാര്യ സ്പേസ് മറയ്ക്കുക\' ടോഗിൾ ഓഫാക്കുക"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Googlers-നുള്ള കുറിപ്പ്: ഈ ഫീച്ചർ ഇപ്പോഴും വികസനഘട്ടത്തിലാണ്"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"നിങ്ങൾക്ക് <xliff:g id="COUNT">%d</xliff:g> ഫിംഗർപ്രിന്റുകൾ വരെ ചേർക്കാം"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"നിങ്ങൾ പരമാവധി എണ്ണം ഫിംഗർപ്രിന്റുകൾ ചേർത്തിട്ടുണ്ട്"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"കൂടുതൽ ഫിംഗർപ്രിന്റുകൾ ചേർക്കാൻ കഴിയില്ല"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"കണക്റ്റ് ചെയ്യുക"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"വിച്ഛേദിക്കുക"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ജോടിയാക്കി കണക്റ്റുചെയ്യുക"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth ഓണായിരിക്കുമ്പോൾ, സമീപമുള്ള മറ്റു Bluetooth ഉപകരണങ്ങളുമായി നിങ്ങളുടെ ഉപകരണത്തിന് ആശയവിനിമയം നടത്താനാകും."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth ഓണാണെങ്കിൽ, സമീപമുള്ള മറ്റു Bluetooth ഉപകരണങ്ങളുമായി നിങ്ങളുടെ ഉപകരണത്തിന് ആശയവിനിമയം നടത്താം"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth ഓണാക്കിയിരിക്കുമ്പോൾ, സമീപമുള്ള മറ്റ് Bluetooth ഉപകരണങ്ങളുമായി ആശയവിനിമയം നടത്താൻ നിങ്ങളുടെ ഉപകരണത്തിന് കഴിയും.\n\nഉപകരണ അനുഭവം മെച്ചപ്പെടുത്താൻ, Bluetooth ഓഫാക്കിയിരിക്കുമ്പോൾ പോലും സമീപമുള്ള ഉപകരണങ്ങൾ കണ്ടെത്താൻ ആപ്പുകൾക്കും സേവനങ്ങൾക്കും ഏത് സമയത്തും സ്കാൻ ചെയ്യാനാകും. ഉദാഹരണത്തിന്, ലൊക്കേഷൻ അധിഷ്ഠിത ഫീച്ചറുകളും സേവനങ്ങളും മെച്ചപ്പെടുത്താൻ ഇത് ഉപയോഗിക്കാം. Bluetooth സ്കാനിംഗ് ക്രമീകരണത്തിൽ നിങ്ങൾക്ക് ഇത് മാറ്റാനാകും."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"മാറ്റുക"</string>
<string name="device_details_title" msgid="1155622417516195481">"ഉപകരണ വിശദാംശങ്ങൾ"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ഡീബഗ്ഗ് ചെയ്യാവുന്ന ആപ്പുകൾക്കായി ബൈറ്റ്കോഡ് പരിശോധിക്കാൻ ART-യെ അനുവദിക്കുക"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"റീഫ്രഷ് റേറ്റ് കാണിക്കൂ"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"നിലവിലെ ഡിസ്പ്ലേ റീഫ്രഷ് നിരക്ക് കാണിക്കൂ"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR അനുപാതം കാണിക്കുക"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"നിലവിലെ HDR/SDR അനുപാതം കാണിക്കുക"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC-യ്ക്ക് ഉപകരണം അൺലോക്ക് ചെയ്യൽ നിർബന്ധമാക്കുക"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android ബീം"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"ഫോൾഡിൽ ആപ്പുകൾ ഉപയോഗിക്കുന്നത് തുടരുക"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"സ്മൂത്ത് ഡിസ്പ്ലേ"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"ചില ഉള്ളടക്കങ്ങളുടെ റീഫ്രഷ് തോത് <xliff:g id="ID_1">%1$d</xliff:g> Hz വരെ സ്വയമേവ ഉയർത്തുന്നു. ബാറ്ററി ഉപയോഗം വർദ്ധിപ്പിക്കുന്നു."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"പരമാവധി റീഫ്രഷ് നിരക്ക് നിർബന്ധിതമാക്കുക"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"മെച്ചപ്പെട്ട സ്പർശന പ്രതികരണശേഷി, ആനിമേഷൻ നിലവാരം എന്നിവയ്ക്കുള്ള ഉയർന്ന റീഫ്രഷ് നിരക്ക്. ബാറ്ററി ഉപയോഗം വർദ്ധിപ്പിക്കുന്നു."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"സ്ക്രീൻ ശ്രദ്ധ"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"കമ്മ്യൂണൽ ക്രമീകരണങ്ങൾ"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN-കൾ"</string>
<string name="apn_edit" msgid="2003683641840248741">"ആക്സസ് പോയിന്റ് എഡിറ്റ് ചെയ്യുക"</string>
+ <string name="apn_add" msgid="9069613192201630934">"ആക്സസ് പോയിന്റ് ചേർക്കുക"</string>
<string name="apn_not_set" msgid="8246646433109750293">"സജ്ജീകരിച്ചിട്ടില്ല"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"സജ്ജീകരിച്ചിട്ടില്ല"</string>
<string name="apn_name" msgid="6677695784108157953">"പേര്"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"തുറക്കാൻ ഉപയോഗസഹായി ബട്ടൺ ഉപയോഗിക്കുക"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"തുറക്കുന്നതിന് വോളിയം കീകൾ അമർത്തിപ്പിടിക്കുക"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"തുറക്കുന്നതിന് സ്ക്രീൻ മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"തുറക്കാൻ, രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് സ്ക്രീനിൽ മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"തുറക്കാൻ വിരൽചലനം ഉപയോഗിക്കുക"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ഉപയോഗസഹായി ജെസ്ച്ചർ ഉപയോഗിക്കുക"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ഈ ഫീച്ചർ ഉപയോഗിക്കാൻ, നിങ്ങളുടെ സ്ക്രീനിന്റെ ചുവടെയുള്ള ഉപയോഗസഹായി ബട്ടൺ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ടാപ്പ് ചെയ്യുക.\n\nഫീച്ചറുകൾക്കിടയിൽ മാറാൻ, ഉപയോഗസഹായി ബട്ടൺ സ്പർശിച്ച് പിടിക്കുക."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ഈ ഫീച്ചർ ഉപയോഗിക്കാൻ, നിങ്ങളുടെ സ്ക്രീനിലുള്ള ഉപയോഗസഹായി ബട്ടൺ ടാപ്പുചെയ്യുക."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ഈ ഫീച്ചർ ഉപയോഗിക്കാൻ, രണ്ട് വോളിയം കീകളും അമർത്തിപ്പിടിക്കുക."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാനും നിർത്താനും സ്ക്രീനിൽ എവിടെയെങ്കിലും മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാനും നിർത്താനും രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് സ്ക്രീനിൽ മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ഈ ഫീച്ചർ ഉപയോഗിക്കാൻ, സ്ക്രീനിന്റെ ചുവടെ നിന്ന് രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nഫീച്ചറുകൾക്കിടയിൽ മാറാൻ, രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്ത് പിടിക്കുക."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ഈ ഫീച്ചർ ഉപയോഗിക്കാൻ,സ്ക്രീനിന്റെ ചുവടെ നിന്ന് മൂന്ന് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nഫീച്ചറുകൾക്കിടയിൽ മാറാൻ, രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്ത് പിടിക്കുക."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ഉപയോഗസഹായി ഫീച്ചർ ഉപയോഗിക്കാൻ, സ്ക്രീനിന്റെ ചുവടെ നിന്ന് രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nഫീച്ചറുകൾക്കിടയിൽ മാറാൻ, രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്ത് പിടിക്കുക."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"വോളിയം കീകൾ അമർത്തിപ്പിടിക്കുക"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"വോളിയം കീകൾ പിടിക്കുക"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"രണ്ട് വോളിയം കീകളും അമർത്തിപ്പിടിക്കുക"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് സ്ക്രീനിൽ മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് സ്ക്രീനിൽ മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് സ്ക്രീനിൽ {0,number,integer} തവണ വേഗത്തിൽ ടാപ്പ് ചെയ്യുക"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"സ്ക്രീൻ മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"സ്ക്രീനിൽ മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"സ്ക്രീനിൽ {0,number,integer} തവണ വേഗത്തിൽ ടാപ്പ് ചെയ്യുക. ഈ കുറുക്കുവഴി നിങ്ങളുടെ ഉപകരണത്തിന്റെ വേഗത കുറച്ചേക്കാം"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ഇതിന് ഒരു ആപ്പുമായോ ഹാർഡ്വെയർ സെൻസറുമായോ ഉള്ള നിങ്ങളുടെ ആശയവിനിമയങ്ങൾ ട്രാക്ക് ചെയ്യാനും നിങ്ങളുടെ പേരിൽ ആശയവിനിമയം നടത്താനും കഴിയും."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"അനുവദിക്കൂ"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"നിരസിക്കുക"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"നിർത്തുക"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"റദ്ദാക്കൂ"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> നിർത്തണോ?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> ടാപ്പ് ചെയ്യുന്നത് <xliff:g id="SERVICE">%2$s</xliff:g> എന്നതിനെ നിർത്തും."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"സേവനങ്ങളൊന്നും ഇൻസ്റ്റാളുചെയ്തിട്ടില്ല"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"ഒരു സേവനവും തിരഞ്ഞെടുത്തിട്ടില്ല"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"വിവരണമൊന്നും നൽകിയിട്ടില്ല."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"നിങ്ങൾ ഒരു ആപ്പിനായി പശ്ചാത്തല പ്രവർത്തനം പരിമിതപ്പെടുത്തുകയാണെങ്കിൽ, അത് ശരിയായി പ്രവർത്തിക്കാനിടയില്ല."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ബാറ്ററി ഓപ്റ്റിമൈസ് ചെയ്യാൻ ഈ ആപ്പ് സജ്ജീകരിക്കാത്തതിനാൽ, നിങ്ങൾക്ക് ഇത് നിയന്ത്രിക്കാനാവില്ല.\n\nആപ്പ് നിയന്ത്രിക്കാൻ, ആദ്യം ബാറ്ററി ഓപ്റ്റിമൈസേഷൻ ഓണാക്കുക."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ബാറ്ററി ഉപയോഗം മാനേജ് ചെയ്യുക"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"പശ്ചാത്തലത്തിലെ ഉപയോഗം അനുവദിക്കുക"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"തത്സമയ അപ്ഡേറ്റുകൾക്കായി പ്രവർത്തനക്ഷമമാക്കുക, ബാറ്ററി സംരക്ഷിക്കാൻ പ്രവർത്തനരഹിതമാക്കുക"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"നിയന്ത്രണമില്ലാത്തത്"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ഒപ്റ്റിമൈസ് ചെയ്തത്"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"നിയന്ത്രിതം"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"പേര്"</string>
<string name="vpn_type" msgid="5533202873260826663">"തരം"</string>
<string name="vpn_server" msgid="2908816134941973935">"സെർവർ വിലാസം"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP എൻക്രിപ്ഷൻ (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP രഹസ്യം"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ഐഡന്റിഫയർ"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec മുമ്പ് പങ്കിട്ട കീ"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec ഉപയോക്തൃ സർട്ടിഫിക്കറ്റ്"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA സർട്ടിഫിക്കറ്റ്"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec സെർവർ സർട്ടിഫിക്കറ്റ്"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"വിപുലമായ ഓപ്ഷനുകൾ കാണിക്കുക"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS തിരയൽ ഡൊമയ്നുകൾ"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS സെർവറുകൾ (ഉദാ. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"റൂട്ടുകൾ കൈമാറൽ (ഉദാ. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"ഉപയോക്താവിന്റെ പേര്"</string>
<string name="vpn_password" msgid="1183746907642628127">"പാസ്വേഡ്"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"അക്കൗണ്ട് വിവരം സംരക്ഷിക്കുക"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ഉപയോഗിച്ചിട്ടില്ല)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(സെർവർ പരിശോധിക്കേണ്ട)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(സെർവറിൽ നിന്നും ലഭിച്ചത്)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ഈ VPN തരത്തിന് എപ്പോഴും കണക്റ്റ് ചെയ്തതായിരിക്കാനാവില്ല"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"\'എല്ലായ്പ്പോഴും ഓണായിരിക്കുന്ന VPN\' സംഖ്യാ സെർവർ വിലാസങ്ങൾക്ക് മാത്രമേ അനുയോജ്യമാകൂ"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"\'എല്ലായ്പ്പോഴും ഓണായിരിക്കുന്ന VPN\'-നായി ഒരു DNS സെർവർ നൽകിയിരിക്കണം"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"\'എല്ലായ്പ്പോഴും ഓണായിരിക്കുന്ന VPN\'-നായുള്ള DNS സെർവർ വിലാസങ്ങൾ സംഖ്യകളാലുള്ളതായിരിക്കണം"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"നൽകിയിരിക്കുന്ന വിവരങ്ങൾ \'എല്ലായ്പ്പോഴും ഓണായിരിക്കുന്ന VPN\'-ന് അനുയോജ്യമല്ല"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"റദ്ദാക്കുക"</string>
<string name="vpn_done" msgid="5137858784289564985">"നിരസിക്കുക"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN ഇല്ലാത്ത കണക്ഷനുകൾ ബ്ലോക്കുചെയ്യുക"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN കണക്ഷൻ ആവശ്യമാണോ?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"സുരക്ഷിതമല്ല. ഒരു IKEv2 VPN-ലേക്ക് അപ്ഡേറ്റ് ചെയ്യുക"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"എല്ലായ്പ്പോഴും കണക്റ്റുചെയ്തതായി തുടരുന്ന ഒരു VPN പ്രൊഫൈൽ തിരഞ്ഞെടുക്കുക. ഈ VPN-ലേക്ക് കണക്റ്റുചെയ്തിരിക്കുമ്പോൾ മാത്രമേ നെറ്റ്വർക്ക് ട്രാഫിക്ക് അനുവദിക്കുകയുള്ളൂ."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"ഒന്നുമില്ല"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"എല്ലായ്പ്പോഴും ഓണായിരിക്കുന്ന VPN-ന് രണ്ട് സെർവറുകൾക്കും DNS-നുമായി ഒരു IP വിലാസം ആവശ്യമാണ്."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"എല്ലാ അറിയിപ്പുകളും ഉള്ളടക്കം സഹിതം കാണിക്കുക"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"അൺലോക്കായാൽ മാത്രം സെൻസിറ്റീവ് ഉള്ളടക്കം കാണിക്കുക"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ഒരു അറിയിപ്പും കാണിക്കരുത്"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ലോക്ക് സ്ക്രീൻ എങ്ങനെ പ്രദർശിപ്പിക്കാനാണ് നിങ്ങൾ താൽപ്പര്യപ്പെടുന്നത്?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"നിങ്ങളുടെ ലോക്ക് സ്ക്രീനിൽ എന്താണ് കാണിക്കേണ്ടത്?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ലോക്ക് സ്ക്രീൻ"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"എല്ലാ ഔദ്യോഗിക അറിയിപ്പ് ഉള്ളടക്കങ്ങളും കാണിക്കുക"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"രഹസ്യാത്മകമായ ഔദ്യോഗിക ഉള്ളടക്കം അദൃശ്യമാക്കുക"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"എല്ലാ ഫയലുകളും മാനേജ് ചെയ്യാൻ ആക്സസ് അനുവദിക്കൂ"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ഈ ഉപകരണത്തിലെയോ ഇതുമായി ബന്ധിപ്പിച്ചിട്ടുള്ള ഏതെങ്കിലും സ്റ്റോറേജുകളിലെയോ എല്ലാ ഫയലുകളും വായിക്കാനും പരിഷ്ക്കരിക്കാനും ഇല്ലാതാക്കാനും ഈ ആപ്പിനെ അനുവദിക്കുക. അനുമതി നൽകിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ അറിവില്ലാതെ തന്നെ ആപ്പ് ഫയലുകൾ ആക്സസ് ചെയ്തേക്കാം."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"എല്ലാ ഫയലുകളും ആക്സസ് ചെയ്യാനാവും"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"വോയ്സ് ആക്റ്റിവേഷൻ ആപ്പുകൾ"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"വോയ്സ് ആക്റ്റിവേഷൻ അനുവദിക്കുക"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"അംഗീകൃത ആപ്പുകൾ ശബ്ദ കമാൻഡ് ഉപയോഗിച്ച് വോയ്സ് ആക്റ്റിവേഷൻ ഹാൻഡ്സ്-ഫ്രീ ആയി ഓണാക്കുന്നു. ഡാറ്റ നിങ്ങൾക്ക് മാത്രം കാണാവുന്ന തരത്തിൽ സ്വകാര്യമായി നിലനിൽക്കുമെന്ന് ബിൽറ്റ് ഇൻ അഡാപ്റ്റീവ് സെൻസിംഗ് ഉറപ്പാക്കുന്നു.\n\n"<a href="">"സംരക്ഷിത അഡാപ്റ്റീവ് സെൻസിംഗിനെ കുറിച്ചുള്ള കൂടുതൽ കാര്യങ്ങൾ"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"പൂർണ്ണ സ്ക്രീനിലുള്ള അറിയിപ്പുകൾ"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"ഈ ആപ്പിൽ നിന്നുള്ള പൂർണ്ണ സ്ക്രീൻ അറിയിപ്പുകൾ അനുവദിക്കുക"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ഉപകരണം ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ അറിയിപ്പുകൾ പൂർണ്ണ സ്ക്രീനിൽ കാണിക്കാൻ ഈ ആപ്പിനെ അനുവദിക്കുക. അലാറങ്ങൾ, ഇൻകമിംഗ് കോളുകൾ അല്ലെങ്കിൽ മറ്റ് അടിയന്തര അറിയിപ്പുകൾ ഹെെലെെറ്റ് ചെയ്യാൻ ആപ്പുകൾ ഇവ ഉപയോഗിച്ചേക്കാം."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കുമ്പോൾ സാധാരണയിൽ കൂടുതൽ ബാറ്ററി ചാർജ്ജ് ഉപയോഗിച്ചു"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ഫോർഗ്രൗണ്ടിൽ പ്രവർത്തിക്കുമ്പോൾ കൂടുതൽ ബാറ്ററി ചാർജ്ജ് ഉപയോഗിച്ചു"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ഫോർഗ്രൗണ്ടിൽ പ്രവർത്തിക്കുമ്പോൾ സാധാരണയിൽ കൂടുതൽ ബാറ്ററി ചാർജ്ജ് ഉപയോഗിച്ചു"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ബാറ്ററി ഉപയോഗത്തിൽ അസ്വാഭാവികത"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"ഉയർന്ന ബാറ്ററി ഉപയോഗം"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"പശ്ചാത്തലത്തിൽ ഉയർന്ന ബാറ്ററി ഉപയോഗം നടക്കുന്നു"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ഫോർഗ്രൗണ്ടിൽ ഉയർന്ന ബാറ്ററി ഉപയോഗം നടക്കുന്നു"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"സിസ്റ്റം നാവിഗേഷൻ, 2 ബട്ടൺ നാവിഗേഷൻ, 3 ബട്ടൺ നാവിഗേഷൻ, വിരൽചലന നാവിഗേഷൻ, സ്വൈപ്പ് ചെയ്യുക"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ഡിജിറ്റൽ അസിസ്റ്റന്റ്"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"അസിസ്റ്റന്റ് ആപ്പ് പ്രവർത്തനക്ഷമമാക്കാൻ സ്വൈപ്പ് ചെയ്യുക"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ഡിജിറ്റൽ അസിസ്റ്റന്റ് ആപ്പ് പ്രവർത്തനക്ഷമമാക്കാൻ താഴെ മൂലയിൽ നിന്ന് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ഡിജിറ്റൽ അസിസ്റ്റന്റ് ആപ്പ് പ്രവർത്തനക്ഷമമാക്കാൻ താഴെ മൂലയിൽ നിന്ന് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"അസിസ്റ്റന്റിനെ പ്രവർത്തിപ്പിക്കാൻ ഹോം അമർത്തിപ്പിടിക്കുക"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ഡിജിറ്റൽ അസിസ്റ്റന്റ് ആപ്പ് പ്രവർത്തിപ്പിക്കാൻ ഹോം ബട്ടൺ അമർത്തിപ്പിടിക്കുക."</string>
<string name="low_label" msgid="6525629096999711220">"കുറഞ്ഞത്"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"വ്യാകരണ ലിംഗഭേദം തിരഞ്ഞെടുക്കുക"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"വഞ്ചനാപരമായ ആപ്പ് ആണോയെന്ന് സ്കാൻ ചെയ്യുന്നു"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"ഫിഷിംഗ് ആണോയെന്ന് അറിയാൻ ആപ്പ് ആക്റ്റിവിറ്റി പരിശോധിക്കുക"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"സ്കാൻ ചെയ്യൽ ഉപയോഗിക്കുക"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"ഔദ്യോഗിക ആപ്പുകളിൽ സ്കാൻ ചെയ്യൽ ഉപയോഗിക്കുക"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"വഞ്ചനാപരമായ ആപ്പുകൾ കണ്ടെത്താൻ സ്കാനിംഗ് ഉപയോഗിക്കുക"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ഔദ്യോഗിക ആപ്പുകളിൽ വഞ്ചനാപരമായവ കണ്ടെത്താൻ സ്കാനിംഗ് ഉപയോഗിക്കുക"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 56c6fcf..069e50b 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"Бусад төхөөрөмж"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"Хадгалсан төхөөрөмж"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Бүртгэлтэй холбоотой"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Өмнө нь бүртгэлээр ашигласан"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Өмнө нь бүртгэлтэй холбож ашигласан"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth холбогдохын тулд асна"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"Холболтын тохируулга"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Өмнө нь холбогдсон"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Мэдрэгч үзэг"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Аудио хуваалцах"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Аудиог хуваалцах"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Дуудлага болон сэрүүлгүүд"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE аудио дамжуулалтад холбогдох"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Ойролцоох аудио дамжуулалтууд"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Аудио дамжуулалтууд"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR код ашиглан аудио дамжуулалтад холбогдоно уу"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Ойролцоох аудио дамжуулалт олдсонгүй."</string>
<string name="date_and_time" msgid="1788358029823431692">"Огноо, цаг"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Прокси"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Цэвэрлэх"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Ажлын профайл"</string>
<string name="private_space_title" msgid="7078627930195569767">"Хувийн орон зай"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Аппуудыг хувийн фолдерт нуух"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Дэлгэцийн түгжээг ашиглан түгжээг тайлах"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Зөвхөн та харах боломжтой хувийн фолдерт аппуудыг нуух"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Private Space-н түгжээ"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Та Private Space-н түгжээг төхөөрөмжийнхөө түгжээг тайлдагтайгаа ижил аргаар тайлах эсвэл өөр түгжээ сонгох боломжтой"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Төхөөрөмжийн дэлгэцийн түгжээг ашиглах"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Царай, хурууны хээгээр түгжээ тайлах"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Тохируулахын тулд товшино уу"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Төхөөрөмжийн дэлгэцийн түгжээтэй ижил"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Private Space-т шинэ түгжээ сонгох уу?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Түгжсэн үед нуух"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Түгжээтэй үед Private Space-г нуух"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Таны төхөөрөмжид Private Space байгааг бусад хүнд мэдэгдэхгүй байхын тулд та үүнийг аппуудынхаа жагсаалтаас нууж болно"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Нуусан үед Private Space-т хандах"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Хайлтын талбарт \'Private Space\'-г хайна уу"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Private Space-н хавтанг товшино уу"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Өөрийн Private Space-н түгжээг тайлна уу"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Унтраалттай"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Асаалттай"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Систем"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Хувийн орон зай үүсгэх"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Хувийн орон зайг устгах"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Хувийн орон зайг амжилттай үүсгэсэн"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Хувийн орон зай аль хэдийн байна"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Хувийн орон зайг үүсгэж чадсангүй"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Хувийн орон зайг амжилттай устгасан"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Хувийн орон зайг устгаж чадсангүй"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Дэлгэцийн түгжээг тохируулах"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Хувийн орон зайг ашиглах бол уг төхөөрөмжид дэлгэцийн түгжээ тохируулна уу."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Дэлгэцийн түгжээ тохируулах"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Цуцлах"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Цуцлах"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Тохируулах"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Private Space-г тохируулах"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Хувийн аппуудыг зөвхөн та өөрөө хандах боломжтой аюулгүй газарт нууна уу"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Энэ хэрхэн ажилладаг вэ?"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Та Private Space-т аппуудын жагсаалтынхаа доод талаас хандах боломжтой"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Private Space-н аппуудыг түгжээгээр хамгаалдаг"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Private Space түгжээтэй үед түүний аппуудын мэдэгдлийг нуудаг"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Private Space түгжээтэй үед Private Space-н аппууд зөвшөөрлийн менежер, нууцлалын хяналтын самбар болон бусад тохиргоонд харагдахгүй"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Private Space-г тохируулж байна…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Private Space-г түгжээтэй үед түүний аппуудын ашиглалтын мэдээллийг нуудаг"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Аппуудын жагсаалтаасаа Private Space-т хандах"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Зарим системийн аппыг Private Space-т аль хэдийн суулгасан"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Private Space-г тохируулж чадсангүй"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Одоо дахин оролдох эсвэл дараа буцаж ирнэ үү"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Дахин оролдох"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Түгжээг тайлахад дэлгэцийн түгжээг ашиглах уу?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Та Private Space-н түгжээг төхөөрөмжийнхөө түгжээг тайлдагтайгаа ижил аргаар тайлах эсвэл өөр түгжээ сонгох боломжтой"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Дэлгэцийн түгжээг ашиглах"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Шинэ түгжээ сонгох"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Тохируулж дууслаа!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"Та аппуудын жагсаалтаасаа Private Space-т хандах боломжтой"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Болсон"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Private Space-т хандахын тулд доош гүйлгэнэ үү"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Private Space-г тохируулахаар нэвтрэх"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Та Private Space-г тохируулахын тулд бүртгэлд нэвтрэх шаардлагатай"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Хувийн орон зайг харуулахын тулд (Эцсийн UX биш)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Тохиргоо аппыг нээнэ үү"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Аюулгүй байдал, нууцлал > Хувийн орон зай> Түгжээтэй үед хувийн орон зайг нуухыг товшино уу"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Түгжээтэй үед хувийн орон зайг нуухыг унтраах сэлгүүр"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google-н ажилчдын санамж: Энэ онцлогийн хөгжүүлэлт үргэлжилсээр байна"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Та <xliff:g id="COUNT">%d</xliff:g> хүртэлх хурууны хээ нэмж болно"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Таны зөвшөөрөгдсөн хурууны хээний тоо гүйцсэн байна"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Өөр хурууны хээ нэмэх боломжгүй байна"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Холбох"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Салгах"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Хослуулах ба холбох"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth-г идэвхжүүлсэн үед таны төхөөрөмж ойролцоо байгаа Bluetooth төхөөрөмжүүдтэй холбогдох боломжтой болно."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth асаалттай үед таны төхөөрөмж ойролцоох бусад Bluetooth төхөөрөмжтэй холбогдох боломжтой"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth-г асаасан үед таны төхөөрөмж ойролцоох бусад Bluetooth төхөөрөмжтэй холбогдох боломжтой.\n\nТөхөөрөмжийн хэрэглээг сайжруулахын тулд аппууд болон үйлчилгээнүүд нь хүссэн үед буюу Bluetooth-г унтраалттай байсан ч ойролцоох төхөөрөмжүүдийг скан хийх боломжтой хэвээр байна. Үүнийг байршилд суурилсан онцлогууд болон үйлчилгээнүүдийг сайжруулах зэргээр ашиглаж болно. Та үүнийг Bluetooth-н скан хийх тохиргоонд өөрчлөх боломжтой."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Өөрчлөх"</string>
<string name="device_details_title" msgid="1155622417516195481">"Төхөөрөмжийн дэлгэрэнгүй"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART-д алдааг нь засах боломжтой аппуудын байт кодыг бататгахыг зөвшөөрөх"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Сэргээх хурдыг харуулах"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Одоогийн дэлгэцийн сэргээх хурдыг харуулах"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR-н харьцааг харуулах"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"HDR/SDR-н одоогийн харьцааг харуулах"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC-н төхөөрөмжийн түгжээг тайлах шаардлагатай"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Эвхэгддэг дэлгэцэд аппуудыг үргэлжлүүлэн ашиглах"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Зарим контентын сэргээх хурдыг <xliff:g id="ID_1">%1$d</xliff:g> Гц болгож автоматаар өсгөнө. Батарей ашиглалтыг нэмэгдүүлнэ."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Сэргээх хамгийн өндөр хурдыг хүчлэх"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Хүрэлтийн хариу үйлдэл болон анимацийн чанарыг сайжруулахад зориулсан хамгийн өндөр сэргээх хурд юм. Батарей ашиглалтыг нэмэгдүүлнэ."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Соргог дэлгэц"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Нийтийн тохиргоо"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"Хандалтын цэгийг засах"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Хандалтын цэг нэмэх"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Тохируулаагүй"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Тохируулаагүй"</string>
<string name="apn_name" msgid="6677695784108157953">"Нэр"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Нээхийн тулд хандалтын товчлуурыг ашиглах"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Нээхийн тулд дууны түвшний түлхүүрүүдийг удаан дар"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Нээхийн тулд дэлгэцийг гурав товшино уу"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Нээхийн тулд хоёр хуруугаараа дэлгэцийг гурав товшино уу"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Нээхийн тулд зангааг ашиглах"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Хандалтын зангаа ашиглах"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Энэ онцлогийг ашиглахын тулд дэлгэцийнхээ доод хэсэгт байрлах хандалтын товчлуур <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> дээр товшино уу.\n\nОнцлогуудын хооронд сэлгэхийн тулд хандалтын товчлуур дээр удаан дарна уу."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Энэ онцлогийг ашиглахын тулд дэлгэц дээрх хандалтын товчлуурыг товшино уу."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Энэ онцлогийг ашиглахын тулд дууны түвшний түлхүүрүүдийг зэрэг удаан дарна уу."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Томруулахыг эхлүүлэх болон зогсоохын тулд дэлгэцийнхээ аль нэг хэсэгт гурав товшино уу."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Томруулахыг эхлүүлэх болон зогсоохын тулд хоёр хуруугаараа дэлгэцийнхээ аль нэг хэсэгт гурав товш."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Энэ онцлогийг ашиглахын тулд дэлгэцийн доод хэсгээс 2 хуруугаараа дээш шударна уу.\n\nОнцлогуудын хооронд сэлгэхийн тулд 2 хуруугаараа дээш шударч, удаан дарна уу."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Энэ онцлогийг ашиглахын тулд дэлгэцийн доод хэсгээс 3 хуруугаараа дээш шударна уу.\n\nОнцлогуудын хооронд сэлгэхийн тулд 3 хуруугаараа дээш шударч, удаан дарна уу."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Хандалтын онцлогийг ашиглахын тулд дэлгэцийн доод хэсгээс 2 хуруугаараа дээш шударна уу.\n\nОнцлогуудын хооронд сэлгэхийн тулд 2 хуруугаараа дээш шударч, удаан дарна уу."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Дууны түвшний товчийг удаан дарах"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"дууны түвшний түлхүүрийг удаан дарах"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Дууны түвшний хоёр товчийг зэрэг удаан дарна уу"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Дэлгэцийг хоёр хуруугаараа гурав товшино уу"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"дэлгэцийг хоёр хуруугаараа гурав товшино уу"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Дэлгэцийг хоёр хуруугаараа {0,number,integer} удаа шуурхай товшино уу"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Дэлгэцийг гурав товших"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"дэлгэцийг гурав товших"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Дэлгэцийг {0,number,integer} удаа хурдан товшино уу. Энэ товчлол таны төхөөрөмжийг удаашруулж магадгүй."</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Энэ нь таны апп болон техник хангамжийн мэдрэгчтэй хийх харилцан үйлдлийг хянах болон таны өмнөөс апптай харилцан үйлдэл хийх боломжтой."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Зөвшөөрөх"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Татгалзах"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Зогсоох"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Цуцлах"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g>-г зогсоох уу?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g>-г товшсоноор <xliff:g id="SERVICE">%2$s</xliff:g>-г зогсооно."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Үйлчилгээ суулгагдаагүй байна"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Үйлчилгээ сонгоогүй байна"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Тайлбар байхгүй."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Та арын үйл ажиллагааг аппад хязгаарласан тохиолдолд апп буруу ажиллаж болзошгүй"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Энэ аппыг батарейг оновчлохоор тохируулаагүй тул та үүнийг хязгаарлах боломжгүй.\n\nАппыг хязгаарлахын тулд эхлээд батарейны оновчлолыг асаана уу."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Батарей ашиглалтыг удирдах"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Дэвсгэрийн ашиглалтыг зөвшөөрөх"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Тухайн агшны шинэчлэлт авахыг идэвхжүүлж, батарейг хэмнэхийг идэвхгүй болгоно уу"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Хязгаарлаагүй"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оновчилсон"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Хязгаарласан"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Нэр"</string>
<string name="vpn_type" msgid="5533202873260826663">"Төрөл"</string>
<string name="vpn_server" msgid="2908816134941973935">"Серверийн хаяг"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP шифрлэлт (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP нууцлал"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec таниулагч"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Урьдчилан хуваалцсан IPSec түлхүүр"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec хэрэглэгчийн сертификат"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA сертификат"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec серверийн сертификат"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Дэлгэрэнгүй тохируулгыг харуулах"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS хайлтын домэйнүүд"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS серверүүд (жнь. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Чиглүүлэгчийг дамжуулж байна (жнь. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Хэрэглэгчийн нэр"</string>
<string name="vpn_password" msgid="1183746907642628127">"Нууц үг"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Акаунтын мэдээллийг хадгалах"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ашиглагдаагүй)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(серверийг тулгах хэрэггүй)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(серверээс хүлээн авсан)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Энэ VPN төрөл байнга холбоотой байх боломжгүй"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Тогтмол асаалттай VPN зөвхөн тоон серверийн хаягийг дэмждэг"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"DNS серверийг тогтмол асаалттай VPN-д тогтоох шаардлагатай"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS сервер хаяг тогтмол асаалттай VPN-д тоон утгатай байх шаардлагатай"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Оруулсан мэдээлэл тогтмол асаалттай VPN-г дэмждэггүй"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Цуцлах"</string>
<string name="vpn_done" msgid="5137858784289564985">"Хаах"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Холболтыг VPN-г ашиглахгүйгээр блоклох"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN холболт шаардлагатай юу?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Аюултай. IKEv2 VPN руу шинэчилнэ үү"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Байнга холболттой байхын тулд VPN профайл сонгоно уу. Сүлжээний трафик зөвхөн энэ VPN-д холбогдсон үед зөвшөөрөгдөх болно."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Байхгүй"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Байнга асаалттай байх VPN нь сервер болон DNS-т хоёуланд нь IP хаяг шаардана."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Бүх мэдэгдлийн агуулгыг харуулах"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Эмзэг контентыг зөвхөн түгжээг тайлсан үед харуулах"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Огт мэдэгдэл харуулахгүй"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Та мэдэгдлийг түгжээтэй дэлгэцэд хэрхэн харуулах хүсэлтэй байна вэ?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Та түгжээтэй дэлгэцдээ юу харахыг хүсэж байна вэ?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Түгжээтэй дэлгэц"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Ажлын мэдэгдлийн бүх агуулгыг харуулах"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ажлын эмзэг, хурц агуулгыг нуух"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Бүх файлыг удирдахын тулд хандахыг зөвшөөрөх"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Энэ аппад энэ төхөөрөмж дээрх эсвэл холбогдсон дурын хадгалах сангийн бүх файлыг унших, өөрчлөх болон устгахыг зөвшөөрөх. Зөвшөөрөл олгогдсон бол апп нь танд тодорхойлон мэдэгдэлгүйгээр файлд хандаж болзошгүй."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Бүх файлд хандах боломжтой"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Дуут идэвхжүүлэлтийн аппууд"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Дуут идэвхжүүлэлтийг зөвшөөрөх"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Дуут идэвхжүүлэлт дуут тушаалыг ашиглан гараас хамаарахгүйгээр зөвшөөрөгдсөн аппуудыг асаана. Бүрэлдэхүүн дасан зохицох мэдрэгч нь өгөгдөл зөвхөн танд хувийн байхыг баталгаажуулдаг.\n\n"<a href="">"Хамгаалалттай дасан зохицох мэдрэгчийн талаарх дэлгэрэнгүй"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Бүтэн дэлгэцийн мэдэгдэл"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Энэ аппаас бүтэн дэлгэцийн мэдэгдлийг зөвшөөрөх"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Төхөөрөмжийг түгжээтэй үед энэ аппад бүтэн дэлгэцийг эзлэх мэдэгдэл харуулахыг зөвшөөрнө үү. Сэрүүлэг, ирсэн дуудлага эсвэл бусад яаралтай мэдэгдлийг онцлоход аппууд эдгээрийг ашиглаж магадгүй."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ард байхдаа ердийнхөөс илүү их батарей ашигласан"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> нүүрэн талд байхдаа илүү их батарей ашигласан"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> нүүрэн талд байхдаа ердийнхөөс илүү их батарей ашигласан"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Батарей ашиглалтын согог"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Батарейн их хэмжээний ашиглалт"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Батарейн дэвсгэр дэх их хэмжээний ашиглалт"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Батарейн нүүрэн тал дахь их хэмжээний ашиглалт"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"системийн навигац, 2 товчлуурт навигац, 3 товчлуурт навигац, зангааны навигац, шудрах"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Дижитал туслах"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Туслахыг дуудахын тулд шудрах"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Дижитал туслах аппыг дуудахын тулд доод булангаас дээш шударна уу."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Дижитал туслах аппыг дуудахын тулд доод булангаас дээш шударна уу"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Туслахыг идэвхжүүлэхийн тулд Нүүр хуудасны товчлуур дээр удаан дарна уу"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Дижитал туслах аппыг дуудахын тулд Нүүр хуудасны товчлуурыг удаан дарна уу."</string>
<string name="low_label" msgid="6525629096999711220">"Бага"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Хэл зүйн хүйс сонгох"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Хууран мэхлэх аппууд байгаа эсэхийг скан хийх"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Фишинг байгаа эсэхийг аппын үйл ажиллагаанаас шалгана уу"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Скан хийхийг ашиглах"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Ажлын аппуудад скан хийхийг ашиглах"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Хууран мэхэлсэн аппууд байгаа эсэхийг шалгахад скан хийхийг ашиглана уу"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Ажлын хууран мэхэлсэн аппууд байгаа эсэхийг шалгахад скан хийхийг ашиглана уу"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index eb44af6..646513c 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"स्टायलस"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ऑडिओ शेअरिंग"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ऑडिओ शेअर करा"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"कॉल आणि अलार्म"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ऑडिओ स्ट्रीमशी कनेक्ट करा"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"जवळपासची ऑडिओ स्ट्रीम"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"ऑडिओ स्ट्रीम"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR कोड वापरून ऑडिओ स्ट्रीमशी कनेक्ट करा"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"जवळपासची ऑडिओ स्ट्रीम आढळली नाहीत."</string>
<string name="date_and_time" msgid="1788358029823431692">"तारीख आणि वेळ"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"प्रॉक्सी"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"साफ करा"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"कार्य प्रोफाइल"</string>
<string name="private_space_title" msgid="7078627930195569767">"खाजगी स्पेस"</string>
<string name="private_space_summary" msgid="8237652417163408001">"खाजगी फोल्डरमध्ये ॲप्स लपवा"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"स्क्रीन लॉक वापरून अनलॉक करा"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"फक्त तुम्ही अॅक्सेस करू शकत असलेल्या खाजगी फोल्डरमध्ये ॲप्स लपवा"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"खाजगी स्पेस चे लॉक"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"तुम्ही तुमचे डिव्हाइस अनलॉक करता त्याच प्रकारे तुमची खाजगी स्पेस अनलॉक करू शकता किंवा वेगळे लॉक निवडू शकता"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"डिव्हाइसचे स्क्रीन लॉक वापरा"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"फेस आणि फिंगरप्रिंट अनलॉक"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"सेट करण्यासाठी टॅप करा"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"डिव्हाइसच्या स्क्रीन लॉकसारखेच"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"खाजगी स्पेस साठी नवीन लॉक निवडायचे आहे का?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"लॉक केलेली असताना लपवा"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"खाजगी स्पेस लॉक केलेली असताना ती लपवा"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"डिव्हाइसवर खाजगी स्पेस आहे हे इतरांना कळू नये यासाठी ॲप्स सूचीतून ती लपवता येते"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"तुमची खाजगी स्पेस लपवलेली असताना अॅक्सेस करा"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"शोध बारमध्ये \'खाजगी स्पेस\' शोधा"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"खाजगी स्पेस च्या टाइलवर टॅप करा"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"तुमची खाजगी स्पेस अनलॉक करा"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"बंद आहे"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"सुरू आहे"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"सिस्टीम"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"खाजगी स्पेस तयार करा"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"खाजगी स्पेस हटवा"</string>
- <string name="private_space_created" msgid="2978055968937762232">"खाजगी स्पेस यशस्वीरीत्या तयार केली आहे"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"खाजगी स्पेस आधीपासून अस्तित्वात आहे"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"खाजगी स्पेस तयार केली जाऊ शकत नाही"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"खाजगी स्पेस यशस्वीरीत्या हटवली आहे"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"खाजगी स्पेस हटवली जाऊ शकत नाही"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"स्क्रीन लॉक सेट करा"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"खाजगी जागा वापरण्यासाठी, या डिव्हाइसवर स्क्रीन लॉक सेट करा."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"स्क्रीन लॉक सेट करा"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"रद्द करा"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"रद्द करा"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"सेट करा"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"खाजगी स्पेस सेट करा"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"फक्त तुम्ही अॅक्सेस करू शकता अशा सुरक्षित जागी खाजगी ॲप्स लपवा"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"ती कशी काम करते"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"तुम्ही तुमच्या अॅप्स सूचीच्या तळाशी खाजगी स्पेस अॅक्सेस करू शकता"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"खाजगी स्पेस मधील ॲप्स लॉकद्वारे संरक्षित केलेली असतात"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"खाजगी स्पेस लॉक केलेली असताना त्यामधील ॲप्सच्या सूचना लपवल्या जातात"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"खाजगी स्पेस लॉक केलेली असताना, त्यामधील ॲप्स ही परवानगी व्यवस्थापक, गोपनीयता डॅशबोर्ड आणि इतर सेटिंग्जमध्ये दिसणार नाहीत"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"खाजगी स्पेस सेट करत आहे…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"खाजगी स्पेस ॲप्सची वापर माहिती लॉक केल्यावर लपवली जाते"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"तुमच्या अॅप सूचीमधून खाजगी स्पेस अॅक्सेस करा"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"खाजगी स्पेस सेट करता आली नाही"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"आता पुन्हा प्रयत्न करा किंवा नंतर परत या"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"पुन्हा प्रयत्न करा"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"अनलॉक करण्यासाठी स्क्रीन लॉक वापरायचे आहे का?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"तुम्ही तुमचे डिव्हाइस अनलॉक करता त्याच प्रकारे तुमची खाजगी स्पेस अनलॉक करू शकता किंवा दुसरे लॉक निवडू शकता"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"स्क्रीन लॉक वापरा"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"नवीन लॉक निवडा"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"सर्व तयार आहे!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"पूर्ण झाली"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"खाजगी स्पेस अॅक्सेस करण्यासाठी खाली स्क्रोल करा"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"खाजगी स्पेस सेट करण्यासाठी साइन इन करा"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"खाजगी स्पेस सेट करण्यासाठी तुम्ही खात्यामध्ये साइन इन करणे आवश्यक आहे"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"खाजगी स्पेस दाखवण्यासाठी (अंतिम UX नाही)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Settings अॅप उघडा"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"सुरक्षा आणि गोपनीयता > खाजगी स्पेस > वर टॅप करा लॉक केलेले असताना खाजगी स्पेस लपवा"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"लॉक केलेले असताना खाजगी स्पेस लपवा टॉगल करा"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Googlers साठी टीप: या वैशिष्ट्याचा विकास अद्याप प्रगतीपथावर आहे"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"तुम्ही <xliff:g id="COUNT">%d</xliff:g> पर्यंत फिंगरप्रिंट जोडू शकता"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"तुम्ही जास्तीत जास्त फिंगरप्रिंट जोडले आहेत"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"आणखी फिंगरप्रिंट जोडू शकत नाही"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"कनेक्ट करा"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"डिस्कनेक्ट करा"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"पेअर करा आणि कनेक्ट करा"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ब्लूटूथ सुरू असते तेव्हा, तुमचे डिव्हाइस इतर जवळच्या ब्लूटूथ डिव्हाइस सह संवाद करू शकते."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ब्लूटूथ सुरू केल्यावर, डिव्हाइस हे जवळील ब्लूटूथ डिव्हाइसशी संवाद साधेल"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ब्लूटूथ सुरू असते, तेव्हा तुमचे डिव्हाइस इतर जवळपासच्या ब्लूटूथ डिव्हाइसशी संवाद साधू शकते.\n\nडिव्हाइसच्या अनुभवामध्ये सुधारणा करण्यासाठी, ब्लूटूथ बंद असतानादेखील, अॅप्स आणि सेवा जवळपासची डिव्हाइस कधीही स्कॅन करू शकतात. उदाहरणार्थ, हे स्थानावर आधारित वैशिष्ट्ये आणि सेवांमध्ये सुधारणा करण्यासाठी वापरले जाऊ शकते. तुम्ही हे ब्लूटूथ स्कॅनिंग सेटिंग्जमध्ये जाऊन बदलू शकता."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"बदला"</string>
<string name="device_details_title" msgid="1155622417516195481">"डिव्हाइस तपशील"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"डीबग करण्यायोग्य ॲप्ससाठी बाइटकोडची पडताळणी करण्यासाठी ART ला अनुमती द्या"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"रिफ्रेश रेट दाखवा"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"सध्याचा प्रदर्शन रिफ्रेश रेट दाखवा"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR रेशो दाखवा"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"सध्याचा HDR/SDR रेशो दाखवा"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC साठी डिव्हाइस अनलॉक आवश्यक आहे"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android बीम"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"फोल्डवर ॲप्स वापरणे पुढे सुरू ठेवा"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"स्मूथ डिस्प्ले"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"काही आशयासाठी रिफ्रेश रेट कमाल <xliff:g id="ID_1">%1$d</xliff:g> Hz पर्यंत आपोआप वाढवते. बॅटरी वापर वाढवते."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"सक्तीने सर्वोच्च रिफ्रेश रेट गाठा"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"सुधारित स्पर्श प्रतिसाद आणि अॅनिमेशन गुणवत्तेसाठी उच्चतम रिफ्रेश रेट. बॅटरी वापर वाढवतो."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"स्क्रीन अटेंशन"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"सामुदायिक सेटिंग्ज"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"अॅक्सेस पॉइंट संपादित करा"</string>
+ <string name="apn_add" msgid="9069613192201630934">"ॲक्सेस पॉइंट जोडा"</string>
<string name="apn_not_set" msgid="8246646433109750293">"सेट नाही"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"सेट केलेले नाही"</string>
<string name="apn_name" msgid="6677695784108157953">"नाव"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"उघडण्यासाठी अॅक्सेसिबिलिटी बटण वापरा"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"उघडण्यासाठी व्हॉल्यूम की धरून ठेवा"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"उघडण्यासाठी स्क्रीनवर तीनदा टॅप करा"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"उघडण्यासाठी स्क्रीनवर दोन बोटांनी तीन वेळा टॅप करा"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"उघडण्यासाठी जेश्चर वापरा"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ॲक्सेसिबिलिटी जेश्चर वापरा"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"हे वैशिष्ट्य वापरण्यासाठी, तुमच्या स्क्रीनच्या तळाशी असलेले ॲक्सेसिबिलिटी बटणावर <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> टॅप करा.\n\nवैशिष्टयांदरम्यान स्विच करण्यासाठी ॲक्सेसिबिलिटी बटणाला स्पर्श करा आणि धरून ठेवा."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"हे वैशिष्ट्य वापरण्यासाठी, तुमच्या स्क्रीनवरील अॅक्सेसिबिलिटी बटणावर टॅप करा."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"हे वैशिष्ट्य वापरण्यासाठी, दोन्ही व्हॉल्यूम की प्रेस करून धरून ठेवा."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"मॅग्निफिकेशन सुरू करण्यासाठी आणि थांबवण्यासाठी तुमच्या स्क्रीनवर कुठेही तीनदा टॅप करा."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"मॅग्निफिकेशन सुरू करण्यासाठी आणि थांबवण्यासाठी तुमच्या स्क्रीनवर दोन बोटांनी कुठेही तीनदा टॅप करा."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"हे वैशिष्ट्य वापरण्यासाठी, दोन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nवैशिष्ट्यांदरम्यान स्विच करण्यासाठी दोन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"हे वैशिष्ट्य वापरण्यासाठी, तीन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nवैशिष्ट्यांदरम्यान स्विच करण्यासाठी तीन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ॲक्सेसिबिलिटी वैशिष्ट्य वापरण्यासाठी, दोन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nवैशिष्ट्यांदरम्यान स्विच करण्यासाठी दोन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"व्हॉल्यूम की प्रेस करून ठेवा"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"व्हॉल्यूम की प्रेस करून ठेवा"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"दोन्ही व्हॉल्यूम की प्रेस करून धरून ठेवा"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"स्क्रीनवर दोन बोटांनी तीन वेळा टॅप करा"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"स्क्रीनवर दोन बोटांनी तीन वेळा टॅप करा"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"दोन बोटांनी स्क्रीनवर {0,number,integer} वेळा झटपट टॅप करा"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"स्क्रीनवर तीन वेळा टॅप करा"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"स्क्रीनवर तीन वेळा टॅप करा"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"स्क्रीनवर झटपट {0,number,integer} वेळा टॅप करा. हा शॉर्टकट तुमच्या डिव्हाइसचा वेग कमी करू शकताे"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"हे तुमचा ॲप किंवा हार्डवेअर सेन्सरसोबतचा परस्परसंवाद ट्रॅक करू शकते आणि इतर ॲप्ससोबत तुमच्या वतीने संवाद साधू शकते."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"अनुमती द्या"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"नकार द्या"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"थांबा"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"रद्द करा"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> थांबवायचे?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> वर टॅप केल्याने <xliff:g id="SERVICE">%2$s</xliff:g> थांबेल."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"सेवा इंस्टॉल केल्या नाहीत"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"कोणतीही सेवा निवडलेली नाही"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"वर्णन प्रदान केले नाही."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"तुम्ही एखाद्या ॲपसाठी बॅकग्राउंड ॲक्टिव्हिटी मर्यादित ठेवल्यास, ते व्यवस्थित न चालण्याची शक्यता आहे"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"हे अॅप बॅटरी ऑप्टिमाइझ करण्यासाठी सेट केलेले नसल्याने, तुम्ही ते प्रतिबंधित करू शकत नाही.\n\nअॅप प्रतिबंधित करण्यासाठी, प्रथम बॅटरी ऑप्टिमायझेशन सुरू करा"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"बॅटरीचा वापर व्यवस्थापित करा"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"बॅकग्राउंडमधील वापराला अनुमती द्या"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"रीअल-टाइम अपडेटसाठी सुरू करा, बॅटरीची बचत करण्यासाठी बंद करा"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"कोणताही प्रतिबंध नाही"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ऑप्टिमाइझ केली"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"प्रतिबंधित"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"नाव"</string>
<string name="vpn_type" msgid="5533202873260826663">"प्रकार"</string>
<string name="vpn_server" msgid="2908816134941973935">"सर्व्हर अॅड्रेस"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP एंक्रिप्शन (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP गुपीत"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ओळखकर्ता"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec आधीच शेअर केलेली की"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec वापरकर्ता प्रमाणपत्र"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA प्रमाणपत्र"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec सर्व्हर प्रमाणपत्र"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"प्रगत पर्याय दाखवा"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS शोध डोमेन"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS सर्व्हर (उदा. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"फॉरवर्ड करण्याचा मार्ग (उदा. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"वापरकर्ता नाव"</string>
<string name="vpn_password" msgid="1183746907642628127">"पासवर्ड"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"खाते माहिती सेव्ह करा"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(वापरले नाही)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(सर्व्हरची पडताळणी करू नका)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(सर्व्हरवरुन प्राप्त झालेले)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"हा VPN प्रकार सर्व वेळी कनेक्ट केलेला राहू शकत नाही"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"नेहमी सुरू VPN केवळ अंक असलेल्या सर्व्हर अॅड्रेसना सपोर्ट करतात"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"नेहमी-सुरू VPN साठी DNS सर्व्हर नमूद करणे आवश्यक आहे"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"नेहमी-सुरू VPN साठी DNS सर्व्हर पत्ते अंकीय असणे आवश्यक आहे"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"एंटर केलेली माहिती नेहमी सुरू VPN ला सपोर्ट करत नाही"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"रद्द करा"</string>
<string name="vpn_done" msgid="5137858784289564985">"डिसमिस करा"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN शिवायची कनेक्शन ब्लॉक करा"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN कनेक्शन आवश्यक आहे?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"सुरक्षित नाही. IKEv2 VPN वर अपडेट करा"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"नेहमी कनेक्ट केलेले राहण्यासाठी एक VPN प्रोफाईल निवडा. केवळ या VPN शी कनेक्ट केलेले असताना नेटवर्क रहदारीला अनुमती दिली जाईल."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"काहीही नाही"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"नेहमी सुरू असलेल्या VPN ला सर्व्हर आणि DNS दोन्हीसाठी एका IP पत्त्याची आवश्यकता आहे."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"सूचनेतील सर्व आशय दाखवा"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"संवेदनशील आशय केवळ अनलॉक केलेले असताना दाखवा"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"सूचना अजिबात दाखवू नका"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"तुम्ही लॉक स्क्रीन कशी प्रदर्शित करू इच्छिता?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"तुम्हाला तुमच्या लॉक स्क्रीनने काय दाखवावे असे वाटते?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"लॉक स्क्रीन"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"सर्व कार्य सूचना आशय दर्शवा"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"संवेदनशील कार्य आशय लपवा"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"सर्व फाइल व्यवस्थापनासाठी अॅक्सेस द्या"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"या ॲपला या डिव्हाइसवरील किंवा कनेक्ट केलेल्या स्टोरेज व्हॉल्यूममधील सर्व फाइल वाचण्याची, सुधारित करण्याची आणि हटवण्याची अनुमती द्या. अनुमती दिली असल्यास, ॲप कदाचित तुम्हाला न विचारता फाइलला अॅक्सेस करू शकते"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"सर्व फाइल अॅक्सेस करू शकते"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"व्हॉइस ॲक्टिव्हेशनशी संबंधित अॅप्स"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"व्हॉइस ॲक्टिव्हेशनला अनुमती द्या"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"व्हॉइस ॲक्टिव्हेशन हे व्हॉइस कमांड वापरून मंजूर केलेली ॲप्स, हँड्स-फ्री सुरू करते. बिल्ट-इन संरक्षित अडॅप्टिव्ह सेन्सिंग हे डेटा फक्त तुमच्यासाठी खाजगी राहील याची खात्री करते.\n\n"<a href="">"संरक्षित अडॅप्टिव्ह सेन्सिंगविषयी आणखी"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"फुल स्क्रीन सूचना"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"या ॲपवरील फुल स्क्रीन सूचनांना अनुमती द्या"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"डिव्हाइस लॉक असताना या ॲपला फुल स्क्रीन वापरणाऱ्या सूचना दाखवण्याची अनुमती द्या. ॲप्स यांचा वापर अलार्म, इनकमिंग कॉल किंवा इतर तातडीच्या सूचना हायलाइट करण्यासाठी करू शकतात."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"बॅकग्राउंडमध्ये असताना <xliff:g id="APP_LABEL">%1$s</xliff:g> ने नेहमीपेक्षा अधिक बॅटरी वापरली आहे"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"फोरग्राउंडमध्ये असताना <xliff:g id="APP_LABEL">%1$s</xliff:g> ने अधिक बॅटरी वापरली आहे"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"फोरग्राउंडमध्ये असताना <xliff:g id="APP_LABEL">%1$s</xliff:g> ने नेहमीपेक्षा अधिक बॅटरी वापरली आहे"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"बॅटरी वापर विसंगती"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"बॅटरीचा अधिक वापर"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"बॅकग्राउंडमध्ये बॅटरीचा अधिक वापर"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"फोरग्राउंडमध्ये बॅटरीचा अधिक वापर"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"सिस्टम नेव्हिगेशन, दोन बटण नेव्हिगेशन, तीन बटण नेव्हिगेशन, जेश्चर नेव्हिगेशन, स्वाइप"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"डिजिटल असिस्टंट"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"असिस्टंट अॅक्टिव्हेट करण्यासाठी स्वाइप करा"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"डिजिटल असिस्टंट अॅप अॅक्टिव्हेट करण्यासाठी तळाच्या कोपऱ्यापासून वर स्वाइप करा."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"डिजिटल असिस्टंट अॅपची विनंती करण्यासाठी तळाच्या कोपऱ्यापासून वर स्वाइप करा"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"असिस्टंट अॅक्टिव्हेट करण्यासाठी होम बटण धरून ठेवा"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"डिजिटल असिस्टंट अॅप अॅक्टिव्हेट करण्यासाठी होम बटण प्रेस करून धरून ठेवा."</string>
<string name="low_label" msgid="6525629096999711220">"कमी"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"व्याकरणानुसार लिंगासंबंधी माहिती निवडा"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"फसव्या अॅप्ससाठी स्कॅन करत आहे"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"फिशिंगसाठी अॅप अॅक्टिव्हिटी तपासा"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"स्कॅनिंग वापरणे"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"कामाशी संबंधित अॅप्ससाठी स्कॅनिंग वापरणे"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"फसव्या अॅप्ससाठी स्कॅनिंग वापरा"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"कामासंबंधित फसव्या अॅप्ससाठी स्कॅनिंग वापरा"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 5bf4a4e..41034b4 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Perkongsian audio"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Kongsi audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Panggilan dan penggera"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Sambung kepada strim LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Strim audio berdekatan"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Strim audio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Sambung kepada strim audio menggunakan kod QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Tiada strim audio berdekatan ditemukan."</string>
<string name="date_and_time" msgid="1788358029823431692">"Tarikh & masa"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proksi"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Padam bersih"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Profil kerja"</string>
<string name="private_space_title" msgid="7078627930195569767">"Ruang Peribadi"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Sembunyikan apl dalam folder peribadi"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Buka kunci menggunakan kunci skrin"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Sembunyikan apl dalam folder peribadi yang hanya anda boleh akses"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Kunci Ruang Peribadi"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Anda boleh membuka kunci Ruang Peribadi menggunakan cara yang sama seperti anda membuka kunci peranti anda atau memilih kunci yang lain"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Gunakan kunci skrin peranti"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Buka Kunci Wajah & Cap Jari"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Ketik untuk membuat persediaan"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Sama seperti kunci skrin peranti"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Pilih kunci baharu untuk Ruang Peribadi?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Sembunyikan apabila dikunci"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Sembunyikan Ruang Peribadi apabila dikunci"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Sembunyikan Ruang Peribadi daripada senarai apl anda supaya tidak diketahui pengguna lain"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Akses Ruang Peribadi apabila disembunyikan"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Cari \'Ruang Peribadi\' dalam bar carian"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Ketik jubin Ruang Peribadi"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Buka kunci Ruang Peribadi anda"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Mati"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Hidup"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Buat Ruang Peribadi"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Padamkan Ruang Peribadi"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Ruang Peribadi berjaya dibuat"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Ruang Peribadi sudah wujud"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Ruang Peribadi tidak dapat dibuat"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Ruang Peribadi berjaya dipadamkan"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Ruang Peribadi tidak dapat dipadamkan"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Tetapkan kunci skrin"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Untuk Ruang Peribadi, tetapkan kunci skrin pada peranti ini."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Tetapkan kunci skrin"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Batal"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Batal"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Persediaan"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Sediakan Ruang Peribadi"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Sembunyikan apl peribadi dalam ruang selamat yang hanya boleh diakses oleh anda"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Cara apl ini berfungsi"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Anda boleh mengakses Ruang Peribadi daripada bahagian bawah senarai apl anda"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Apl dalam Ruang Peribadi dilindungi dengan kunci"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Pemberitahuan daripada apl dalam Ruang Peribadi disembunyikan apabila apl dikunci"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Apl Ruang Peribadi tidak dipaparkan dalam pengurus kebenaran, papan pemuka privasi dan tetapan lain apabila Ruang Peribadi dikunci"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Menyediakan Ruang Peribadi…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Maklumat penggunaan untuk apl Ruang Peribadi disembunyikan apabila ap dikunci"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Akses Ruang Peribadi daripada senarai apl anda"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Sesetengah apl sistem telah dipasang dalam Ruang Peribadi"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Tidak dapat menyediakan Ruang Peribadi"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Cuba lagi sekarang atau kembali sebentar lagi"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Cuba Lagi"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Gunakan kunci skrin untuk membuka kunci?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Anda boleh membuka kunci Ruang Peribadi menggunakan cara yang sama seperti anda membuka kunci peranti anda atau memilih kunci yang lain"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Gunakan kunci skrin"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Pilih kunci baharu"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Siap!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"Anda boleh mengakses Ruang Peribadi daripada senarai apl anda"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Selesai"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Tatal ke bawah untuk mengakses Ruang Peribadi"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Log masuk untuk menyediakan Ruang Peribadi"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Anda perlu log masuk ke akaun untuk menyediakan Ruang Peribadi"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Untuk memaparkan Ruang Peribadi (Bukan UX akhir)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Buka Apl Tetapan"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Ketik Keselamatan & privasi > Ruang Peribadi > Sembunyikan Ruang Peribadi apabila dikunci"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Togol Matikan Sembunyikan Ruang Peribadi apabila dikunci"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Nota kepada Googler: Pembangunan ciri ini belum selesai"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Anda boleh menambah sehingga <xliff:g id="COUNT">%d</xliff:g> cap jari"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Anda telah menambahkan bilangan maksimum cap jari"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Tidak boleh menambahkan lagi cap jari"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Sambung"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Putus sambungan"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Gandingkan & sambung"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Apabila Bluetooth dihidupkan, peranti anda boleh berkomunikasi dengan peranti Bluetooth lain yang berhampiran."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Apabila Bluetooth dihidupkan, peranti anda boleh berkomunikasi dengan peranti Bluetooth lain yang berdekatan"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Apabila Bluetooth dihidupkan, peranti anda dapat berkomunikasi dengan peranti Bluetooth lain yang berada berdekatan.\n\nUntuk meningkatkan pengalaman peranti, apl dan perkhidmatan masih dapat melakukan pengimbasan untuk mengesan peranti berdekatan pada bila-bila masa, meskipun apabila Bluetooth dimatikan. Tetapan ini boleh digunakan, contohnya, untuk meningkatkan ciri dan perkhidmatan berasaskan lokasi. Anda boleh menukar tetapan ini dalam tetapan pengimbasan Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Tukar"</string>
<string name="device_details_title" msgid="1155622417516195481">"Butiran peranti"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Benarkan ART mengesahkan kod bait apl boleh dinyahpepijat"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Tunjukkan kadar muat semula"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Tunjukkan kadar muat semula paparan semasa"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Tunjukkan nisbah HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Tunjukkan nisbah HDR/SDR semasa"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Memerlukan buka kunci peranti untuk NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Terus menggunakan apl semasa dilipat"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Meningkatkan kadar segar semula hingga <xliff:g id="ID_1">%1$d</xliff:g> Hz untuk sesetengah kandungan secara automatik. Meningkatkan penggunaan bateri."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Paksa kadar muat semula puncak"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Kadar muat semula tertinggi untuk keresponsifan sentuhan & kualiti animasi yang dipertingkat. Meningkatkan penggunaan bateri."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Perhatian skrin"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Tetapan umum"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Edit titik capaian"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Tambahkan titik akses"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Tidak ditetapkan"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Tidak ditetapkan"</string>
<string name="apn_name" msgid="6677695784108157953">"Nama"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Gunakan butang kebolehaksesan untuk buka"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Tahan kekunci kelantangan untuk buka"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Ketik skrin tiga kali untuk buka"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Ketik skrin tiga kali menggunakan dua jari untuk membuka"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Gunakan gerak isyarat untuk buka"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Gunakan gerak isyarat kebolehaksesan"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Untuk menggunakan ciri ini, ketik butang kebolehaksesan <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> di bahagian bawah skrin anda.\n\nUntuk menukar antara ciri, sentuh & tahan butang kebolehaksesan."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Untuk menggunakan ciri ini, ketik butang kebolehaksesan pada skrin anda."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Untuk menggunakan ciri ini, tekan & tahan kedua-dua kekunci kelantangan."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Untuk memulakan dan menghentikan pembesaran, ketik tiga kali di mana-mana bahagian skrin anda."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Untuk memulakan dan menghentikan pembesaran, ketik tiga kali pada skrin anda menggunakan dua jari."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Untuk menggunakan ciri ini, leret ke atas dari bahagian bawah skrin dengan menggunakan 2 jari.\n\nUntuk menukar antara ciri, leret ke atas dengan menggunakan 2 jari dan tahan."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Untuk menggunakan ciri ini, leret ke atas dari bahagian bawah skrin dengan menggunakan 3 jari.\n\nUntuk menukar antara ciri, leret ke atas dengan menggunakan 3 jari dan tahan."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Untuk menggunakan ciri kebolehcapaian, leret ke atas dari bahagian bawah skrin dengan menggunakan 2 jari.\n\nUntuk menukar antara ciri, leret ke atas dengan menggunakan 2 hari dan tahan."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Tahan kekunci kelantangan"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"tahan kekunci kelantangan"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Tekan & tahan kedua-dua kekunci kelantangan"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Ketik skrin tiga kali menggunakan dua jari"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ketik skrin tiga kali menggunakan dua jari"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Ketik skrin {0,number,integer} kali dengan cepat menggunakan dua jari"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ketik tiga kali pada skrin"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ketik tiga kali pada skrin"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ketik skrin {0,number,integer} kali dengan pantas. Pintasan ini mungkin memperlahankan peranti anda"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Ciri ini boleh menjejaki interaksi anda dengan apl atau penderia perkakasan dan berinteraksi dengan apl bagi pihak anda."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Benarkan"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Tolak"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Berhenti"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Batal"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Hentikan <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Mengetik <xliff:g id="STOP">%1$s</xliff:g> akan menghentikan <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Tiada perkhidmatan dipasang"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Tiada perkhidmatan yang dipilih"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Tiada keterangan disediakan."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Jika anda mengehadkan aktiviti latar belakang untuk apl, fungsi apl itu mungkin terganggu"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Apl ini tidak boleh dihadkan kerana tidak ditetapkan untuk mengoptimumkan bateri.\n\nHidupkan pengoptimuman bateri dahulu."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Urus penggunaan bateri"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Benarkan penggunaan latar"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Dayakan kemaskinian masa nyata, lumpuhkan ciri untuk menjimatkan bateri"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Tiada sekatan"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Dioptimumkan"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Terhad"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nama"</string>
<string name="vpn_type" msgid="5533202873260826663">"Jenis"</string>
<string name="vpn_server" msgid="2908816134941973935">"Alamat pelayan"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Penyulitan PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Rahsia L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Pengecam IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Kunci prakongsi IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Sijil pengguna IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Sijil CA IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Sijil pelayan IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Tunjukkan pilihan terperinci"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domain carian DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Pelayan DNS (mis. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Laluan pemajuan (mis. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nama pengguna"</string>
<string name="vpn_password" msgid="1183746907642628127">"Kata laluan"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Simpan maklumat akaun"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(tidak digunakan)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(jangan sahkan pelayan)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(diterima daripada pelayan)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Jenis VPN ini tidak dapat kekal tersambung pada sepanjang masa"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN sentiasa hidup hanya menyokong alamat pelayan dalam format angka"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Pelayan DNS mesti ditetapkan untuk VPN sentiasa hidup"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Alamat pelayan DNS mestilah dalam format angka untuk VPN sentiasa hidup"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Maklumat yang dimasukkan tidak menyokong VPN sentiasa hidup"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Batal"</string>
<string name="vpn_done" msgid="5137858784289564985">"Ketepikan"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Sekat sambungan tanpa VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Perlukan sambungan VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Tidak selamat. Kemas kini kepada IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Pilih profil VPN untuk sentiasa kekal tersambung. Trafik rangkaian hanya akan dibenarkan apabila bersambung ke VPN ini."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Tiada"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN yang sentiasa dihidupkan memerlukan alamat IP untuk kedua-dua pelayan dan DNS."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Tunjukkan semua kandungan pemberitahuan"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Tunjukkan kandungan sensitif ketika tidak berkunci"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Jangan tunjukkan pemberitahuan sama sekali"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Bagaimanakah paparan skrin kunci yang anda inginkan?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Apakah yang mahu dipaparkan pada skrin kunci anda?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Skrin kunci"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Tunjukkan semua kandungan pemberitahuan kerja"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Sembunyikan kandungan kerja yang sensitif"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Benarkan akses untuk mengurus semua fail"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Benarkan apl ini membaca, mengubah suai dan memadamkan semula fail pada peranti ini atau mana-mana unit storan yang disambungkan. Jika dibenarkan, apl mungkin mengakses fail tanpa pengetahuan anda secara jelas."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Boleh mengakses semua fail"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apl pengaktifan suara"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Benarkan pengaktifan suara"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Pengaktifan suara menghidupkan apl yang diluluskan, secara bebas tangan menggunakan perintah suara. Pengesanan boleh suai terbina dalam memastikan data kekal peribadi kepada anda.\n\n"<a href="">"Maklumat lanjut tentang pengesanan boleh suai yang dilindungi"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Pemberitahuan skrin penuh"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Benarkan pemberitahuan skrin penuh daripada apl ini"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Benarkan apl ini untuk memaparkan pemberitahuan menggunakan skrin penuh apabila peranti dikunci. Apl mungkin menggunakan ciri ini untuk menyerlahkan penggera, panggilan masuk atau pemberitahuan mustahak yang lain."</string>
@@ -3884,7 +3866,7 @@
<string name="memory_summary" msgid="8221954450951651735">"Purata <xliff:g id="USED_MEMORY">%1$s</xliff:g> daripada <xliff:g id="TOTAL_MEMORY">%2$s</xliff:g> memori digunakan"</string>
<string name="users_summary" msgid="8473589474976307510">"Dilog masuk sebagai <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
<string name="android_version_summary" msgid="7818952662015042768">"Dikemaskinikan kepada Android <xliff:g id="VERSION">%1$s</xliff:g>"</string>
- <string name="android_version_pending_update_summary" msgid="5404532347171027730">"Kemas kini tersedia"</string>
+ <string name="android_version_pending_update_summary" msgid="5404532347171027730">"Kemaskinian tersedia"</string>
<string name="disabled_by_policy_title" msgid="6852347040813204503">"Disekat oleh dasar kerja"</string>
<string name="disabled_by_policy_title_adjust_volume" msgid="1669689058213728099">"Kelantangan tidak boleh ditukar"</string>
<string name="disabled_by_policy_title_outgoing_calls" msgid="400089720689494562">"Tidak dapat membuat panggilan"</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> menggunakan lebih banyak kuasa bateri daripada biasa semasa dalam latar"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> menggunakan lebih banyak kuasa bateri semasa dalam latar depan"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> menggunakan lebih banyak kuasa bateri daripada biasa semasa dalam latar depan"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomali penggunaan bateri"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Penggunaan kuasa bateri yang tinggi"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Penggunaan kuasa bateri yang tinggi dalam latar"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Penggunaan kuasa bateri yang tinggi dalam latar depan"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navigasi sistem, navigasi 2 butang, navigasi 3 butang, navigasi gerak isyarat, leret"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Pembantu digital"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Leret untuk menggunakan pembantu"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Leret ke atas dari sudut bawah untuk menggunakan apl pembantu digital."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Leret ke atas dari sudut bawah untuk menggunakan apl pembantu digital"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Tahan butang Skrin Utama untuk menggunakan Assistant"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Tekan dan tahan butang Skrin Utama untuk menggunakan apl pembantu digital."</string>
<string name="low_label" msgid="6525629096999711220">"Rendah"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Pilih Jantina tatabahasa"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Mengimbas untuk mengesan apl yang mengelirukan"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Semak aktiviti apl untuk mengesan pancingan data"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Gunakan pengimbasan"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Gunakan pengimbasan untuk apl kerja"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Gunakan ciri pengimbasan untuk mengesan apl yang mengelirukan"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Gunakan ciri pengimbasan untuk mengesan apl yang mengelirukan untuk kerja"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 4d723dcc..2d0a983 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"အခြား စက်ပစ္စည်းများ"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"သိမ်းထားသည့် စက်ပစ္စည်းများ"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"အကောင့်နှင့် သက်ဆိုင်သည်"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"အကောင့်ဖြင့် ယခင်က အသုံးပြုထားပါသည်"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"အကောင့်နှင့် ယခင်က တွဲဖက်အသုံးပြုထားသည့်စက်များ"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"တွဲချိတ်ရန် ဘလူးတုသ်ကို ဖွင့်ပါမည်"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"ချိတ်ဆက်မှု ဦးစားပေးများ"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ယခင် ချိတ်ဆက်ထားသည်များ"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"စတိုင်လပ်စ်"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"အသံမျှဝေခြင်း"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"အသံမျှဝေရန်"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ခေါ်ဆိုမှုနှင့် နှိုးစက်များ"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE အသံထုတ်လွှင့်မှုနှင့် ချိတ်ဆက်ခြင်း"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"အနီးအနားရှိ အသံထုတ်လွှင့်ခြင်းများ"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"အသံထုတ်လွှင့်ခြင်းများ"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR ကုဒ်သုံး၍ အသံထုတ်လွှင့်ခြင်းနှင့် ချိတ်ဆက်ပါ"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"အနီးအနား၌ အသံထုတ်လွှင့်ခြင်း မတွေ့ပါ။"</string>
<string name="date_and_time" msgid="1788358029823431692">"ရက်စွဲနှင့် အချိန်"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"ပရောက်စီ"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"ရှင်းရန်"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"အလုပ်ပရိုဖိုင်"</string>
<string name="private_space_title" msgid="7078627930195569767">"သီးသန့်ချတ်ခန်း"</string>
<string name="private_space_summary" msgid="8237652417163408001">"အက်ပ်များကို သီးသန့်ဖိုင်တွဲတွင် ဖျောက်နိုင်သည်"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"ဖန်သားပြင်လော့ခ်သုံး၍ ဖွင့်ရန်"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"သင်တစ်ဦးတည်းသာ သုံးနိုင်သော သီးသန့်ဖိုင်တွဲတွင် အက်ပ်များကို ဖျောက်ထားနိုင်သည်"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"သီးသန့်ချတ်ခန်းလော့ခ်"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"သင့်စက်ကို ဖွင့်သည့်နည်းတူ ‘သီးသန့်ချတ်ခန်း’ ကို ဖွင့်နိုင်သည် (သို့) အခြားလော့ခ်တစ်ခု ရွေးနိုင်သည်"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"စက်ဖန်သားပြင်လော့ခ် သုံးရန်"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"မျက်နှာနှင့် လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"စနစ်ထည့်သွင်းရန် တို့ပါ"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"စက်ဖန်သားပြင်လော့ခ်နှင့် အတူတူပင်ဖြစ်သည်"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"‘သီးသန့်ချတ်ခန်း’ အတွက် လော့ခ်အသစ် ရွေးမလား။"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"လော့ခ်ချထားချိန်တွင် ဖျောက်ရန်"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"‘သီးသန့်ချတ်ခန်း’ လော့ခ်ချထားချိန်တွင် ဖျောက်ရန်"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"သင့်စက်၌ ‘သီးသန့်ချတ်ခန်း’ ရှိကြောင်း အခြားသူများ မသိတော့စေရန် ၎င်းကို သင့်အက်ပ်စာရင်းမှ ဖျောက်နိုင်သည်"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"‘သီးသန့်ချတ်ခန်း’ ကို ဖျောက်ထားချိန်တွင် သုံးခြင်း"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"ရှာဖွေမှုဘားတွင် ‘သီးသန့်ချတ်ခန်း’ ရှာရန်"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"‘သီးသန့်ချတ်ခန်း’ အကွက်ငယ်ကို တို့ရန်"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"‘သီးသန့်ချတ်ခန်း’ ကို ဖွင့်ရန်"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ပိတ်"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ဖွင့်"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"စနစ်"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"‘သီးသန့်ချတ်ခန်း’ ပြုလုပ်ရန်"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"‘သီးသန့်ချတ်ခန်း’ ဖျက်ရန်"</string>
- <string name="private_space_created" msgid="2978055968937762232">"‘သီးသန့်ချတ်ခန်း’ ပြုလုပ်ပြီးပြီ"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"‘သီးသန့်ချတ်ခန်း’ ရှိပြီးသားဖြစ်သည်"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"‘သီးသန့်ချတ်ခန်း’ ပြုလုပ်၍မရပါ"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"‘သီးသန့်ချတ်ခန်း’ ကိုဖျက်ပြီးပါပြီ"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"‘သီးသန့်ချတ်ခန်း’ ကိုဖျက်၍မရပါ"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"ဖန်သားပြင်လော့ခ် သတ်မှတ်ပါ"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"‘သီးသန့်ချတ်ခန်း’ သုံးရန် ဤစက်၌ ဖန်သားပြင်လော့ခ် သတ်မှတ်ပါ။"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"ဖန်သားပြင်လော့ခ် သတ်မှတ်ရန်"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"မလုပ်တော့"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"မလုပ်တော့"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"စနစ်ထည့်သွင်းရန်"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"‘သီးသန့်ချတ်ခန်း’ ကို စနစ်ထည့်သွင်းပါ"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"သင်သာ ဝင်နိုင်သည့် လုံခြုံသောချတ်ခန်းရှိ သီးသန့်အက်ပ်များကို ဖျောက်ပါ"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"အလုပ်လုပ်ပုံ"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"‘သီးသန့်ချတ်ခန်း’ ကို သင့်အက်ပ်စာရင်းအောက်ခြေမှ ဝင်နိုင်သည်"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"‘သီးသန့်ချတ်ခန်း’ ရှိ အက်ပ်များကို လော့ခ်ဖြင့် ကာကွယ်ထားသည်"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"‘သီးသန့်ချတ်ခန်း’ လော့ခ်ချထားချိန်တွင် ၎င်းရှိ အက်ပ်များမှ အကြောင်းကြားချက်များကို ဖျောက်ထားသည်"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"‘သီးသန့်ချတ်ခန်း’ လော့ခ်ချထားချိန်တွင် ‘သီးသန့်ချတ်ခန်း’ အက်ပ်များကို ခွင့်ပြုချက်စီမံစနစ်၊ ကိုယ်ရေးအချက်အလက် လုံခြုံမှု ဒက်ရှ်ဘုတ်နှင့် အခြားဆက်တင်များတွင် မြင်ရမည်မဟုတ်ပါ"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"‘သီးသန့်ချတ်ခန်း’ ကို စနစ်ထည့်သွင်းနေသည်…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"လော့ခ်ချထားသောအခါ ‘သီးသန့်ချတ်ခန်း’ အက်ပ်များအတွက် အသုံးပြုမှုအချက်အလက်ကို ဖျောက်ထားသည်"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"သင့်အက်ပ်စာရင်းမှ ‘သီးသန့်ချတ်ခန်း’ သုံးခြင်း"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"‘သီးသန့်ချတ်ခန်း’ ကို စနစ်ထည့်သွင်း၍မရပါ"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"ယခု ထပ်စမ်းကြည့်ပါ (သို့) နောက်မှပြန်လာပါ"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"ထပ်စမ်းရန်"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"ဖွင့်ရန် ဖန်သားပြင်လော့ခ် သုံးမလား။"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"သင့်စက်ကို ဖွင့်သည့်နည်းတူ ‘သီးသန့်ချတ်ခန်း’ ကို ဖွင့်နိုင်သည် (သို့) အခြားလော့ခ်တစ်ခု ရွေးနိုင်သည်"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"ဖန်သားပြင်လော့ခ် သုံးရန်"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"လော့ခ်အသစ် ရွေးရန်"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"အားလုံး အသင့်ပါ။"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"ပြီးပြီ"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"‘သီးသန့်ချတ်ခန်း’ သုံးရန် အောက်လှိမ့်ပါ"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"‘သီးသန့်ချတ်ခန်း’ ကိုစနစ်ထည့်သွင်းရန် လက်မှတ်ထိုးဝင်ပါ"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"‘သီးသန့်ချတ်ခန်း’ ကိုစနစ်ထည့်သွင်းရန် အကောင့်သို့ လက်မှတ်ထိုးဝင်ရမည်"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"သီးသန့်ချတ်ခန်းပြရန် (အပြီးသတ် UX မဟုတ်ပါ)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"ဆက်တင်များအက်ပ်ကို ဖွင့်ပါ"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"လုံခြုံရေး၊ ကိုယ်ရေးအချက်အလက်လုံခြုံမှု > သီးသန့်ချတ်ခန်း > လော့ခ်ချထားသည့်အခါ သီးသန့်ချတ်ခန်းဖျောက်ရန် ကိုတို့ပါ"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"လော့ခ်ချထားသည့်အခါ သီးသန့်ချတ်ခန်းဖျောက်ရန်ခလုတ်ကို ပိတ်ပါ"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google ဝန်ထမ်းများသို့ မှတ်ချက်- ဤအင်္ဂါရပ်ကို ရေးသားဆဲဖြစ်သည်"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"လက်ဗွေ <xliff:g id="COUNT">%d</xliff:g> ခု အထိ ထည့်နိုင်သည်"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"အများဆုံးထည့်နိုင်သည့် လက်ဗွေရာအရေအတွက်အထိ ထည့်သွင်းပြီးဖြစ်သည်"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"နောက်ထပ်လက်ဗွေရာများ ထည့်၍မရတော့ပါ"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"ချိတ်ဆက်ရန်"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ချိတ်ဆက်မှု ဖြုတ်ရန်"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"တွဲချိတ်ပြီးနောက် ချိတ်ဆက်ရန်"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ဘလူးတုသ်ကိုဖွင့်ထားလျှင် သင်၏စက်သည် အနီးရှိ အခြားဘလူးတုသ်ကိရိယာများနှင့် ဆက်သွယ်နိုင်သည်။"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ဘလူးတုသ်ဖွင့်လျှင် စက်သည် အနီးရှိ အခြားဘလူးတုသ်သုံးစက်နှင့် ဆက်သွယ်နိုင်သည်"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ဘလူးတုသ်ဖွင့်ထားသည့်အခါ သင့်စက်သည် အနီးတစ်ဝိုက်ရှိ အခြား ဘလူးတုသ်သုံးစက်များနှင့် ချိတ်ဆက်နိုင်သည်။\n\nစက်ကို ပိုမိုကောင်းမွန်စွာ သုံးနိုင်ရန် ဘလူးတုသ်ပိတ်ထားသည့်အခါတွင်ပင် အက်ပ်နှင့် ဝန်ဆောင်မှုများသည် အနီးတစ်ဝိုက်ရှိစက်များကို အချိန်မရွေးရှာနိုင်သည်။ ဥပမာ- တည်နေရာအခြေခံသည့် တူးလ်နှင့် ဝန်ဆောင်မှုများအတွက် ၎င်းကို သုံးနိုင်သည်။ ၎င်းကို ဘလူးတုသ်ရှာသည့် ဆက်တင်များတွင် ပြောင်းနိုင်သည်။"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"ပြောင်းရန်"</string>
<string name="device_details_title" msgid="1155622417516195481">"စက်အသေးစိတ်များ"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"အမှားရှာပြင်နိုင်သော အက်ပ်များအတွက် ဘိုက်ကုဒ် စိစစ်ရန် ART ကိုခွင့်ပြုသည်"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"ပြန်လည်စတင်သည့် မြန်နှုန်းကို ပြရန်"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"လက်ရှိ ပြကွက် ပြန်လည်စတင်သည့် မြန်နှုန်းကို ပြသည်"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR အချိုးပြပါ"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"လက်ရှိ HDR/SDR အချိုးပြပါ"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC အတွက် စက်ပစ္စည်းကို ဖွင့်ရန် လိုအပ်သည်"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"ခေါက်ထားချိန် အက်ပ်များကို ဆက်သုံးရန်"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"အကြောင်းအရာအချို့အတွက် ပြန်လည်စတင်နှုန်းကို <xliff:g id="ID_1">%1$d</xliff:g> Hz အထိ အလိုအလျောက် တိုးပေးသည်။ ဘက်ထရီ အသုံးပြုမှု ပိုများလာပါမည်။"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"အမြင့်ဆုံး ပြန်လည် စတင်နှုန်းသို့ တွန်းအားပေးရန်"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"ထိတွေ့မှု တုံ့ပြန်အားနှင့် ကာတွန်းပုံအရည်အသွေးပိုကောင်းလာရန် အမြင့်ဆုံးပြန်ဖွင့်မှုနှုန်း။ ဘက်ထရီ အသုံးပြုမှု တိုးလာပါမည်။"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"ဖန်သားပြင်ကို အာရုံစိုက်ခြင်း"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"အများသုံး ဆက်တင်များ"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"အဝင်ပွိုင့် ပြင်ဆင်ရန်"</string>
+ <string name="apn_add" msgid="9069613192201630934">"ချိတ်ဆက်ရန်နေရာ ထည့်ရန်"</string>
<string name="apn_not_set" msgid="8246646433109750293">"သတ်မှတ်မထားပါ"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"သတ်မှတ်မထားပါ"</string>
<string name="apn_name" msgid="6677695784108157953">"အမည်"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"သုံးနိုင်မှုခလုတ်ဖြင့် ဖွင့်ခြင်း"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"အသံခလုတ်များကို နှိပ်၍ဖွင့်ခြင်း"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ဖွင့်ရန် သုံးချက်တို့ခြင်း"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"ဖွင့်ရန် ဖန်သားပြင်ကို လက်နှစ်ချောင်းဖြင့် သုံးချက်တို့ခြင်း"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ဖွင့်ရန် လက်ဟန်ကို အသုံးပြုပါ"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"အများသုံးနိုင်မှု လက်ဟန်ကို သုံးပါ"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ဤဝန်ဆောင်မှု အသုံးပြုရန် သင့်ဖန်သားပြင် အောက်ခြေရှိ သုံးနိုင်မှုခလုတ် <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ကို တို့ပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် သုံးနိုင်မှုခလုတ်ကို ဖိထားပါ။"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ဤဝန်ဆောင်မှုကိုသုံးရန် သင့်ဖန်သားပြင်ပေါ်ရှိ သုံးနိုင်မှုခလုတ်ကို တို့ပါ။"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ဤဝန်ဆောင်မှု အသုံးပြုရန် အသံခလုတ် နှစ်ခုလုံးကို နှိပ်ထားပါ။"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ချဲ့ခြင်း စတင်ရန်၊ ရပ်ရန် သင့်ဖန်သားပြင်ပေါ် တစ်နေရာရာတွင် သုံးချက်တို့ပါ။"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"ချဲ့ခြင်း စတင်ရန်၊ ရပ်ရန် သင့်ဖန်သားပြင်ပေါ် တစ်နေရာရာတွင် လက်နှစ်ချောင်းဖြင့် သုံးချက်တို့ပါ။"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ဤဝန်ဆောင်မှု အသုံးပြုရန် လက် ၂ ချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှ အပေါ်သို့ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက် ၂ ချောင်းဖြင့် အပေါ်သို့ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ဤဝန်ဆောင်မှု အသုံးပြုရန် လက် ၃ ချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှ အပေါ်သို့ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက် ၃ ချောင်းဖြင့် အပေါ်သို့ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"အများသုံးနိုင်သည့် ဝန်ဆောင်မှုတစ်ခု အသုံးပြုရန် လက် ၂ ချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှ အပေါ်သို့ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက် ၂ ချောင်းဖြင့် အပေါ်သို့ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"အသံအတိုးအလျှော့ခလုတ်များကို ဖိထားခြင်း"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"အသံခလုတ်များကို ဖိထားမည်"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"အသံခလုတ်နှစ်ခုလုံးကို နှိပ်ထားပါ"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"ဖန်သားပြင်ကို လက်နှစ်ချောင်းဖြင့် သုံးချက်တို့ခြင်း"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ဖန်သားပြင်ကို လက်နှစ်ချောင်းဖြင့် သုံးချက်တို့ရန်"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"ဖန်သားပြင်ကို {0,number,integer} ကြိမ် လက်နှစ်ချောင်းဖြင့် အမြန်တို့ပါ"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"မျက်နှာပြင်ကို သုံးချက်တို့ပါ"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ဖန်သားပြင်ကို သုံးချက်တို့ရန်"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ဖန်သားပြင်ကို {0,number,integer} ကြိမ် အမြန်တို့ပါ။ ဤဖြတ်လမ်းလင့်ခ်သည် သင့်စက်ကို နှေးသွားစေနိုင်သည်"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"၎င်းသည် သင်နှင့် အက်ပ်တစ်ခု (သို့) အာရုံခံကိရိယာအကြား ပြန်လှန်တုံ့ပြန်မှုများကို မှတ်သားနိုင်ပြီး သင့်ကိုယ်စား အက်ပ်များနှင့် ပြန်လှန်တုံ့ပြန်နိုင်သည်။"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ခွင့်ပြု"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ပယ်ရန်"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"ရပ်ရန်"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"မလုပ်တော့"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> ကို ရပ်မလား။"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> ကို တို့ခြင်းဖြင့် <xliff:g id="SERVICE">%2$s</xliff:g> ရပ်သွားပါမည်။"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"မည်သည့်ဆားဗစ်မှမရှိပါ"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"မည်သည့် ဝန်ဆောင်မှုကိုမျှ ရွေးမထားပါ"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"မည်သည့်အကြောင်းအရာမှမရှိပါ"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"အက်ပ်အတွက် နောက်ခံလုပ်ဆောင်ချက်ကို ကန့်သတ်လိုက်ပါက ပုံမှန်အလုပ်လုပ်မည် မဟုတ်ပါ"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ဤအက်ပ်ကို ဘက်ထရီချိန်ညှိသုံးရန် သတ်မှတ်မထားသဖြင့် ကန့်သတ်၍မရပါ။\n\nအက်ပ်ကိုကန့်သတ်ရန် ဘက်ထရီချိန်ညှိသုံးခြင်း အရင်ဖွင့်ပါ။"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ဘက်ထရီ အသုံးပြုမှုကို စီမံရန်"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"နောက်ခံတွင် သုံးခွင့်ပြုရန်"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"အချိန်နှင့်တစ်ပြေးညီ အပ်ဒိတ်များအတွက် ဖွင့်နိုင်သည်။ ဘက်ထရီချွေတာရန် ပိတ်နိုင်သည်"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"အကန့်အသတ်မဲ့"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ပိုကောင်းအောင်လုပ်ရန်"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ကန့်သတ်ရန်"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"အမည်"</string>
<string name="vpn_type" msgid="5533202873260826663">"အမျိုးအစား"</string>
<string name="vpn_server" msgid="2908816134941973935">"ဆာဗာလိပ်စာ"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP အသွင်ဝှက်ခြင်း (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP လျှို့ဝှက်အမှတ်"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec အသိအမှတ်ပြုသောအရာများ"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec ကြိုတင်မျှဝေးထားသောသော့"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSecအသုံးပြုသူလက်မှတ်"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA အသိအမှတ်ပြုလက်မှတ်"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec ဆာဗာအသိအမှတ်ပြုလက်မှတ်"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"အဆင့်မြင့်ရွေးစရာများ ပြရန်"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS ရှာဖွေမှု ဒိုမိန်းများ"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS ဆာဗာများ (e.g. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"တစ်ဆင့်ပို့လမ်းကြောင်း (ဥပမာ 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"သုံးသူအမည်"</string>
<string name="vpn_password" msgid="1183746907642628127">"စကားဝှက်"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"အကောင့်အချက်အလက်များကို သိမ်းပါ"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(မသုံးမပြု)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ဆာဗာကိုအတည်မပြုပါနှင့်)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(ဆာဗာမှ ရရှိထားသည်)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ဤ VPN အမျိုးအစားသို့ အမြဲချိတ်ဆက်ထား၍ မရပါ"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"အမြဲပွင့်နေသော VPN စနစ်သည် ကိန်းဂဏန်းဆာဗာလိပ်စာများကိုသာ ပံ့ပိုးပါသည်"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"အမြဲပွင့်နေသော VPN စနစ်အတွက် DNS ဆာဗာလိပ်စာတစ်ခုကို သတ်မှတ်ထားရပါမည်"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"အမြဲပွင့်နေသော VPN စနစ်အတွက် DNS ဆာဗာလိပ်စာများသည် ကိန်းဂဏန်းများ ဖြစ်ရပါမည်"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ထည့်သွင်းလိုက်သည့် အချက်အလက်သည် အမြဲပွင့်နေသော VPN စနစ်အတွက် ပံ့ပိုးမထားပါ"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"မလုပ်တော့"</string>
<string name="vpn_done" msgid="5137858784289564985">"ပယ်ရန်"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN မပါသည့် ချိတ်ဆက်မှုများကို ပိတ်ဆို့ရန်"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN ချိတ်ဆက်မှု လိုအပ်ပါသလား။"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"လုံခြုံမှုမရှိပါ။ IKEv2 VPN သို့ အပ်ဒိတ်လုပ်ပါ"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"VPN ကိုယ်ရေးအချက်အလက်ကို အမြဲတမ်းချိတ်ဆက်ထားလျက် ရှိနေရန် ရွေးပါ။ ၎င်းသည် VPN ကို ချိတ်ဆက်ထားသောအခါမှသာ ကွန်ရက်အသွားအလာကို ခွင့်ပြုလိမ့်မည်။"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"မရှိ"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"အမြဲပွင့်နေသော VPN အတွက် ဆာဗာနှင့်DNS.နှစ်ခုလုံးအတွက် IP လိပ်စာတစ်ခုလိုအပ်သည်။"</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"အကြောင်းကြားချက်ပါ အရာအားလုံး ပြပါ"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"သတိထားရမည့် အကြောင်းအရာကို လော့ခ်ဖွင့်မှသာ ပြပါ"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"အကြောင်းကြားချက်များ လုံးဝမပြပါနှင့်"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"လော့ခ်မျက်နှာပြင်ကို မည်သို့ပြသစေလိုပါသလဲ။"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"သင့်လော့ခ်မျက်နှာပြင်အား မည်သည့်အရာကို ပြစေလိုပါသလဲ။"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"လော့ခ်မျက်နှာပြင်"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"အလုပ်အကြောင်းကြားချက် အားလုံးကို ပြပါ"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"သတိထားရမည့် အလုပ်အကြောင်းအရာကို ဝှက်ထားရန်"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"ဖိုင်အားလုံးကို စီမံရန် သုံးခွင့်ပေးပါ"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ဤစက်ပစ္စည်း (သို့) ချိတ်ဆက်ထားသော သိုလှောင်နေရာရှိ ဖိုင်များအားလုံးကို ဖတ်ရန်၊ ပြင်ဆင်ရန်နှင့် ဖျက်ရန် ဤအက်ပ်ကို ခွင့်ပြုပါ။ ခွင့်ပြုပြီးပါက အက်ပ်သည် သင့်အား အသိမပေးဘဲ ဖိုင်များကို အသုံးပြုနိုင်ပါမည်။"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"ဖိုင်အားလုံးကို အသုံးပြုနိုင်သည်"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"အသံဖြင့်ဖွင့်ထားသည့် အက်ပ်များ"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"အသံဖြင့်ဖွင့်ခြင်း ခွင့်ပြုရန်"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"အသံဖြင့်ဖွင့်ခြင်းသည် အတည်ပြုထားသောအက်ပ်များကို အသံကွန်မန်းဖြင့် ဖွင့်ပေးပြီး လက်လွတ်ဆောင်ရွက်နိုင်သည်။ အသင့်ပါသည့် အလိုက်သင့်အာရုံခံခြင်းသည် ဒေတာကို သင့်အတွက်သာ သီးသန့်ရှိစေသည်။\n\n"<a href="">"အကာအကွယ်ပေးထားသည့် အလိုက်သင့်အာရုံခံခြင်းအကြောင်း နောက်ထပ်အချက်အလက်များ"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"ဖန်သားပြင်အပြည့် အကြောင်းကြားချက်များ"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"ဤအက်ပ်မှ ဖန်သားပြင်အပြည့် အကြောင်းကြားချက် ခွင့်ပြုရန်"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"စက်ပစ္စည်းလော့ခ်ချထားစဉ် ဖန်သားပြင်အပြည့် နေရာယူမည့် အကြောင်းကြားချက်များကို ဤအက်ပ်အား ပြသခွင့်ပြုနိုင်သည်။ နှိုးစက်၊ အဝင်ခေါ်ဆိုမှု (သို့) အခြားအရေးတကြီး အကြောင်းကြားချက်များကို မြင်သာအောင်လုပ်ရန် အက်ပ်များက ၎င်းတို့ကို သုံးနိုင်သည်။"</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"နောက်ခံတွင် <xliff:g id="APP_LABEL">%1$s</xliff:g> သည် ပုံမှန်ထက် ဘက်ထရီ ပိုသုံးထားသည်"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"မျက်နှာစာတွင် <xliff:g id="APP_LABEL">%1$s</xliff:g> သည် ဘက်ထရီ ပိုသုံးထားသည်"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"မျက်နှာစာတွင် <xliff:g id="APP_LABEL">%1$s</xliff:g> သည် ပုံမှန်ထက် ဘက်ထရီ ပိုသုံးထားသည်"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ဘက်ထရီ အသုံးပြုမှု မူမမှန်ခြင်း"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"ဘက်ထရီ အသုံးပြုမှု များသည်"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"နောက်ခံတွင် ဘက်ထရီ အသုံးပြုမှု များသည်"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"မျက်နှာစာတွင် ဘက်ထရီ အသုံးပြုမှု များသည်"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"စနစ် လမ်းညွှန်ခြင်း၊ ခလုတ် ၂ ခု ဖြင့် လမ်းညွှန်ခြင်း၊ ခလုတ် ၃ ခု ဖြင့် လမ်းညွှန်ခြင်း၊ လက်ဟန်ဖြင့် လမ်းညွှန်ခြင်း၊ ပွတ်ဆွဲခြင်း"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ဒစ်ဂျစ်တယ် Assistant"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Assistant ကို ညွှန်ကြားရန် ပွတ်ဆွဲပါ"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ဒစ်ဂျစ်တယ် Assistant အက်ပ်ကို ညွှန်ကြားရန် အောက်ခြေထောင့်မှ အပေါ်သို့ ပွတ်ဆွဲပါ။"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ဒစ်ဂျစ်တယ် Assistant အက်ပ်ကို ညွှန်ကြားရန် အောက်ခြေထောင့်မှ အပေါ်သို့ ပွတ်ဆွဲပါ"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant အတွက် ပင်မခလုတ် နှိပ်ထားခြင်း"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ဒစ်ဂျစ်တယ် Assistant အက်ပ်ကို ညွှန်ကြားရန် ပင်မခလုတ် နှိပ်ထားပါ။"</string>
<string name="low_label" msgid="6525629096999711220">"နိမ့်"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"သဒ္ဒါနည်းကျ လိင်အမျိုးအစား ရွေးရန်"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"လှည့်ဖြားသည့် အက်ပ်များကို စကင်ဖတ်ခြင်း"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"အယောင်ဆောင် ဖြားယောင်းခြင်းအတွက် အက်ပ်အသုံးပြုမှုကို စစ်ဆေးရန်"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"စကင်ဖတ်ခြင်း သုံးရန်"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"အလုပ်သုံးအက်ပ်များအတွက် စကင်ဖတ်ခြင်း သုံးရန်"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"စကင်ဖတ်ခြင်းဖြင့် လှည့်စားတတ်သော အက်ပ်များ ရှာရန်"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"စကင်ဖတ်ခြင်းဖြင့် လှည့်စားတတ်သော အက်ပ်များ အလုပ်ပရိုဖိုင်အတွက် ရှာရန်"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index fd2376b..70b1cb7 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pekepenn"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Lyddeling"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Del lyd"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Anrop og alarmer"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Koble til en LE-lydstrøm"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Lydstrømmer i nærheten"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Lydstrømmer"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Koble til en lydstrøm med en QR-kode"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Ingen lydstrømmer ble funnet i nærheten."</string>
<string name="date_and_time" msgid="1788358029823431692">"Dato og klokkeslett"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy-tjener"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Tøm"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Jobbprofil"</string>
<string name="private_space_title" msgid="7078627930195569767">"Private Space"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Skjul apper i en privat mappe"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Lås opp med skjermlås"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Skjul apper i en privat mappe som bare du har tilgang til"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Private Space-lås"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Du kan låse opp Private Space på samme måte som du låser opp enheten, eller du kan velge en annen lås"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Bruk skjermlåsen for enheten"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Opplåsing med ansikt og fingeravtrykk"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Trykk for å konfigurere"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Den samme som skjermlåsen for enheten"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Vil du velge en ny lås for Private Space?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Skjul når låst"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Skjul Private Space når låst"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"For å unngå at andre ser at du har Private Space på telefonen, kan du skjule den i applisten"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Gå til Private Space når den er skjult"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Søk etter «Private Space» i søkefeltet"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Trykk på Private Space-brikken"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Lås opp Private Space"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Av"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"På"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Opprett Private Space"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Slett Private Space"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Private Space er opprettet"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Private Space finnes allerede"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Kunne ikke opprette Private Space"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Private Space er slettet"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Kunne ikke slette Private Space"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Konfigurer en skjermlås"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"For å bruke Private Space, angi en skjermlås på enheten."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Konfigurer en skjermlås"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Avbryt"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Avbryt"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Konfigurer"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Konfigurer Private Space"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Skjul private apper på et sikkert sted bare du kan gå til"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Slik fungerer det"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Du kan gå til Private Space fra bunnen av applisten"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Apper i Private Space er beskyttet med en lås"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Varsler fra apper i Private Space er skjult når den er låst"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Private Space-apper vises ikke i tillatelseskontroll, personvernoversikt eller andre innstillinger når Private Space er låst"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Konfigurerer Private Space …"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Bruksinformasjon for Private Space-apper er skjult når den er låst"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Åpne Private Space fra applisten"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Kunne ikke konfigurere Private Space"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Prøv igjen nå, eller kom tilbake senere"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Prøv på nytt"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Vil du bruke skjermlås for å låse opp?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Du kan låse opp Private Space på samme måte som du låser opp enheten, eller du kan velge en annen lås"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Bruk skjermlåsen"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Velg en ny lås"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Alt er klart!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Ferdig"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Rull ned for å åpne Private Space"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Logg på for å konfigurere Private Space"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Du må logge på en konto for å konfigurere Private Space"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Slik viser du Private Space (ikke endelig brukeropplevelse)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Åpne Innstillinger-appen"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Trykk på Sikkerhet og personvern > Private Space > Skjul Private Space når låst"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Slå av bryteren for Skjul Private Space når låst"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Merknad til Googlere: Utviklingen av denne funksjonen pågår fortsatt"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Du kan legge til opptil <xliff:g id="COUNT">%d</xliff:g> fingeravtrykk"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Du har lagt til maksimalt antall fingeravtrykk"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Kan ikke legge til flere fingeravtrykk"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Koble til"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Koble fra"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Koble sammen"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Når Bluetooth er slått på, kan enheten kommunisere med andre Bluetooth-enheter i nærheten."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Når Bluetooth er på, kan enheten kommunisere med andre Bluetooth-enheter i nærheten"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Når Bluetooth er slått på, kan enheten kommunisere med Bluetooth-enheter i nærheten.\n\nFor å gi deg en bedre enhetsopplevelse kan apper og tjenester søke etter enheter i nærheten når som helst – selv når Bluetooth er slått av. Dette kan for eksempel brukes for å forbedre posisjonsbaserte funksjoner og tjenester. Du kan endre dette i innstillingene for Bluetooth-skanning."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Endre"</string>
<string name="device_details_title" msgid="1155622417516195481">"Enhetsdetaljer"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Tillat at ART bekrefter bytekode for feilsøkbare apper"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Vis oppdateringsfrekvens"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Vis skjermens nåværende oppdateringsfrekvens"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Vis HDR/SDR-forhold"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Vis det gjeldende HDR/SDR-forholdet"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Krev opplåst enhet for NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Fortsett å bruke apper etter sammenlegging"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Øker oppdateringsfrekvensen automatisk til <xliff:g id="ID_1">%1$d</xliff:g> Hz for noe innhold. Dette øker batteribruken."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Maks oppdateringsfrekvens"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Maksimal oppdateringsfrekvens for bedre trykkfølsomhet og animasjonskvalitet. Øker batteribruken."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Skjermoppmerksomhet"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Fellesinnstillinger"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Rediger tilgangspunkt"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Legg til tilgangspunkt"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Ikke angitt"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ikke angitt"</string>
<string name="apn_name" msgid="6677695784108157953">"Navn"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Bruk Tilgjengelighet-knappen for å åpne"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hold volumtastene for å åpne"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Trippeltrykk på skjermen for å åpne"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Trippeltrykk på skjermen med to fingre for å åpne"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Bruk bevegelse for å åpne"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Bruk tilgjengelighetsbevegelse"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"For å bruke denne funksjonen må du trykke på Tilgjengelighet-knappen <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nederst på skjermen.\n\nFor å bytte mellom funksjoner, trykk og hold på Tilgjengelighet-knappen."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"For å bruke denne funksjonen, trykk på Tilgjengelighet-knappen på skjermen."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"For å bruke denne funksjonen, trykk og hold inne begge volumtastene."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"For å starte og stoppe forstørrelse, trippeltrykk hvor som helst på skjermen."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"For å starte og stoppe forstørring, trippeltrykk hvor som helst på skjermen med to fingre."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"For å bruke denne funksjonen, sveip opp fra bunnen av skjermen med to fingre.\n\nFor å bytte mellom funksjoner, sveip opp med to fingre og hold."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"For å bruke denne funksjonen, sveip opp fra bunnen av skjermen med tre fingre.\n\nFor å bytte mellom funksjoner, sveip opp med tre fingre og hold."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"For å bruke en tilgjengelighetsfunksjon, sveip opp fra bunnen av skjermen med to fingre.\n\nFor å bytte mellom funksjoner, sveip opp med to fingre og hold."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold inne volumtastene"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold inne volumtastene"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Trykk og hold inne begge volumtastene"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Trippeltrykk på skjermen med to fingre"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"trippeltrykk på skjermen med to fingre"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Trykk raskt på skjermen {0,number,integer} ganger med to fingre"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Trippeltrykk på skjermen"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"trippeltrykk på skjermen"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Trykk raskt på skjermen {0,number,integer} ganger. Denne snarveien kan gjøre enheten tregere"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Den kan spore kommunikasjonen din med en app eller maskinvaresensor og kommunisere med apper på dine vegne."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Tillat"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Avvis"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Stopp"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Avbryt"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Vil du stoppe <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Hvis du trykker på <xliff:g id="STOP">%1$s</xliff:g>, stoppes <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ingen tjenester er installert"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ingen tjeneste er valgt"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Beskrivelse ble ikke oppgitt."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Hvis du begrenser bakgrunnsaktivitet for en app, kan det oppstå problemer"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Du kan ikke begrense appen siden den ikke er satt til å optimalisere batteriet.\n\nFor å begrense appen, slå på batterioptimalisering."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Administrer batteribruk"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Tillat bruk i bakgrunnen"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Slå på for å få oppdateringer i sanntid, slå av for å spare batteri"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Ubegrenset"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimalisert"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Begrenset"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Navn"</string>
<string name="vpn_type" msgid="5533202873260826663">"Type"</string>
<string name="vpn_server" msgid="2908816134941973935">"Tjeneradresse"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP-kryptering (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-passord"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-identifikator"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Forhåndsdelt nøkkel for IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Brukersertifikat for IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-sertifikat"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Tjenersertifikat for IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Vis avanserte alternativer"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-søkedomener"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-tjenere (f.eks. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Ruter for videresending (f.eks. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Brukernavn"</string>
<string name="vpn_password" msgid="1183746907642628127">"Passord"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Lagre kontoinformasjon"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ikke brukt)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ikke bekreft tjener)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(mottatt fra tjeneren)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Denne VPN-typen kan ikke være tilkoblet hele tiden"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Alltid på-VPN støtter bare numeriske tjeneradresser"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"En DNS-tjener må spesifiseres for alltid på-VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS-tjeneradressen må være numerisk for alltid på-VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Informasjonen som er angitt, støtter ikke alltid-på-VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Avbryt"</string>
<string name="vpn_done" msgid="5137858784289564985">"Fjern"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blokkér tilkoblinger uten VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Vil du kreve VPN-tilkobling?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ikke sikker. Oppdater til IKEv2-VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Velg en VPN-profil du vil forbli tilkoblet til. Nettverkstrafikk blir bare tillatt når du er tilkoblet denne VPN-en."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Ingen"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Alltid på-VPN krever en IP-adresse for både tjener og DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Vis alt innhold i varsler"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Bare vis sensitivt innhold når enheten er låst opp"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ikke vis varsler i det hele tatt"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hvordan vil du vise låseskjermen?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Hva vil du vise på låseskjermen?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Låseskjerm"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Vis alt innhold i jobbvarsler"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Skjul sensitivt jobbinnhold"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Kan administrere alle filer"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Gi denne appen tillatelse til å lese, endre og slette alle filer på denne enheten eller tilkoblede lagringsvolum. Hvis du gir appen denne tillatelsen, kan den få tilgang til filer uten at du er klar over det."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Har tilgang til alle filer"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apper som kan taleaktiveres"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Tillat taleaktivering"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Stemmeaktivering slår på godkjente apper med en stemmekommando. Innebygd adaptiv registrering sikrer at data holdes private bare for deg.\n\n"<a href="">"Mer om beskyttet adaptiv registrering"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Fullskjermvarsler"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Tillat fullskjermvarsler fra denne appen"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"La denne appen vise varsler som fyller hele skjermen, når enheten er låst. Apper kan bruke disse til å fremheve alarmer, innkommende anrop eller andre viktige varsler."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brukte mer batteri enn vanlig da den var i bakgrunnen"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brukte mer batteri da den var i forgrunnen"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brukte mer batteri enn vanlig da den var i forgrunnen"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Unormal batteribruk"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Høy batteribruk"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Høy batteribruk i bakgrunnen"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Høy batteribruk i forgrunnen"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"systemnavigasjon, navigasjon med to knapper, navigasjon med tre knapper, navigasjon med bevegelser, sveip"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistent"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Sveip for å kalle opp assistenten"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Sveip opp fra et av de nederste hjørnene for å kalle opp den digitale assistenten."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Sveip opp fra et av de nederste hjørnene for å åpne den digitale assistenten"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hold på hjemknappen for å åpne assistenten"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Trykk og hold inne hjemknappen for å kalle opp den digitale assistenten."</string>
<string name="low_label" msgid="6525629096999711220">"Lav"</string>
@@ -4270,7 +4255,7 @@
<string name="credman_credentials" msgid="4931371941253324143">"Andre leverandører"</string>
<string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# passord}other{# passord}}"</string>
<string name="autofill_keywords" msgid="8598763328489346438">"auto, fyll, autofyll, passord"</string>
- <string name="credman_keywords" msgid="8305600680836806170">"data, tilgangsnøkkel, passord"</string>
+ <string name="credman_keywords" msgid="8305600680836806170">"data, passnøkkel, passord"</string>
<string name="credman_autofill_keywords" msgid="701180623776848914">"auto, fyll, autofyll, data, passnøkkel, passord"</string>
<string name="autofill_confirmation_message" msgid="4888767934273494272">"<b>Stoler du på denne appen?</b> <br/> <br/> <xliff:g id=app_name example=Google autofyll>%1$s</xliff:g> bruker det som er på skjermen, til å fastslå hva som kan fylles ut automatisk."</string>
<string name="credman_autofill_confirmation_message" msgid="843829628024668466">"<b>Vil du bruke <xliff:g id=app_name example=Provider>%1$s</xliff:g>?</b> <br/> <br/> Fra nå av blir nye passord, nye passnøkler og annen informasjon lagret her. <xliff:g id=app_name example=Provider>%1$s</xliff:g> kan bruke det som er på skjermen, for å avgjøre hva som kan fylles ut automatisk."</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Velg grammatisk kjønn"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Skanner etter villedende apper"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Kontroller appaktivitet for å oppdage nettfisking"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Bruk skanning"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Bruk skanning for jobbapper"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Bruk skanning etter villedende apper"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Bruk skanning etter villedende apper for jobb"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 57eeedc..521997f 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"स्टाइलस"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"अडियो सेयरिङ"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"अडियो सेयर गर्नुहोस्"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"कल तथा अलार्महरू"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE अडियो स्ट्रिममा कनेक्ट गर्नुहोस्"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"नजिकैका अडियो स्ट्रिमहरू"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"अडियो स्ट्रिमहरू"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR कोड प्रयोग गरी कुनै अडियो स्ट्रिममा कनेक्ट गर्नुहोस्"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"नजिकै कुनै पनि अडियो स्ट्रिम भेटिएन।"</string>
<string name="date_and_time" msgid="1788358029823431692">"मिति र समय"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"प्रोक्सी"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"मेटाउनुहोस्"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"कार्य प्रोफाइल"</string>
<string name="private_space_title" msgid="7078627930195569767">"निजी स्पेस"</string>
<string name="private_space_summary" msgid="8237652417163408001">"एपहरू निजी फोल्डरमा लुकाउनुहोस्"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"स्क्रिन लक प्रयोग गरेर अनलक गर्नुहोस्"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"एपहरू तपाईंले मात्र हेर्न र प्रयोग गर्न सक्ने निजी फोल्डरमा लुकाउनुहोस्"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"निजी स्पेसको लक"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"तपाईं आफूले आफ्नो डिभाइस अनलक गरे जसरी नै निजी स्पेस अनलक गर्न वा अर्कै लक छनौट गर्न सक्नुहुन्छ"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"डिभाइसको स्क्रिन लक प्रयोग गरियोस्"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"फेस र फिंगरप्रिन्ट अनलक"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"सेटअप गर्न ट्याप गर्नुहोस्"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"डिभाइसको स्क्रिन लक जसरी नै"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"निजी स्पेसमा नयाँ लक प्रयोग गर्ने हो?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"लक गरिएको बेलामा लुकाउनुहोस्"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"निजी स्पेस लक गरिएको बेलामा उक्त स्पेस लुकाउनुहोस्"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"अन्य मानिसहरूलाई तपाईंको डिभाइसमा निजी स्पेस छ भन्ने कुरा थाहा नदिन तपाईं आफ्नो एपको सूचीकरणबाट उक्त स्पेस लुकाउन सक्नुहुन्छ"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"निजी स्पेस लुकाइएको बेलामा उक्त स्पेस एक्सेस गर्नुहोस्"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"सर्च बारमा गई \"निजी स्पेस\" खोज्नुहोस्"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"निजी स्पेसको टाइलमा ट्याप गर्नुहोस्"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"आफ्नो निजी स्पेस अनलक गर्नुहोस्"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"अफ छ"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"अन छ"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"सिस्टम"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"निजी स्पेस बनाउनुहोस्"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"निजी स्पेस मेटाउनुहोस्"</string>
- <string name="private_space_created" msgid="2978055968937762232">"निजी स्पेस बनाइएको छ"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"निजी स्पेस बनाइसकिएको छ"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"निजी स्पेस बनाउन सकिएन"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"निजी स्पेस मेटाइएको छ"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"निजी स्पेस मेटाउन सकिएन"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"स्क्रिन लक सेट गर्नुहोस्"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"निजी स्पेस प्रयोग गर्न यो डिभाइसमा स्क्रिन लक सेट गर्नुहोस्।"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"स्क्रिन लक सेट गर्नुहोस्"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"रद्द गर्नुहोस्"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"रद्द गर्नुहोस्"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"सेटअप गर्नुहोस्"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"निजी स्पेस सेटअप गर्नुहोस्"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"तपाईंले मात्र एक्सेस गर्न सक्ने सुरक्षित स्पेसमा निजी एपहरू लुकाउनुहोस्"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"यसले काम गर्ने तरिका"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"तपाईं आफ्नो एपको सूचीकरणको फेदबाट निजी स्पेस एक्सेस गर्न सक्नुहुन्छ"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"निजी स्पेसमा एपहरू लक प्रयोग गरी सुरक्षित रूपमा राखिएका हुन्छन्"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"निजी स्पेस लक गरिएका बेला निजी स्पेसका एपबाट प्राप्त सूचनाहरू लुकाइन्छन्"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"निजी स्पेस लक गरिएका बेला अनुमति म्यानेजर, गोपनीयतासम्बन्धी ड्यासबोर्ड र अन्य सेटिङमा निजी स्पेसका एपहरू देखा पर्दैनन्"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"निजी स्पेस सेटअप गरिँदै छ…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"लक गरिएका बेला निजी स्पेसका एपहरूको प्रयोगसम्बन्धी जानकारी लुकाइन्छ"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"एपहरूको सूचीबाट निजी स्पेस एक्सेस गर्नुहोस्"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"निजी स्पेस सेटअप गर्न सकिएन"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"अहिले नै फेरि प्रयास गर्नुहोस् वा पछि फेरि आउनुहोस्"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"फेरि प्रयास गर्नुहोस्"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"अनलक गर्न स्क्रिन लक प्रयोग गर्ने हो?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"तपाईं आफूले आफ्नो डिभाइस अनलक गरे जसरी नै निजी स्पेस अनलक गर्न वा अर्कै लक छनौट गर्न सक्नुहुन्छ"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"स्क्रिन लक प्रयोग गर्नुहोस्"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"नयाँ लक छनौट गर्नुहोस्"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"सबै तयार भयो!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"पूरा भयो"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"निजी स्पेस एक्सेस गर्न तलतिर स्क्रोल गर्नुहोस्"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"निजी स्पेस सेटअप गर्न साइन इन गर्नुहोस्"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"निजी स्पेस सेटअप गर्न तपाईंले कुनै खातामा साइन इन गर्नु पर्ने हुन्छ"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"निजी स्पेस (अन्तिम UX संस्करण होइन) देखिने बनाउन"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"सेटिङ एप खोल्नुहोस्"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"सुरक्षा तथा गोपनीयता > निजी स्पेस > लक गरिएको बेला निजी स्पेस लुकाइयोस् मा ट्याप गर्नुहोस्"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"लक गरिएका बेला निजी स्पेस लुकाउने सुविधा बन्द गर्ने टगल"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google कर्मचारीले ख्याल गर्नु पर्ने कुरा: यो सुविधा अझै विकास हुँदै छ"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"तपाईं बढीमा <xliff:g id="COUNT">%d</xliff:g> वटा फिंगरप्रिन्टहरू हाल्न सक्नुहुन्छ"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"तपाईंले अधिकतम संख्यामा फिंगरप्रिन्टहरू थप्नुभएको छ"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"थप फिंगरप्रिन्टहरू थप्न सकिँदैन"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"कनेक्ट गर्नुहोस्"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"डिस्कनेक्ट गर्नुहोस्"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"पेयर गर्नुहोस् र कनेक्ट गर्नुहोस्"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ब्लुटुथ अन हुँदा तपाईंको डिभाइस नजिकैका अन्य ब्लुटुथ डिभाइससँग कनेक्ट हुन सक्छ"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ब्लुटुथ अन हुँदा तपाईंको डिभाइसले नजिकैका अन्य ब्लुटुथ डिभाइससँग सम्पर्क गर्न सक्छ"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ब्लुटुथ अन गरिएका बेला तपाईंको डिभाइस नजिकै रहेका ब्लुटुथ चल्ने अन्य डिभाइससँग कनेक्ट हुन सक्छ। \n\nडिभाइसका सुविधाहरूको गुणस्तर सुधार गर्ने प्रयोजनका लागि एप तथा सेवाहरूले ब्लुटुथ अफ भएका बेला र अरू बेला नजिकैका डिभाइसहरू स्क्यान गर्न सक्छन्। यसलाई लोकेसनमा आधारित सुविधा तथा सेवाहरूको गुणस्तर सुधार गर्ने जस्ता कार्यहरू गर्नका लागि प्रयोग गर्न सकिन्छ। तपाईं ब्लुटुथ स्क्यान गर्नेसम्बन्धी सेटिङमा गई यो कुरा परिवर्तन गर्न सक्नुहुन्छ।"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"बदल्नुहोस्"</string>
<string name="device_details_title" msgid="1155622417516195481">"डिभाइसको विवरण"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART लाई डिबग गर्न मिल्ने एपको बाइटकोड पुष्टि गर्न दिइयोस्"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"रिफ्रेस रेट देखाइयोस्"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"हालको डिस्प्लेको रिफ्रेस रेट देखाइयोस्"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR रेसियो देखाउनुहोस्"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"हालको HDR/SDR रेसियो देखाउनुहोस्"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"डिभाइस अनलक गरेपछि मात्र NFC प्रयोग गर्न मिल्ने बनाइयोस्"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"एन्ड्रोइड बिम"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"फोल्ड गर्दा एपहरू प्रयोग गरिराखियोस्"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"यसले केही सामग्रीका हकमा रिफ्रेस रेट स्वतः बढाएर <xliff:g id="ID_1">%1$d</xliff:g> हर्जसम्म बनाउँछ। यसले गर्दा ब्याट्रीको खपत बढ्छ।"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"रिफ्रेस गर्ने दर बलपूर्वक सबैभन्दा बढी बनाउनुहोस्"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"स्क्रिनमा छुँदा स्क्रिनले जनाउने प्रतिक्रिया र एनिमेसनको गुणस्तर सुधार्न उच्चतम रिफ्रेस रेट। ब्याट्रीको खपत बढाउँछ।"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"स्क्रिनमा हेरिरहँदा"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"समुदायसम्बन्धी सेटिङ"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"एक्सेस पोइन्ट सम्पादन गर्नुहोस्"</string>
+ <string name="apn_add" msgid="9069613192201630934">"एक्सेस पोइन्ट हाल्नुहोस्"</string>
<string name="apn_not_set" msgid="8246646433109750293">"सेट गरिएको छैन"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"सेट गरिएको छैन"</string>
<string name="apn_name" msgid="6677695784108157953">"नाम"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"खोल्नका लागि एक्सेसिबिलिटी बटन प्रयोग गर्नुहोस्"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"खोल्नका लागि भोल्युम कीहरू थिचिराख्नुहोस्"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"यसलाई खोल्न स्क्रिनमा तीन पटक ट्याप गर्नुहोस्"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"खोल्न स्क्रिनमा दुई वटा औँलाले ट्रिपल ट्याप गर्नुहोस्"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"खोल्नका लागि इसाराको प्रयोग गर्नुहोस्"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"एक्सेसिबिलिटी जेस्चर प्रयोग गर्नुहोस्"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"यो सुविधा प्रयोग गर्न आफ्नो स्क्रिनको पुछारमा रहेको पहुँचसम्बन्धी बटन <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> मा ट्याप गर्नुहोस्।\n\n एउटा सुविधाबाट अर्को सुविधामा जान पहुँचसम्बन्धी बटनमा थिचिराख्नुहोस्।"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"यो सुविधा प्रयोग गर्न स्क्रिनमा भएको एक्सेसिबिलिटी बटनमा ट्याप गर्नुहोस्।"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"यो सुविधा प्रयोग गर्न दुवै भोल्युम की थिचिराख्नुहोस्।"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"म्याग्निफिकेसन सुविधा सुरु गर्न वा रोक्न आफ्नो स्क्रिनमा कतै तीन पटक ट्याप गर्नुहोस्।"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"जुम इन गर्ने सुविधा अन तथा अफ गर्न स्क्रिनको जुनसुकै ठाउँमा दुई वटा औँलाले ट्रिपल ट्याप गर्नुहोस्।"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"यो सुविधा प्रयोग गर्न २ वटा औँलाले स्क्रिनको पुछारबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान २ वटा औँलाले माथितिर स्वाइप गरी स्क्रिनमा थिचिराख्नुहोस्।"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"यो सुविधा प्रयोग गर्न ३ वटा औँलाले स्क्रिनको पुछारबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान ३ वटा औँलाले माथितिर स्वाइप गरी स्क्रिनमा थिचिराख्नुहोस्।"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"पहुँचसम्बन्धी कुनै सुविधा प्रयोग गर्न २ वटा औँलाले स्क्रिनको पुछारबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान २ वटा औँलाले माथितिर स्वाइप गरी स्क्रिनमा थिचिराख्नुहोस्।"</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"भोल्युम कीहरू थिचिरहनुहोस्"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"भोल्युम कीहरू थिचिराख्नुहोस्"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"दुवै भोल्युम की थिचिराख्नुहोस्"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"स्क्रिनमा दुई वटा औँलाले ट्रिपल ट्याप गर्नुहोस्"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"स्क्रिनमा दुई वटा औँलाले ट्रिपल ट्याप गर्नुहोस्"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"स्क्रिनमा दुई वटा औँलाले {0,number,integer} पटक छिटो छिटो ट्याप गर्नुहोस्"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"स्क्रिनमा तीन पटक ट्याप गर्नुहोस्"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"स्क्रिनमा तीन पटक ट्याप गर्नुहोस्"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"स्क्रिनमा द्रुत रूपमा {0,number,integer} पटक ट्याप गर्नुहोस्। यो सर्टकट प्रयोग गर्दा तपाईंको डिभाइस ढिलो चल्न सक्छ"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"यसले कुनै एप वा हार्डवेयर सेन्सरसँग तपाईंले गर्ने अन्तर्क्रिया ट्र्याक गर्न सक्छ र तपाईंका तर्फबाट एपहरूसँग अन्तर्क्रिया गर्न सक्छ।"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"अनुमति दिनुहोस्"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"नदिनुहोस्"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"रोक्नुहोस्"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"रद्द गर्नु⋯"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> बन्द गर्ने हो?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"तपाईंले <xliff:g id="STOP">%1$s</xliff:g> मा ट्याप गर्नुभयो भने <xliff:g id="SERVICE">%2$s</xliff:g> बन्द हुन्छ।"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"कुनै पनि सेवाहरू स्थापित छैनन्"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"कुनै पनि सेवा चयन गरिएको छैन"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"वर्णन प्रदान गरिएको छैन।"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"तपाईंले कुनै एपको पृष्ठभूमिको गतिविधिलाई सीमित गर्नुभयो भने यसले सही तरिकाले काम नगर्न सक्छ"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"यो एपलाई ब्याट्री अप्टिमाइज गर्न भनी सेट नगरिएको हुनाले तपाईं यसमा बन्देज लगाउन सक्नुहुन्न।\n\nएपमा बन्देज लगाउन पहिले ब्याट्री अप्टिमाइजेसन सुविधा अन गर्नुहोस्।"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ब्याट्रीको खपत व्यवस्थापन गर्नुहोस्"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"ब्याकग्राउन्डमा प्रयोग गर्न दिनुहोस्"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"रियल टाइममा अद्यावधिक जानकारी प्राप्त गर्न अन गर्नुहोस्, ब्याट्री बढी टिकाउन अफ गर्नुहोस्"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"असीमित"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"अप्टिमाइज गरिएको"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"प्रतिबन्धित"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"नाम"</string>
<string name="vpn_type" msgid="5533202873260826663">"प्रकार"</string>
<string name="vpn_server" msgid="2908816134941973935">"सर्भर एड्रेस"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP इन्क्रिप्सन (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP गोप्य"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec पहिचानकर्ता"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec को अग्रिम रूपमा सेयर गरिएको कि"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec प्रयोगकर्ता सर्टिफिकेट"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA सर्टिफिकेट"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec सर्भर सर्टिफिकेट"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"उन्नत विकल्पहरू देखाइयोस्"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS सर्च डोमेन"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS सर्भर (उदाहरण ८.८.८.८)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"फर्वार्डिङ रुट (जस्तै 10.0.0.0 / 8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"एक-पटके टेक्स्ट म्यासेज"</string>
<string name="vpn_password" msgid="1183746907642628127">"पासवर्ड:"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"खाता सम्बन्धी जानकारी सेभ गर्नुहोस्"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(प्रयोग गरिएको छैन)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(सर्भरको पुष्टि नगर्नुहोस्)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(सर्भरबाट प्राप्त)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"यस प्रकारको VPN सधैँ कनेक्ट गरिरहन मिल्दैन"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"सधैँ सक्रिय रहने VPN ले संख्यात्मक सर्भर ठेगानाहरूलाई मात्र समर्थन गर्छ"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"सधैँ सक्रिय रहने VPN का लागि DNS सर्भर निर्दिष्ट गरिएको हुनु पर्छ"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"सधैँ सक्रिय रहने VPN का लागि DNS ठेगानाहरू संख्यात्मक नै हुनु पर्छ"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"हालिएको जानकारीको आधारमा \"VPN सधैँ खुला राख्नुहोस्\" प्रयोग गर्न मिल्दैन"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"रद्द गर्नुहोस्"</string>
<string name="vpn_done" msgid="5137858784289564985">"खारेज गर्नुहोस्"</string>
@@ -2795,11 +2774,13 @@
<string name="vpn_no_vpns_added" msgid="7387080769821533728">"कुनै VPN हालिएको छैन"</string>
<string name="vpn_always_on_summary" msgid="2171252372476858166">"सधैँ VPN मा जडान भइरहनुहोस्"</string>
<string name="vpn_always_on_summary_not_supported" msgid="9084872130449368437">"यो एपले समर्थन गर्दैन"</string>
- <string name="vpn_always_on_summary_active" msgid="175877594406330387">"सधैँ अन"</string>
+ <string name="vpn_always_on_summary_active" msgid="175877594406330387">"सधैँ अन गरियोस्"</string>
<string name="vpn_insecure_summary" msgid="4450920215186742859">"सुरक्षित छैन"</string>
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN रहित जडानहरूमाथि रोक लगाउनुहोस्"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN जडान आवश्यक छ?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"सुरक्षित छैन। अपडेट गरी IKEv2 VPN बनाउनुहोस्"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"सधैँ जडान भइरहन VPN प्रोफाइल चयन गर्नुहोस्। यस VPN जडान भएको बेला नेटवर्क ट्राफिकलाई मात्र अनुमति हुने छ।"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"कुनै पनि होइन"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"सधैँ चल्ने VPN लाई IP एड्रेस दुबै सर्भर र DNS का लागि चाहिन्छ।"</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"सबै सूचना देखाइयोस्"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"अनलक गरिँदा मात्र संवेदनशील जानकारी देखाइयोस्"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"कुनै सूचना नदेखाइयोस्"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"तपाईं लक स्क्रिन कसरी देखियोस् भन्ने चाहनुहुन्छ?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"तपाईं आफ्नो लक स्क्रिनमा के कुरा देखाउन चाहनुहुन्छ?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"लक स्क्रिन"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"कार्यसम्बन्धी सबै सूचना देखाइयोस्"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"कार्यसम्बन्धी संवेदनशील सामग्री लुकाइयोस्"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"सबै फाइलहरूको व्यवस्थापन गर्ने अनुमति दिइयोस्"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"यो एपलाई यो डिभाइस वा जोडिएको कुनै भण्डारणमा रहेका सबै फाइलहरू पढ्ने, परिमार्जन गर्ने तथा मेट्ने अनुमति दिनुहोस्। अनुमति दिइएका खण्डमा यो एपले तपाईंको स्पष्ट अनुमतिविनै फाइलहरू प्रयोग गर्नसक्छ।"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"सबै फाइलहरूमाथि पहुँच राख्न सक्छ।"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"बोलेर एक्टिभेट गर्न सकिने एपहरू"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"बोलेर एक्टिभेट गर्न दिइयोस्"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"बोलेर एक्टिभेट गर्ने सुविधाले बोलेर निर्देशन दिएकै भरमा अनुमति दिइएका एपहरू ह्यान्ड्सफ्री तरिकाले अन गर्छ। अन्तर्निर्मित एड्याप्टिभ सेन्सिङले तपाईंको जानकारी तपाईं मात्र हेर्न सक्नुहुन्छ भन्ने कुरा सुनिश्चित गर्छ।\n\n"<a href="">"प्रोटेक्टेड एड्याप्टिभ सेन्सिङका बारेमा थप जानकारी"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"फुल स्क्रिनमा सूचनाहरू देखाउने अनुमति"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"यो एपलाई सूचनाहरू फुल स्क्रिनमा देखाउने अनुमति दिनुहोस्"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"यो एपलाई डिभाइस लक भएका बेला फुल स्क्रिन ढाक्ने खालका सूचनाहरू देखाउने अनुमति दिनुहोस्। एपहरूले अलार्म, आगमन कल वा अन्य महत्त्वपूर्ण सूचनाहरू हाइलाइट गर्ने प्रयोजनका लागि फुल स्क्रिनमा सूचनाहरू देखाउन सक्छन्।"</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ले ब्याकग्राउन्डमा सामान्यभन्दा धेरै ब्याट्री खपत गरेको छ"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ले फोरग्राउन्डमा धेरै ब्याट्री खपत गरेको छ"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ले फोरग्राउन्डमा सामान्यभन्दा धेरै ब्याट्री खपत गरेको छ"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ब्याट्रीको खपतमा भएको असामान्य गतिविधि"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"धेरै ब्याट्री खपत गर्ने एप"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ब्याकग्राउन्डमा धेरै ब्याट्री खपत गर्ने एप"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"फोर्टफोरग्राउन्डमा धेरै ब्याट्री खपत गर्ने एप"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"सिस्टम नेभिगेसन, २ बटनमार्फत गरिने नेभिगेसन, ३ बटनमार्फत गरिने नेभिगेसन, इसाराले गरिने नेभिगेसन, स्वाइप"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"डिजिटल सहायक"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"स्वाइप गर्दा सहायक सुरु होस्"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"डिजिटल सहायक एप चलाउन थाल्न स्क्रिनको फेदको कुनाबाट माथितिर स्वाइप गर्नुहोस्।"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"डिजिटल सहायक एप सुरु गर्न स्क्रिनको फेदको कुनाबाट माथितिर स्वाइप गर्नुहोस्"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"सहायक खोल्न होम बटन थिचिराख्नुहोस्"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"डिजिटल सहायक एप खोल्न होम बटन थिचिराख्नुहोस्।"</string>
<string name="low_label" msgid="6525629096999711220">"न्यून"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ग्रामाटिकल जेन्डर चयन गर्नुहोस्"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"छलकपट गर्ने उद्देश्यले बनाइएका एपहरू छन् कि छैनन् भन्ने कुरा पत्ता लगाउन स्क्यान गरिँदै छ"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"फिसिङसम्बन्धी गतिविधि गरिएको छ कि छैन भन्ने कुरा पत्ता लगाउनका निम्ति एपमा गरिएका गतिविधि हेर्नुहोस्"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"स्क्यान गर्ने कार्य प्रयोग गर्नुहोस्"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"कामसम्बन्धी एपका लागि स्क्यान गर्ने सुविधा प्रयोग गर्नुहोस्"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"छलकपट गर्ने उद्देश्यले बनाइएका एपहरू पत्ता लगाउन स्क्यान गर्ने सुविधा प्रयोग गरियोस्"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"छलकपट गर्ने उद्देश्यले बनाइएका कामसम्बन्धी एपहरू पत्ता लगाउन स्क्यान गर्ने सुविधा प्रयोग गरियोस्"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-night/colors.xml b/res/values-night/colors.xml
index b83b2fa..a572841 100644
--- a/res/values-night/colors.xml
+++ b/res/values-night/colors.xml
@@ -56,6 +56,9 @@
<!-- Icon tint color for battery usage system icon -->
<color name="battery_usage_system_icon_color">@android:color/white</color>
+ <!-- Power anomaly color for icons, button and text -->
+ <color name="power_anomaly_app_warning_hint_color">#FDD663</color>
+ <color name="power_anomaly_primary_button_text_color">#2E3300</color>
<!-- UDFPS colors -->
<color name="udfps_enroll_icon">#7DA7F1</color>
@@ -66,6 +69,8 @@
<color name="udfps_enroll_progress_help">#607DA7F1</color>
<color name="udfps_enroll_progress_help_with_talkback">#FFEE675C</color>
+ <!-- Accessibility colors -->
+ <color name="accessibility_text_reading_background">@android:color/black</color>
<!-- Flash notifications colors -->
<!-- Screen flash notification color selected stroke in color selection dialog -->
<color name="screen_flash_color_button_outer_circle_stroke_color">#FFFFFF</color>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index cf73231..52429f2 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Audio delen"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Audio delen"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Gesprekken en alarmen"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Verbinden met een LE-audiostream"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Audiostreams in de buurt"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audiostreams"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Maak verbinding met een audiostream via een QR-code"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Geen audiostreams in de buurt gevonden"</string>
<string name="date_and_time" msgid="1788358029823431692">"Datum en tijd"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Wissen"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Werkprofiel"</string>
<string name="private_space_title" msgid="7078627930195569767">"Privéruimte"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Apps verbergen in een privémap"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Ontgrendelen met schermvergrendeling"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Verberg apps in een privémap die alleen toegankelijk is voor jou"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Vergrendeling van privéruimte"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Je kunt Privéruimte op dezelfde manier ontgrendelen als je apparaat of een andere vergrendeling kiezen"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Schermvergrendeling van apparaat gebruiken"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Ontgrendelen via gezichtsherkenning en met vingerafdruk"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tik om in te stellen"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Hetzelfde als de apparaatschermvergrendeling"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Nieuwe vergrendeling voor privéruimte kiezen?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Verbergen indien vergrendeld"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Privéruimte verbergen indien vergrendeld"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Als je niet wilt dat andere mensen weten dat Privéruimte op je apparaat staat, kun je deze verbergen in de lijst met apps"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Toegang krijgen tot Privéruimte indien verborgen"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Zoek naar Privéruimte in de zoekbalk"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tik op de tegel Privéruimte"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Je Privéruimte ontgrendelen"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Uit"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Aan"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Systeem"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Privéruimte maken"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Privéruimte verwijderen"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Privéruimte gemaakt"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Privéruimte bestaat al"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Privéruimte kan niet worden gemaakt"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Privéruimte verwijderd"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Privéruimte kan niet worden verwijderd"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Schermvergrendeling instellen"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Als je Privéruimte wilt gebruiken, stel je een schermvergrendeling op dit apparaat in."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Schermvergrendeling instellen"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Annuleren"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Annuleren"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Instellen"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Privéruimte instellen"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Verberg privé-apps in een beveiligde ruimte die alleen toegankelijk is voor jou"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Hoe het werkt"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Je kunt toegang tot Privéruimte krijgen vanaf de onderkant van de lijst met apps"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Apps in Privéruimte worden beschermd door een vergrendeling"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Meldingen van apps in Privéruimte worden verborgen als Privéruimte vergrendeld is"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Apps in Privéruimte verschijnen niet in rechtenbeheer, privacydashboard en andere instellingen als Privéruimte vergrendeld is"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Privéruimte instellen…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Gebruiksinformatie voor apps in Privéruimte is verborgen als Privéruimte vergrendeld is"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Toegang krijgen tot Privéruimte vanuit je lijst met apps"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Sommige systeem-apps zijn al geïnstalleerd in Privéruimte"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Kan Privéruimte niet instellen"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Probeer het nu of kom later terug"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Opnieuw proberen"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Schermvergrendeling gebruiken voor ontgrendeling?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Je kunt Privéruimte op dezelfde manier ontgrendelen als je apparaat of een andere vergrendeling kiezen"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Schermvergrendeling gebruiken"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Nieuwe vergrendeling kiezen"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Je bent nu helemaal klaar"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"Je hebt toegang tot Privéruimte via je lijst met apps"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Klaar"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Scroll omlaag om toegang tot Privéruimte te krijgen"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Log in om Privéruimte in te stellen"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Log in bij een account om Privéruimte in te stellen"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Om Privéruimte te tonen (niet de definitieve gebruikerservaring)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Open de app Instellingen"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Tik op Beveiliging en privacy > Privéruimte > Privéruimte verbergen indien vergrendeld"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Schakelaar Privéruimte verbergen indien vergrendeld"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Opmerking voor Googlers: Deze functie wordt nog ontwikkeld"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Je kunt maximaal <xliff:g id="COUNT">%d</xliff:g> vingerafdrukken toevoegen"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Je hebt het maximale aantal vingerafdrukken toegevoegd"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Kan geen extra vingerafdrukken toevoegen"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Verbinden"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Verbinding verbreken"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Koppelen en verbinden"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Als bluetooth aanstaat, kan je apparaat communiceren met andere bluetooth-apparaten in de buurt."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Als bluetooth aanstaat, kan je apparaat communiceren met andere bluetooth-apparaten in de buurt"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Als bluetooth aanstaat, kan je apparaat communiceren met andere bluetooth-apparaten in de buurt.\n\nApps en services kunnen nog steeds op elk moment naar apparaten in de buurt scannen om de apparaatfunctionaliteit te verbeteren, zelfs als bluetooth uitstaat. Dit kan worden gebruikt om bijvoorbeeld locatiegebaseerde functies en services te verbeteren. Je kunt dit wijzigen in de instellingen voor bluetooth-scannen."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Wijzigen"</string>
<string name="device_details_title" msgid="1155622417516195481">"Apparaatgegevens"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Sta ART toe de bytecode te verifiëren voor apps waarop foutopsporing kan worden toegepast"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Vernieuwingssnelheid tonen"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Toon huidige vernieuwingssnelheid van scherm"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR-ratio tonen"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Toon de huidige HDR/SDR-ratio"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Apparaatontgrendeling vereisen voor NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Apps blijven gebruiken bij vouwen"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Verhoogt de vernieuwingssnelheid automatisch naar <xliff:g id="ID_1">%1$d</xliff:g> Hz voor bepaalde content. Het batterijgebruik neemt toe."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Piekvernieuwingssnelheid afdwingen"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"De hoogste vernieuwingssnelheid voor verbeterde responsiviteit voor aanraking en animatiekwaliteit. Het batterijgebruik neemt toe."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Schermaandacht"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Gemeenschappelijke instellingen"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN\'s"</string>
<string name="apn_edit" msgid="2003683641840248741">"Toegangspunt bewerken"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Toegangspunt toevoegen"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Niet ingesteld"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Niet ingesteld"</string>
<string name="apn_name" msgid="6677695784108157953">"Naam"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Knop Toegankelijkheid gebruiken om te openen"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Houd de volumetoetsen ingedrukt om te openen"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Tik 3 keer op het scherm om te openen"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"3·keer op het scherm tikken met 2 vingers om te openen"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Gebaar gebruiken om te openen"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Toegankelijkheidsgebaar gebruiken"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Als je deze functie wilt gebruiken, tik je onderaan het scherm op de knop Toegankelijkheid <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nTik op de knop Toegankelijkheid en houd deze vast om tussen functies te schakelen."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Tik op de knop Toegankelijkheid op het scherm om deze functie te gebruiken."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Als je deze functie wilt gebruiken, houd je beide volumetoetsen ingedrukt."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Tik ergens op je scherm om de vergroting te starten of te stoppen."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Tik ergens 3 keer op het scherm met 2 vingers om de vergroting te starten of te stoppen."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Als je deze functie wilt gebruiken, swipe je met twee vingers omhoog vanaf de onderkant van het scherm.\n\nSwipe met twee vingers omhoog en houd vast om tussen functies te schakelen."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Als je deze functie wilt gebruiken, swipe je met 3 vingers omhoog vanaf de onderkant van het scherm.\n\nSwipe met 3 vingers omhoog en houd vast om tussen functies te schakelen."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Als je een toegankelijkheidsfunctie wilt gebruiken, swipe je met twee vingers omhoog vanaf de onderkant van het scherm.\n\nSwipe met twee vingers omhoog en houd vast om tussen functies te schakelen."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Volumetoetsen ingedrukt houden"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"volumetoetsen ingedrukt houden"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Houd beide volumetoetsen ingedrukt"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"3·keer op het scherm tikken met 2 vingers"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"3·keer op het scherm tikken met 2 vingers"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Tik snel {0,number,integer} keer op het scherm met 2 vingers"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"3 keer op het scherm tikken"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"drie keer op het scherm tikken"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Tik snel {0,number,integer} keer op het scherm. Deze snelkoppeling kan je apparaat vertragen."</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"De functie kan je interacties met een app of een hardwaresensor bijhouden en namens jou met apps communiceren."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Toestaan"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Weigeren"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Stoppen"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Annuleren"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> beëindigen?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Als je op <xliff:g id="STOP">%1$s</xliff:g> tikt, wordt <xliff:g id="SERVICE">%2$s</xliff:g> gestopt."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Geen services geïnstalleerd"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Geen service geselecteerd"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Geen beschrijving opgegeven."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Als je de achtergrondactiviteit voor een app beperkt, functioneert de app mogelijk niet meer correct"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Batterijoptimalisatie is niet ingesteld voor deze app. Je kunt de app dus niet beperken.\n\nZet eerst batterijoptimalisatie aan als je de app wilt beperken."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Batterijgebruik beheren"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Achtergrondgebruik toestaan"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Zet aan voor realtime updates, zet uit om de batterij te sparen"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Onbeperkt"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Geoptimaliseerd"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Beperkt"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Naam"</string>
<string name="vpn_type" msgid="5533202873260826663">"Type"</string>
<string name="vpn_server" msgid="2908816134941973935">"Serveradres"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP-versleuteling (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-geheim"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-ID"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Van tevoren gedeelde IPSec-sleutel"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-gebruikerscertificaat"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"CA-certificaat voor IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-servercertificaat"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Geavanceerde opties tonen"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-zoekdomeinen"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-servers (bijv. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Doorstuurroutes (bijv. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Gebruikersnaam"</string>
<string name="vpn_password" msgid="1183746907642628127">"Wachtwoord"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Accountgegevens opslaan"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(niet gebruikt)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(server niet verifiëren)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(ontvangen van server)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Dit type VPN kan niet continu verbonden blijven"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Always-on VPN ondersteunt alleen numerieke serveradressen"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Er moet een DNS-server worden ingesteld voor Always-on VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adressen van DNS-servers moeten numeriek zijn voor Always-on VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"De opgegeven informatie is niet geschikt voor Always-on VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Annuleren"</string>
<string name="vpn_done" msgid="5137858784289564985">"Sluiten"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Verbindingen zonder VPN blokkeren"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN-verbinding vereisen?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Niet beveiligd. Update naar een IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecteer een VPN-profiel waarmee je altijd verbonden wilt blijven. Netwerkverkeer wordt alleen toegestaan bij verbinding met dit VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Geen"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Voor Always-on VPN is een IP-adres voor zowel de server als DNS vereist."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Toon alle content van meldingen"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Toon gevoelige content alleen indien ontgrendeld"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Toon helemaal geen meldingen"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hoe wil je dat het vergrendelscherm wordt weergegeven?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Wat wil je tonen op het vergrendelscherm?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Vergrendelscherm"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Content van alle werkmeldingen tonen"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Verberg gevoelige werkcontent"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Toegang geven om alle bestanden te beheren"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Sta toe dat deze app alle bestanden op dit apparaat of gekoppelde opslagvolumes kan lezen, aanpassen of verwijderen. Als je dit toestaat, kan de app zonder jouw medeweten toegang tot bestanden krijgen."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Mag toegang tot alle bestanden hebben"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps met spraakactivering"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Spraakactivering toestaan"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Met spraakactivering zet je goedgekeurde apps handsfree aan met spraakopdrachten. Dankzij ingebouwde adaptieve detectie blijven gegevens privé.\n\n"<a href="">"Meer informatie over beveiligde adaptieve detectie"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Meldingen op volledig scherm"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Meldingen op volledig scherm van deze app toestaan"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Toestaan dat deze app meldingen op het volledige scherm toont als het apparaat is vergrendeld. Apps kunnen zo alarmen, inkomende gesprekken of andere urgente meldingen onder de aandacht brengen."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> heeft op de achtergrond meer batterij dan normaal gebruikt"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> heeft op de voorgrond meer batterij gebruikt"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> heeft op de voorgrond meer batterij dan normaal gebruikt"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Afwijking in batterijgebruik"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Hoog batterijgebruik"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Hoog batterijgebruik op de achtergrond"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Hoog batterijgebruik op de voorgrond"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"systeemnavigatie, navigatie met 2 knoppen, navigatie met 3 knoppen, navigatie met gebaren, swipen, vegen"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitale assistent"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swipen om assistent aan te roepen"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swipe omhoog vanuit een benedenhoek om de digitale assistent-app aan te roepen"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swipe omhoog vanuit een benedenhoek om de digitale assistent-app aan te roepen"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Startknop vasthouden voor de Assistent"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Tik op de startknop en houd vast om de app voor de digitale assistent te starten"</string>
<string name="low_label" msgid="6525629096999711220">"Laag"</string>
@@ -4328,7 +4311,7 @@
<!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
<!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
<string name="enable_angle_as_system_driver" msgid="4648827560023949786">"Experimenteel: ANGLE aanzetten"</string>
- <string name="enable_angle_as_system_driver_summary" msgid="2170215556348477481">"Waarschuwing: Zet ANGLE aan als standaard OpenGL ES-stuurprogramma. Deze functie is in een experimentele fase en werkt misschien niet met bepaalde camera- en video-apps."</string>
+ <string name="enable_angle_as_system_driver_summary" msgid="2170215556348477481">"Waarschuwing: ANGLE wordt aangezet als standaard OpenGL ES-stuurprogramma. Deze functie is in een experimentele fase en werkt misschien niet met bepaalde camera- en video-apps."</string>
<string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Je moet opnieuw opstarten om het OpenGL ES-stuurprogramma van het systeem te wijzigen"</string>
<string name="platform_compat_dashboard_title" msgid="1323980546791790236">"App-compatibiliteitswijzigingen"</string>
<string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Zet app-compatibiliteitswijzigingen aan/uit"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Grammaticaal geslacht selecteren"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Scannen op misleidende apps"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"App-activiteit checken op phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Scannen gebruiken"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Scannen gebruiken voor werk-apps"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Scannen gebruiken om misleidende apps te vinden"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Scannen gebruiken om misleidende apps voor werk te vinden"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 30f5134..96c9841 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"ଅନ୍ୟ ଡିଭାଇସ୍ଗୁଡ଼ିକ"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"ସେଭ ହୋଇଥିବା ଡିଭାଇସଗୁଡ଼ିକ"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"ଆକାଉଣ୍ଟ ସହ ସମ୍ବନ୍ଧିତ"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ଆକାଉଣ୍ଟରେ ପୂର୍ବରୁ ବ୍ୟବହାର କରାଯାଇଛି"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ପୂର୍ବରୁ ବ୍ୟବହାର କରାଯାଇଥିବା ଆକାଉଣ୍ଟ"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"ପେୟାର କରିବା ପାଇଁ ବ୍ଲୁଟୁଥ ଚାଲୁ ହେବ"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"କନେକ୍ସନ ପସନ୍ଦଗୁଡ଼ିକ"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ପୂର୍ବରୁ ସଂଯୋଗ ହୋଇଛି"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"ଷ୍ଟାଇଲସ"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ଅଡିଓ ସେୟାରିଂ"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ଅଡିଓ ସେୟାର କରନ୍ତୁ"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"କଲ ଏବଂ ଆଲାରାମଗୁଡ଼ିକ"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"ଏକ LE ଅଡିଓ ଷ୍ଟ୍ରିମ ସହ କନେକ୍ଟ କରନ୍ତୁ"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"ଆଖପାଖର ଅଡିଓ ଷ୍ଟ୍ରିମଗୁଡ଼ିକ"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"ଅଡିଓ ଷ୍ଟ୍ରିମଗୁଡ଼ିକ"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR କୋଡ ବ୍ୟବହାର କରି ଏକ ଅଡିଓ ଷ୍ଟ୍ରିମ ସହ କନେକ୍ଟ କରନ୍ତୁ"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"ଆଖପାଖର କୌଣସି ଅଡିଓ ଷ୍ଟ୍ରିମ ମିଳିଲା ନାହିଁ।"</string>
<string name="date_and_time" msgid="1788358029823431692">"ତାରିଖ ଓ ସମୟ"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"ପ୍ରକ୍ସି"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"ଖାଲି କରନ୍ତୁ"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"ୱାର୍କ ପ୍ରୋଫାଇଲ"</string>
<string name="private_space_title" msgid="7078627930195569767">"ପ୍ରାଇଭେଟ ସ୍ପେସ"</string>
<string name="private_space_summary" msgid="8237652417163408001">"ଏକ ପ୍ରାଇଭେଟ ଫୋଲ୍ଡରରେ ଆପ୍ସକୁ ଲୁଚାନ୍ତୁ"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"ସ୍କ୍ରିନ ଲକ ବ୍ୟବହାର କରି ଅନଲକ କରନ୍ତୁ"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"କେବଳ ଆପଣ ଆକ୍ସେସ କରିପାରୁଥିବା ଏକ ପ୍ରାଇଭେଟ ଫୋଲ୍ଡରରେ ଆପ୍ସକୁ ଲୁଚାନ୍ତୁ"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"ଆପଣଙ୍କ ଡିଭାଇସକୁ ଆପଣ ଅନଲକ କରିବା ପରି Private Spaceକୁ ଅନଲକ କରିପାରିବେ କିମ୍ୱା ଏକ ଭିନ୍ନ ଲକ ବାଛିପାରିବେ"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ଡିଭାଇସ ସ୍କ୍ରିନ ଲକ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"ଫେସ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"ସେଟ ଅପ କରିବାକୁ ଟାପ କରନ୍ତୁ"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ଡିଭାଇସ ସ୍କ୍ରିନ ଲକ ପରି ସମାନ"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"ପ୍ରାଇଭେଟ ସ୍ପେସ ପାଇଁ ଏକ ନୂଆ ଲକ ବାଛିବେ?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"ଲକ ଥିବା ସମୟରେ ଲୁଚାନ୍ତୁ"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ ଥିବା ସମୟରେ ଏହାକୁ ଲୁଚାନ୍ତୁ"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ଡିଭାଇସରେ ପ୍ରାଇଭେଟ ସ୍ପେସ ଥିବା ଅନ୍ୟ ଲୋକମାନଙ୍କୁ ନଜଣାଇବାକୁ ଆପଣ ଆପ୍ସ ତାଲିକାରୁ ଏହାକୁ ଲୁଚାଇପାରିବେ"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଲୁକ୍କାୟିତ ଥିବା ସମୟରେ ଏହାକୁ ଆକ୍ସେସ କରନ୍ତୁ"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"ସର୍ଚ୍ଚ ବାରରେ \'ପ୍ରାଇଭେଟ ସ୍ପେସ\' ସର୍ଚ୍ଚ କରନ୍ତୁ"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଟାଇଲରେ ଟାପ କରନ୍ତୁ"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଅନଲକ କରନ୍ତୁ"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ବନ୍ଦ ଅଛି"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ଚାଲୁ ଅଛି"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"ସିଷ୍ଟମ"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"ପ୍ରାଇଭେଟ ସ୍ପେସ ତିଆରି କରନ୍ତୁ"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଡିଲିଟ କରନ୍ତୁ"</string>
- <string name="private_space_created" msgid="2978055968937762232">"ପ୍ରାଇଭେଟ ସ୍ପେସ ସଫଳତାର ସହ ତିଆରି କରାଯାଇଛି"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"ପ୍ରାଇଭେଟ ସ୍ପେସ ପୂର୍ବରୁ ଅଛି"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"ପ୍ରାଇଭେଟ ସ୍ପେସ ତିଆରି କରାଯାଇପାରିଲା ନାହିଁ"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"ପ୍ରାଇଭେଟ ସ୍ପେସ ସଫଳତାର ସହ ଡିଲିଟ କରାଯାଇଛି"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଡିଲିଟ କରାଯାଇପାରିଲା ନାହିଁ"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"ଏକ ସ୍କ୍ରିନ ଲକ ସେଟ କରନ୍ତୁ"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"ପ୍ରାଇଭେଟ ସ୍ପେସ ବ୍ୟବହାର ପାଇଁ ଏ ଡିଭାଇସରେ ଏକ ସ୍କ୍ରିନ ଲକ ସେଟ କର।"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"ସ୍କ୍ରିନ ଲକ ସେଟ କରନ୍ତୁ"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"ବାତିଲ କରନ୍ତୁ"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"ବାତିଲ କରନ୍ତୁ"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"ସେଟ ଅପ କରନ୍ତୁ"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"ପ୍ରାଇଭେଟ ସ୍ପେସ ସେଟ ଅପ କରନ୍ତୁ"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"ପ୍ରାଇଭେଟ ଆପ୍ସକୁ କେବଳ ଆପଣ ଆକ୍ସେସ କରିପାରୁଥିବା ଏକ ସୁରକ୍ଷିତ ସ୍ପେସରେ ଲୁଚାନ୍ତୁ"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"ଏହା କିପରି କାମ କରେ"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"ଆପଣ ଆପଣଙ୍କ ଆପ୍ସ ତାଲିକାର ନିମ୍ନରୁ ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଆକ୍ସେସ କରିପାରିବେ"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"ପ୍ରାଇଭେଟ ସ୍ପେସରେ ଥିବା ଆପ୍ସ ଏକ ଲକ ଦ୍ୱାରା ସୁରକ୍ଷିତ ଅଟେ"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Private Space ଲକ ଥିବା ସମୟରେ ଏଥିରେ ଥିବା ଆପ୍ସରୁ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଲୁଚାଯାଇଥାଏ"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Private Space ଲକ ଥିବା ବେଳେ ଅନୁମତି ପରିଚାଳକ, ଗୋପନୀୟତା ଡେସବୋର୍ଡ ଏବଂ ଅନ୍ୟ ସେଟିଂସରେ Private Space ଆପ୍ସ ଦେଖାଯିବ ନାହିଁ"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Private Space ସେଟ ଅପ କରାଯାଉଛି…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Private Space ଆପ୍ସ ଲକ ଥିବା ବେଳେ ଏହାର ବ୍ୟବହାର ସୂଚନା ଲୁକ୍କାୟିତ ରହିଥାଏ"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"ଆପଣଙ୍କ ଆପ୍ସ ତାଲିକାରୁ Private Spaceକୁ ଆକ୍ସେସ କରନ୍ତୁ"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Private Space ସେଟ ଅପ କରାଯାଇପାରିବ ନାହିଁ"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"ବର୍ତ୍ତମାନ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ କିମ୍ୱା ପରେ ଫେରନ୍ତୁ"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"ଅନଲକ କରିବା ପାଇଁ ସ୍କ୍ରିନ ଲକ ବ୍ୟବହାର କରିବେ?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"ଆପଣଙ୍କ ଡିଭାଇସକୁ ଆପଣ ଅନଲକ କରିବା ପରି Private Spaceକୁ ଅନଲକ କରିପାରିବେ କିମ୍ୱା ଏକ ଭିନ୍ନ ଲକ ବାଛିପାରିବେ"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"ସ୍କ୍ରିନ ଲକ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"ନୂଆ ଲକ ବାଛନ୍ତୁ"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"ସମ୍ପୂର୍ଣ୍ଣ ଭାବେ ପ୍ରସ୍ତୁତ!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"ହୋଇଗଲା"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Private Spaceକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ତଳକୁ ସ୍କ୍ରୋଲ କରନ୍ତୁ"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"ପ୍ରାଇଭେଟ ସ୍ପେସ ସେଟ ଅପ କରିବା ପାଇଁ ସାଇନ ଇନ କରନ୍ତୁ"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"ପ୍ରାଇଭେଟ ସ୍ପେସ ସେଟ ଅପ କରିବା ପାଇଁ ଆପଣ ଏକ ଆକାଉଣ୍ଟରେ ସାଇନ ଇନ କରିବା ଆବଶ୍ୟକ"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଦେଖାଇବା ପାଇଁ (ଫାଇନାଲ UX ନୁହେଁ)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Settings ଆପ ଖୋଲନ୍ତୁ"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"ସୁରକ୍ଷା & ଗୋପନୀୟତା > ପ୍ରାଇଭେଟ ସ୍ପେସ > ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ ଥିବା ସମୟରେ ଏହାକୁ ଲୁଚାନ୍ତୁରେ ଟାପ କରନ୍ତୁ"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ ଥିବା ସମୟରେ ଏହାକୁ ଲୁଚାନ୍ତୁ ଟୋଗଲ ବନ୍ଦ କରନ୍ତୁ"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Googlerମାନଙ୍କ ପାଇଁ ନୋଟ: ଏହି ଫିଚରର ଡେଭଲପମେଣ୍ଟ ଏବେ ବି ଚାଲିଛି"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"ଆପଣ ସର୍ବାଧିକ <xliff:g id="COUNT">%d</xliff:g> ଟିପଚିହ୍ନ ଯୋଗ କରିପାରିବେ"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"ଆପଣ ସର୍ବାଧିକ ସଂଖ୍ୟାର ଆଙ୍ଗୁଠି ଚିହ୍ନ ଯୋଡିଛନ୍ତି"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"ଆଉ ଅଧିକ ଟିପଚିହ୍ନ ଯୋଡିପାରିବ ନାହିଁ"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"କନେକ୍ଟ କରନ୍ତୁ"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ଡିସକନେକ୍ଟ କରନ୍ତୁ"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ପେୟାର୍ ଓ ସଂଯୋଗ"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ଆପଣଙ୍କ ବ୍ଲୁଟୁଥ ଚାଲୁଥିବା ବେଳେ ଆପଣଙ୍କ ଡିଭାଇସ ଆଖପାଖରେ ଥିବା ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ସହ ଯୋଗାଯୋଗ କରିପାରିବ।"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ବ୍ଲୁଟୁଥ ଚାଲୁ ଥିଲେ ଆପଣଙ୍କ ଡିଭାଇସ ଆଖପାଖର ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ସହ କମ୍ୟୁନିକେଟ କରିପାରିବ"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ବ୍ଲୁଟୁଥ ଚାଲୁ ଥିବା ବେଳେ ଆପଣଙ୍କ ଡିଭାଇସ ଆଖପାଖରେ ଥିବା ଅନ୍ୟ ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ସହ କମ୍ୟୁନିକେଟ କରିପାରିବ।\n\nଡିଭାଇସ ଅନୁଭୂତିକୁ ଉନ୍ନତ କରିବା ପାଇଁ, ବ୍ଲୁଟୁଥ ବନ୍ଦ ଥିଲେ ମଧ୍ୟ ଆପ୍ସ ଓ ସେବାଗୁଡ଼ିକ ଯେ କୌଣସି ସମୟରେ ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକ ପାଇଁ ଏବେ ବି ସ୍କାନ କରିପାରିବ। ଉଦାହରଣ ସ୍ଵରୂପ, ଲୋକେସନ-ଆଧାରିତ ଫିଚର ଓ ସେବାଗୁଡ଼ିକୁ ଉନ୍ନତ କରିବା ପାଇଁ ଏହାକୁ ବ୍ୟବହାର କରାଯାଇପାରିବ। ଆପଣ ଏହାକୁ ବ୍ଲୁଟୁଥ ସ୍କାନିଂ ସେଟିଂସରେ ପରିବର୍ତ୍ତନ କରିପାରିବେ।"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
<string name="device_details_title" msgid="1155622417516195481">"ଡିଭାଇସର ବିବରଣୀ"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"debuggable ଆପ୍ସ ପାଇଁ bytecode ଯାଞ୍ଚ କରିବାକୁ ART ଅନୁମତି ଦିଅନ୍ତୁ"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"ରିଫ୍ରେସ୍ ରେଟ୍ ଦେଖାନ୍ତୁ"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"ବର୍ତ୍ତମାନର ଡିସପ୍ଲେ ରିଫ୍ରେସ ରେଟ ଦେଖାନ୍ତୁ"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR ଅନୁପାତ ଦେଖାନ୍ତୁ"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"ବର୍ତ୍ତମାନର HDR/SDR ଅନୁପାତ ଦେଖାନ୍ତୁ"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC ପାଇଁ ଡିଭାଇସ୍ ଅନଲକ୍ ଆବଶ୍ୟକ"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android ବିମ୍"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"ଫୋଲ୍ଡରେ ଥିବା ଆପ୍ସ ବ୍ୟବହାର କରିବା ଜାରି ରଖନ୍ତୁ"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"ସ୍ମୁଥ୍ ଡିସପ୍ଲେ"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"କିଛି ବିଷୟବସ୍ତୁ ପାଇଁ ରିଫ୍ରେସ ରେଟକୁ ସ୍ୱତଃ <xliff:g id="ID_1">%1$d</xliff:g> Hz ପର୍ଯ୍ୟନ୍ତ ବଢ଼ାଇଥାଏ। ବେଟେରୀର ବ୍ୟବହାର ବଢ଼ାଇଥାଏ।"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ସର୍ବାଧିକ ରିଫ୍ରେସ୍ ହାରକୁ ଲାଗୁ କରନ୍ତୁ"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"ଉନ୍ନତ ସ୍ପର୍ଶ ପ୍ରତିକ୍ରିୟା ଓ ଆନିମେସନ ଗୁଣବତ୍ତା ପାଇଁ ସର୍ବାଧିକ ରିଫ୍ରେସ ରେଟ। ବେଟେରୀର ବ୍ୟବହାର ବଢ଼ାଇଥାଏ।"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"ସ୍କ୍ରିନ୍ ଆଟେନ୍ସନ୍"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"କମ୍ୟୁନାଲ ସେଟିଂସ"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"ଆକ୍ସେସ ପଏଣ୍ଟକୁ ଏଡିଟ କରନ୍ତୁ"</string>
+ <string name="apn_add" msgid="9069613192201630934">"ଆକ୍ସେସ ପଏଣ୍ଟ ଯୋଗ କରନ୍ତୁ"</string>
<string name="apn_not_set" msgid="8246646433109750293">"ସେଟ ହୋଇନାହିଁ"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"ସେଟ କରାଯାଇନାହିଁ"</string>
<string name="apn_name" msgid="6677695784108157953">"ନାମ"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ଖୋଲିବା ପାଇଁ ଆକ୍ସେସିବିଲିଟୀ ବଟନ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"ଖୋଲିବାକୁ ଭଲ୍ୟୁମ୍ କୀ\'ଗୁଡ଼ିକୁ ଧରି ରଖନ୍ତୁ"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ଖୋଲିବାକୁ ସ୍କ୍ରିନରେ ତିନି ଥର ଟାପ୍ କରନ୍ତୁ"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"ଖୋଲିବା ପାଇଁ ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନକୁ ତିନିଥର ଟାପ କରନ୍ତୁ"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ଖୋଲିବା ପାଇଁ ଜେଶ୍ଚର୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ଏହି ଫିଚର୍ ବ୍ୟବହାର କରିବାକୁ ଆପଣଙ୍କ ସ୍କ୍ରିନର ନିମ୍ନରେ ଥିବା ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ରେ ଟାପ୍ କରନ୍ତୁ। \n\n ଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ ଆକ୍ସେସିବିଲିଟୀ ବଟନକୁ ଦାବି ଧରନ୍ତୁ।"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ଏହି ଫିଚରକୁ ବ୍ୟବହାର କରିବା ପାଇଁ, ଆପଣଙ୍କ ସ୍କ୍ରିନରେ ଥିବା ଆକ୍ସେସିବିଲିଟୀ ବଟନକୁ ଟାପ୍ କରନ୍ତୁ।"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ଏହି ଫିଚର୍ ବ୍ୟବହାର କରିବାକୁ, ଉଭୟ ଭଲ୍ୟୁମ୍ କୀ’କୁ ଦବାଇ ଧରନ୍ତୁ।"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ମେଗ୍ନିଫିକେସନ ଆରମ୍ଭ ଏବଂ ବନ୍ଦ କରିବାକୁ, ଆପଣଙ୍କ ସ୍କ୍ରିନର ଯେ କୌଣସି ସ୍ଥାନରେ ତିନି ଥର-ଟାପ କରନ୍ତୁ।"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"ମେଗ୍ନିଫିକେସନ ଆରମ୍ଭ ଓ ବନ୍ଦ କରିବାକୁ ନିଜ ସ୍କ୍ରିନର ଯେ କୌଣସି ସ୍ଥାନରେ ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ତିନିଥର-ଟାପ କରନ୍ତୁ।"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ଏହି ଫିଚର୍ ବ୍ୟବହାର କରିବାକୁ 2ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, 2ଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ଏହି ଫିଚର୍ ବ୍ୟବହାର କରିବାକୁ 3ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, 3ଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ଏକ ଆକ୍ସେସବିଲିଟୀ ଫିଚର୍ ବ୍ୟବହାର କରିବାକୁ 2ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, 2ଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ଭଲ୍ୟୁମ୍ କୀ\'ଗୁଡ଼ିକୁ ଧରି ରଖନ୍ତୁ"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ଭଲ୍ୟୁମ୍ କୀ\'ଗୁଡ଼ିକୁ ଧରି ରଖନ୍ତୁ"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ଉଭୟ ଭଲ୍ୟୁମ୍ କୀ’କୁ ଦବାଇ ଧରି ରଖନ୍ତୁ"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"ଦୁଇଟି-ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନକୁ ତିନିଥର-ଟାପ କରନ୍ତୁ"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ଦୁଇଟି-ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନକୁ ତିନିଥର-ଟାପ କରନ୍ତୁ"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନକୁ ଶୀଘ୍ର {0,number,integer} ଥର ଟାପ କରନ୍ତୁ"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ଟ୍ରିପଲ୍ ଟାପ୍ ସ୍କ୍ରିନ୍"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ଟ୍ରିପଲ୍-ଟାପ୍ ସ୍କ୍ରିନ୍"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ସ୍କ୍ରିନରେ ଶୀଘ୍ର {0,number,integer} ଥର ଟାପ୍ କରନ୍ତୁ। ଏହି ସର୍ଟକଟ୍ ଆପଣଙ୍କ ଡିଭାଇସକୁ ଧୀର କରିପାରେ"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ଏହା କୌଣସି ଆପ କିମ୍ବା ହାର୍ଡୱେର ସେନ୍ସର ସହ ଆପଣଙ୍କର ଇଣ୍ଟେରାକ୍ସନକୁ ଟ୍ରାକ କରିପାରେ ଏବଂ ଆପଣଙ୍କ ତରଫରୁ ଆପ୍ସ ସହ ଇଣ୍ଟରାକ୍ଟ କରିପାରେ।"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ଅନୁମତି"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ଅଗ୍ରାହ୍ୟ"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"ବନ୍ଦ କରନ୍ତୁ"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ବାତିଲ"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g>କୁ ବନ୍ଦ କରିବେ?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g>କୁ ଟାପ୍ କରିବା ଦ୍ୱାରା <xliff:g id="SERVICE">%2$s</xliff:g> ବନ୍ଦ ହୋଇଯିବ।"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"କୌଣସି ସେବା ସଂସ୍ଥାପିତ ହୋଇନାହିଁ"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"କୌଣସି ସେବାର ଚୟନ କରାଯାଇନାହିଁ"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"କୌଣସି ବ୍ୟାଖ୍ୟା ଦିଆଯାଇ ନାହିଁ।"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ଯଦି ଆପଣ ଗୋଟିଏ ଆପ୍ର ବ୍ୟାକ୍ଗ୍ରାଉଣ୍ଡ କାର୍ଯ୍ୟକଳାପକୁ ସୀମିତ କରିବେ, ଏହା ଠିକ୍ ଭାବରେ କାମ କରିନପାରେ"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ବ୍ୟାଟେରୀକୁ ଅପ୍ଟିମାଇଜ୍ କରିବା ପାଇଁ ଯେହେତୁ ଏହି ଆପ୍କୁ ସେଟ୍ କରାଯାଇନାହିଁ, ତେଣୁ ଆପଣ ଏହାକୁ ସୀମାବଦ୍ଧ କରିପାରିବେ ନାହିଁ। \n\nଆପ୍କୁ ସୀମାବଦ୍ଧ କରିବା ପାଇଁ ପ୍ରଥମେ ବ୍ୟାଟେରୀ ଅପ୍ଟିମାଇଜେସନ୍କୁ ଚାଲୁ କରନ୍ତୁ।"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ବ୍ୟାଟେରୀ ବ୍ୟବହାର ପରିଚାଳନା କରନ୍ତୁ"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"ପୃଷ୍ଠପଟରେ ବ୍ୟବହାର କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ରିଅଲ-ଟାଇମ ଅପଡେଟ ପାଇଁ ସକ୍ଷମ କରନ୍ତୁ, ବେଟେରୀର ଚାର୍ଜ ସେଭ କରିବାକୁ ଅକ୍ଷମ କରନ୍ତୁ"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ଅପ୍ରତିବନ୍ଧିତ"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ଅପ୍ଟିମାଇଜ କରାଯାଇଛି"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ପ୍ରତିବନ୍ଧିତ"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"ନାମ"</string>
<string name="vpn_type" msgid="5533202873260826663">"ପ୍ରକାର"</string>
<string name="vpn_server" msgid="2908816134941973935">"ସର୍ଭର୍ ଠିକଣା"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP ଏନକ୍ରିପ୍ସନ୍ (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP ରହସ୍ୟ"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ଚିହ୍ନଟକର୍ତ୍ତା"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec ଶେୟାର କରାଯାଇସାରିଥିବା କୀ"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec ଉପଯୋଗକର୍ତ୍ତା ପ୍ରମାଣପତ୍ର"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA ସାର୍ଟିଫିକେଟ୍"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec ସର୍ଭର୍ ସର୍ଟିଫିକେଟ୍"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"ଉନ୍ନତ ବିକଳ୍ପ ଦେଖାନ୍ତୁ"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS ସନ୍ଧାନ ଡୁମେନ୍"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS ସର୍ଭର୍ (ଯେପରିକି 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"ଫରୱାର୍ଡିଂ ରୁଟ୍ଗୁଡ଼ିକ (ଯେପରିକି 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ନାମ"</string>
<string name="vpn_password" msgid="1183746907642628127">"ପାସୱାର୍ଡ"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"ଆକାଉଣ୍ଟ ସୂଚନାକୁ ସେଭ୍ କରନ୍ତୁ"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ବ୍ୟବହାର କରାଯାଇ ନାହିଁ)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ସର୍ଭର୍କୁ ଯାଞ୍ଚ କରନ୍ତୁନାହିଁ)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(ସର୍ଭରରୁ ଗ୍ରହଣ କରାଯାଇଛି)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ଏହି VPN ପ୍ରକାର ସବୁବେଳେ ସଂଯୋଗ ରହିପାରିବ ନାହିଁ"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"ସର୍ବଦା-ଅନ୍ VPN କେବଳ ସଂଖ୍ୟା ବିଶିଷ୍ଟ ସର୍ଭର୍ ଠିକଣାକୁ ସପୋର୍ଟ କରେ"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ସର୍ବଦା-ଅନ୍ VPN ପାଇଁ ଏକ DNS ସର୍ଭର ଉଲ୍ଲେଖ କରିବା ଜରୁରୀ"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"ସର୍ବଦା ଚାଲୁଥିବା VPN ପାଇଁ DNS ସର୍ଭର୍ ଠିକଣା ସଂଖ୍ୟା ବିଶିଷ୍ଟ ହୋଇଥିବା ଦରକାର"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ଏଣ୍ଟର୍ କରାଯାଇଥିବା ସୂଚନା ସର୍ବଦା-ଅନ୍ VPNକୁ ସପୋର୍ଟ କରେ ନାହିଁ"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"ବାତିଲ କରନ୍ତୁ"</string>
<string name="vpn_done" msgid="5137858784289564985">"ଖାରଜ"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"ବିନା VPNରେ ସଂଯୋଗଗୁଡ଼ିକୁ ବ୍ଲକ୍ କରନ୍ତୁ"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN ସଂଯୋଗ ଦରକାର?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"ସୁରକ୍ଷିତ ନୁହେଁ। କୌଣସି IKEv2 VPNକୁ ଅପଡେଟ୍ କରନ୍ତୁ"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"ସର୍ବଦା ସଂଯୁକ୍ତ ରହିବାକୁ ଏକ VPN ପ୍ରୋଫାଇଲ୍ ଚୟନ କରନ୍ତୁ। ନେଟ୍ୱର୍କ ଟ୍ରାଫିକ୍ ଏହି VPN ସହ ସଂଯୁକ୍ତ ଥିବବେଳେ ହିଁ ଅନୁମତି ମିଳିବ।"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"କିଛି ନାହିଁ"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"ଉଭୟ ସର୍ଭର୍ ଓ DNS ପାଇଁ ସର୍ବଦା-ଅନ୍ ଥିବା VPN ଗୋଟିଏ IP ଠିକଣା ଆବଶ୍ୟକ କରେ।"</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"ସମସ୍ତ ବିଜ୍ଞପ୍ତି ବିଷୟବସ୍ତୁ ଦେଖାନ୍ତୁ"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"ସମ୍ବେଦନଶୀଳ ବିଷୟବସ୍ତୁ ଅନଲକ ଥିବା ବେଳେ ହିଁ ଦେଖାନ୍ତୁ"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଆଦୌ ଦେଖାନ୍ତୁ ନାହିଁ"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ଲକ ସ୍କ୍ରିନ କିପରି ଡିସପ୍ଲେ ହେଉ ବୋଲି ଆପଣ ଚାହିଁବେ?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ଆପଣଙ୍କ ଲକ ସ୍କ୍ରିନ କଣ ଦେଖାଇବା ପାଇଁ ଆପଣ ଚାହାଁନ୍ତି?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ଲକ ସ୍କ୍ରିନ"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"ସମସ୍ତ ୱାର୍କ ବିଜ୍ଞପ୍ତି ବିଷୟବସ୍ତୁ ଦେଖାନ୍ତୁ"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"ସମ୍ବେଦନଶୀଳ ୱାର୍କ ବିଷୟବସ୍ତୁକୁ ଲୁଚାନ୍ତୁ"</string>
@@ -3650,7 +3631,7 @@
<string name="screen_pinning_title" msgid="6927227272780208966">"ଆପ ପିନିଂ"</string>
<string name="app_pinning_intro" msgid="6409063008733004245">"ବର୍ତ୍ତମାନର ଆପକୁ ଆପଣ ଅନପିନ୍ ନକରିବା ପର୍ଯ୍ୟନ୍ତ ଏହାକୁ ସ୍କ୍ରିନରେ ଦେଖାଇବା ପାଇଁ ଆପ୍ ପିନିଂ ଆପଣଙ୍କୁ ଅନୁମତି ଦିଏ। ଏହି ଫିଚର୍ ଏହି କ୍ଷେତ୍ରରେ ବ୍ୟବହୃତ ହୋଇପାରେ, ଉଦାହରଣ ସ୍ଵରୂପ, ଜଣେ ବିଶ୍ୱସ୍ତ ସାଙ୍ଗକୁ ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ଗେମ୍ ଖେଳିବାକୁ ଦେବା।"</string>
<string name="screen_pinning_description" msgid="5822120806426139396">"କୌଣସି ଆପ ପିନ କରାଗଲେ, ପିନ ହୋଇଥିବା ଆପଟି ଅନ୍ୟ ଆପ୍ସକୁ ଖୋଲିପାରେ ଏବଂ ବ୍ୟକ୍ତିଗତ ଡାଟା ଆକ୍ସେସ ଯୋଗ୍ୟ ହୋଇପାରେ। \n\nଆପ ପିନିଂ ବ୍ୟବହାର କରିବାକୁ: \n{0,number,integer}। ଆପ ପିନିଂ ଚାଲୁ କରନ୍ତୁ \n{1,number,integer}। ଓଭରଭ୍ୟୁ ଖୋଲନ୍ତୁ \n{2,number,integer}। ସ୍କ୍ରିନର ଶୀର୍ଷରେ ଥିବା ଆପ ଆଇକନରେ ଟାପ କରି \'ପିନ କରନ୍ତୁ\'ରେ ଟାପ କରନ୍ତୁ"</string>
- <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"କୌଣସି ଆପ ପିନ କରାଗଲେ, ପିନ ହୋଇଥିବା ଆପଟି ଅନ୍ୟ ଆପ୍ସକୁ ଖୋଲିପାରେ ଏବଂ ବ୍ୟକ୍ତିଗତ ଡାଟା ଆକ୍ସେସ ଯୋଗ୍ୟ ହୋଇପାରେ। \n\nଯଦି ଆପଣ କୌଣସି ବ୍ୟକ୍ତିଙ୍କ ସହ ଆପଣଙ୍କ ଡିଭାଇସ୍ ସୁରକ୍ଷିତ ଭାବେ ସେୟାର୍ କରିବାକୁ ଚାହୁଁଛନ୍ତି, ତେବେ ଏହା ପରିବର୍ତ୍ତେ ଜଣେ ଅତିଥି ଉପଯୋଗକର୍ତ୍ତା ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ। \n\nଆପ ପିନିଂ ବ୍ୟବହାର କରିବାକୁ: \n{0,number,integer}। ଆପ ପିନିଂ ଚାଲୁ କରନ୍ତୁ \n{1,number,integer}। ଓଭରଭ୍ୟୁ ଖୋଲନ୍ତୁ \n{2,number,integer}। ସ୍କ୍ରିନର ଶୀର୍ଷରେ ଥିବା ଆପ ଆଇକନରେ ଟାପ କରି \'ପିନ କରନ୍ତୁ\'ରେ ଟାପ କରନ୍ତୁ"</string>
+ <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"କୌଣସି ଆପ ପିନ କରାଗଲେ, ପିନ ହୋଇଥିବା ଆପଟି ଅନ୍ୟ ଆପ୍ସକୁ ଖୋଲିପାରେ ଏବଂ ବ୍ୟକ୍ତିଗତ ଡାଟା ଆକ୍ସେସ ଯୋଗ୍ୟ ହୋଇପାରେ। \n\nଯଦି ଆପଣ କୌଣସି ବ୍ୟକ୍ତିଙ୍କ ସହ ଆପଣଙ୍କ ଡିଭାଇସକୁ ସୁରକ୍ଷିତ ଭାବେ ସେୟାର କରିବାକୁ ଚାହୁଁଛନ୍ତି, ତେବେ ଏହା ପରିବର୍ତ୍ତେ ଜଣେ ଅତିଥି ୟୁଜରଙ୍କୁ ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ। \n\nଆପ ପିନିଂ ବ୍ୟବହାର କରିବାକୁ: \n{0,number,integer}। ଆପ ପିନିଂ ଚାଲୁ କରନ୍ତୁ \n{1,number,integer}। ଓଭରଭ୍ୟୁ ଖୋଲନ୍ତୁ \n{2,number,integer}। ସ୍କ୍ରିନର ଶୀର୍ଷରେ ଥିବା ଆପ ଆଇକନରେ ଟାପ କରି \'ପିନ କରନ୍ତୁ\'ରେ ଟାପ କରନ୍ତୁ"</string>
<string name="screen_pinning_dialog_message" msgid="8144925258679476654">"ଆପ୍ ପିନ୍ କରାଗଲେ: \n\n• ବ୍ୟକ୍ତିଗତ ଡାଟାକୁ ଆକ୍ସେସ୍ କରାଯାଇପାରେ \n (ଯେପରିକି ଯୋଗାଯୋଗଗୁଡ଼ିକ ଏବଂ ଇମେଲ୍ ବିଷୟବସ୍ତୁ) \n• ପିନ୍ ହୋଇଥିବା ଆପ ଅନ୍ୟ ଆପଗୁଡ଼ିକୁ ଖୋଲିପାରେ \n\nକେବଳ ଆପଣ ବିଶ୍ୱାସ କରୁଥିବା ଲୋକମାନଙ୍କ ସହ ଆପ୍ ପିନିଂ ବ୍ୟବହାର କରନ୍ତୁ।"</string>
<string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"ଅନ୍ପିନ୍ କରିବା ପୂର୍ବରୁ ଅନ୍ଲକ୍ ପାଟର୍ନ ପାଇଁ ପଚାରନ୍ତୁ"</string>
<string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ଅନ୍ପିନ୍ କରିବା ପୂର୍ବରୁ PIN ମାଗନ୍ତୁ"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"ସମସ୍ତ ଫାଇଲକୁ ପରିଚାଳନା ପାଇଁ ଆକ୍ସେସ୍ ଦିଅନ୍ତୁ"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ଏହି ଡିଭାଇସ୍ କିମ୍ବା ଯେ କୌଣସି ସଂଯୁକ୍ତ ଥିବା ଷ୍ଟୋରେଜ୍ ଭଲ୍ୟୁମରେ ଥିବା ସମସ୍ତ ଫାଇଲକୁ ପଢ଼ିବା, ପରିବର୍ତ୍ତନ କରିବା ଏବଂ ଡିଲିଟ୍ କରିବା ପାଇଁ ଏହି ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ। ଯଦି ଅନୁମତି ଦିଆଯାଏ, ତେବେ ଆପ୍ ଆପଣଙ୍କୁ ସ୍ପଷ୍ଟ ନକରି ଫାଇଲଗୁଡ଼ିକୁ ଆକ୍ସେସ୍ କରିପାରେ।"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"ସମସ୍ତ ଫାଇଲକୁ ଆକ୍ସେସ୍ କରିପାରିବ"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"ଭଏସ ସକ୍ରିୟକରଣ ଆପ୍ସ"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ଭଏସ ସକ୍ରିୟକରଣକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ଭଏସ ସକ୍ରିୟକରଣ ଭଏସ କମାଣ୍ଡ ବ୍ୟବହାର କରି ଅନୁମୋଦିତ ଆପ୍ସ, ହେଣ୍ଡ୍ସ-ଫ୍ରିକୁ ଚାଲୁ କରେ। କେବଳ ଆପଣଙ୍କ ପାଇଁ ଡାଟା ପ୍ରାଇଭେଟ ରହୁ ବୋଲି ବିଲ୍ଟ-ଇନ ଆଡେପ୍ଟିଭ ସେନ୍ସିଂ ସୁନିଶ୍ଚିତ କରେ।\n\n"<a href="">"ସୁରକ୍ଷିତ ଆଡେପ୍ଟିଭ ସେନ୍ସିଂ ବିଷୟରେ ଅଧିକ"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"ଏହି ଆପରୁ ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ଡିଭାଇସ ଲକ ହେଲେ ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନରେ ଦେଖାଯାଉଥିବା ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଦେଖାଇବା ପାଇଁ ଏହି ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ। ଆଲାରାମ, ଇନକମିଂ କଲ କିମ୍ବା ଅନ୍ୟ ଜରୁରୀ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ହାଇଲାଇଟ କରିବା ପାଇଁ ଆପ୍ସ ଏଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିପାରେ।"</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"ପୃଷ୍ଠପଟରେ ଥିବା ସମୟରେ <xliff:g id="APP_LABEL">%1$s</xliff:g> ସାଧାରଣ ଅପେକ୍ଷା ଅଧିକ ବେଟେରୀ ବ୍ୟବହାର କରିଛି"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"ଫୋରଗ୍ରାଉଣ୍ଡରେ ଥିବା ସମୟରେ <xliff:g id="APP_LABEL">%1$s</xliff:g> ଅଧିକ ବେଟେରୀ ବ୍ୟବହାର କରିଛି"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"ଫୋରଗ୍ରାଉଣ୍ଡରେ ଥିବା ସମୟରେ <xliff:g id="APP_LABEL">%1$s</xliff:g> ସାଧାରଣ ଅପେକ୍ଷା ଅଧିକ ବେଟେରୀ ବ୍ୟବହାର କରିଛି"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ବେଟେରୀ ବ୍ୟବହାରରେ ବ୍ୟତିକ୍ରମ"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"ଅଧିକ ବେଟେରୀ ବ୍ୟବହାର"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ପୃଷ୍ଠପଟରେ ଅଧିକ ବେଟେରୀ ବ୍ୟବହାର"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ଫୋରଗ୍ରାଉଣ୍ଡରେ ଅଧିକ ବେଟେରୀ ବ୍ୟବହାର"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"ସିଷ୍ଟମ୍ ନାଭିଗେସନ୍, 2 ବଟନ୍ ନାଭିଗେସନ୍, 3 ବଟନ୍ ନାଭିଗେସନ୍, ଜେଶ୍ଚର୍ ନାଭିଗେସନ୍, ସ୍ୱାଇପ୍"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ଡିଜିଟାଲ ଆସିଷ୍ଟାଣ୍ଟ"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"ଆସିଷ୍ଟାଣ୍ଟ ଆରମ୍ଭ କରିବାକୁ ସ୍ୱାଇପ କରନ୍ତୁ"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ଡିଜିଟାଲ ଆସିଷ୍ଟାଣ୍ଟ ଆପ ଆରମ୍ଭ କରିବା ପାଇଁ ନିମ୍ନର ଏକ କୋଣରୁ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ।"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ଡିଜିଟାଲ Assistant ଆପ ଆରମ୍ଭ କରିବା ପାଇଁ ନିମ୍ନର ଏକ କୋଣରୁ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant ଆରମ୍ଭ କରିବା ପାଇଁ ହୋମ ବଟନକୁ ଧରି ରଖନ୍ତୁ"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ଡିଜିଟାଲ ଆସିଷ୍ଟାଣ୍ଟ ଆପ ଆରମ୍ଭ କରିବା ପାଇଁ ହୋମ ବଟନକୁ ଦବାଇ ଧରି ରଖନ୍ତୁ।"</string>
<string name="low_label" msgid="6525629096999711220">"କମ୍"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ବ୍ୟାକରଣଗତ ଲିଙ୍ଗ ଚୟନ କରନ୍ତୁ"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"ପ୍ରତାରଣାପୂର୍ଣ୍ଣ ଆପ୍ସ ପାଇଁ ସ୍କାନିଂ"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"ଫିସିଂ ପାଇଁ ଆପ କାର୍ଯ୍ୟକଳାପ ଯାଞ୍ଚ କରନ୍ତୁ"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"ସ୍କାନିଂ ବ୍ୟବହାର କରନ୍ତୁ"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"ୱାର୍କ ଆପ୍ସ ପାଇଁ ସ୍କାନିଂ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ପ୍ରତାରଣାପୂର୍ଣ୍ଣ ଆପ୍ସ ପାଇଁ ସ୍କାନିଂ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ୱାର୍କ ପାଇଁ ପ୍ରତାରଣାପୂର୍ଣ୍ଣ ଆପ୍ସ ନିମନ୍ତେ ସ୍କାନିଂ ବ୍ୟବହାର କରନ୍ତୁ"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 4e9802a..2545660 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"ਸਟਾਈਲਸ"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ਆਡੀਓ ਸਾਂਝਾਕਰਨ"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ਆਡੀਓ ਨੂੰ ਸਾਂਝਾ ਕਰੋ"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ਕਾਲ ਅਤੇ ਅਲਾਰਮ"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ਆਡੀਓ ਸਟ੍ਰੀਮ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"ਨਜ਼ਦੀਕੀ ਆਡੀਓ ਸਟ੍ਰੀਮ"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"ਆਡੀਓ ਸਟ੍ਰੀਮ"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰ ਕੇ ਆਡੀਓ ਸਟ੍ਰੀਮ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"ਕੋਈ ਨਜ਼ਦੀਕੀ ਆਡੀਓ ਸਟ੍ਰੀਮ ਨਹੀਂ ਮਿਲੀ।"</string>
<string name="date_and_time" msgid="1788358029823431692">"ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"ਪ੍ਰੌਕਸੀ"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"ਕਲੀਅਰ ਕਰੋ"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ"</string>
<string name="private_space_title" msgid="7078627930195569767">"ਨਿੱਜੀ ਸਪੇਸ"</string>
<string name="private_space_summary" msgid="8237652417163408001">"ਨਿੱਜੀ ਫੋਲਡਰ ਵਿੱਚ ਐਪਾਂ ਲੁਕਾਓ"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"ਸਕ੍ਰੀਨ ਲਾਕ ਦੀ ਵਰਤੋਂ ਕਰ ਕੇ ਅਣਲਾਕ ਕਰੋ"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"ਨਿੱਜੀ ਫੋਲਡਰ ਵਿੱਚ ਉਹ ਐਪਾਂ ਲੁਕਾਓ, ਜਿਨ੍ਹਾਂ ਤੱਕ ਸਿਰਫ਼ ਤੁਸੀਂ ਪਹੁੰਚ ਕਰ ਸਕਦੇ ਹੋ"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"ਨਿੱਜੀ ਸਪੇਸ ਲਾਕ"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"ਤੁਸੀਂ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਉਸੇ ਤਰੀਕੇ ਨਾਲ ਅਣਲਾਕ ਕਰ ਸਕਦੇ ਹੋ ਜਿਸ ਤਰ੍ਹਾਂ ਤੁਸੀਂ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਦੇ ਹੋ ਜਾਂ ਕੋਈ ਵੱਖਰਾ ਲਾਕ ਚੁਣੋ"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ਡੀਵਾਈਸ ਸਕ੍ਰੀਨ ਲਾਕ ਵਰਤੋ"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"ਚਿਹਰਾ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ਡੀਵਾਈਸ ਸਕ੍ਰੀਨ ਲਾਕ ਵਰਗਾ"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"ਕੀ ਨਿੱਜੀ ਸਪੇਸ ਲਈ ਨਵਾਂ ਲਾਕ ਚੁਣਨਾ ਹੈ?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"ਲਾਕ ਹੋਣ \'ਤੇ ਲੁਕਾਓ"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"ਲਾਕ ਹੋਣ \'ਤੇ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਲੁਕਾਓ"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ਹੋਰ ਲੋਕਾਂ ਤੋਂ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦੀ ਨਿੱਜੀ ਸਪੇਸ ਲੁਕਾਉਣ ਲਈ, ਇਸਨੂੰ ਤੁਹਾਡੀ ਐਪ ਸੂਚੀ ਵਿੱਚੋਂ ਲੁਕਾ ਸਕਦੇ ਹੋ"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"ਅਦਿੱਖ ਹੋਣ \'ਤੇ ਨਿੱਜੀ ਸਪੇਸ ਤੱਕ ਪਹੁੰਚ ਕਰੋ"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"ਖੋਜ ਪੱਟੀ ਵਿੱਚ \'ਨਿੱਜੀ ਸਪੇਸ\' ਨੂੰ ਖੋਜੋ"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ਨਿੱਜੀ ਸਪੇਸ ਦੀ ਟਾਇਲ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"ਆਪਣੀ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਅਣਲਾਕ ਕਰੋ"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ਬੰਦ ਹੈ"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ਚਾਲੂ ਹੈ"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"ਸਿਸਟਮ"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"ਨਿੱਜੀ ਸਪੇਸ ਬਣਾਓ"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"ਨਿੱਜੀ ਸਪੇਸ ਮਿਟਾਓ"</string>
- <string name="private_space_created" msgid="2978055968937762232">"ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਸਫਲਤਾਪੂਰਵਕ ਬਣਾ ਲਿਆ ਗਿਆ ਹੈ"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"ਨਿੱਜੀ ਸਪੇਸ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਸਫਲਤਾਪੂਰਵਕ ਮਿਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"ਸਕ੍ਰੀਨ ਲਾਕ ਸੈੱਟ ਕਰੋ"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"ਨਿੱਜੀ ਸਪੇਸ ਵਰਤਣ ਲਈ, ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਸਕ੍ਰੀਨ ਲਾਕ ਸੈੱਟ ਕਰੋ।"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"ਸਕ੍ਰੀਨ ਲਾਕ ਸੈੱਟ ਕਰੋ"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"ਰੱਦ ਕਰੋ"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"ਰੱਦ ਕਰੋ"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"ਸੈੱਟਅੱਪ ਕਰੋ"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"ਨਿੱਜੀ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"ਨਿੱਜੀ ਐਪਾਂ ਨੂੰ ਇੱਕ ਸੁਰੱਖਿਅਤ ਥਾਂ ਵਿੱਚ ਲੁਕਾਓ ਜਿਸ ਤੱਕ ਸਿਰਫ਼ ਤੁਸੀਂ ਹੀ ਪਹੁੰਚ ਕਰ ਸਕਦੇ ਹੋ"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"ਇਸਦੇ ਕੰਮ ਕਰਨ ਦਾ ਤਰੀਕਾ"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"ਤੁਸੀਂ ਆਪਣੀ ਐਪਾਂ ਦੀ ਸੂਚੀ ਦੇ ਹੇਠਾਂ ਦਿੱਤੀ ਨਿੱਜੀ ਸਪੇਸ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੇ ਹੋ"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"ਨਿੱਜੀ ਸਪੇਸ ਵਿੱਚ ਮੌਜੂਦ ਐਪਾਂ ਨੂੰ ਲਾਕ ਨਾਲ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"ਨਿੱਜੀ ਸਪੇਸ ਦੇ ਲਾਕ ਹੋਣ \'ਤੇ, ਨਿੱਜੀ ਸਪੇਸ ਵਿੱਚ ਮੌਜੂਦ ਐਪਾਂ ਦੀਆਂ ਸੂਚਨਾਵਾਂ ਲੁਕੀਆਂ ਹੁੰਦੀਆਂ ਹਨ"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"ਨਿੱਜੀ ਸਪੇਸ ਦੇ ਲਾਕ ਹੋਣ \'ਤੇ, ਨਿੱਜੀ ਸਪੇਸ ਐਪਾਂ ਇਜਾਜ਼ਤ ਪ੍ਰਬੰਧਕ, ਪਰਦੇਦਾਰੀ ਸੰਬੰਧੀ ਡੈਸ਼ਬੋਰਡ ਅਤੇ ਹੋਰ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਦਿਖਾਈ ਨਹੀਂ ਦੇਣਗੀਆਂ"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"ਨਿੱਜੀ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"ਨਿੱਜੀ ਸਪੇਸ ਦੇ ਲਾਕ ਹੋਣ \'ਤੇ, ਨਿੱਜੀ ਸਪੇਸ ਐਪਾਂ ਦੀ ਵਰਤੋਂ ਸੰਬੰਧੀ ਜਾਣਕਾਰੀ ਲੁਕੀ ਹੁੰਦੀ ਹੈ"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"ਆਪਣੀ ਐਪ ਸੂਚੀ ਤੋਂ ਨਿੱਜੀ ਸਪੇਸ ਤੱਕ ਪਹੁੰਚ ਕਰੋ"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"ਨਿੱਜੀ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"ਹੁਣੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜਾਂ ਬਾਅਦ ਵਿੱਚ ਵਾਪਸ ਆਓ"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"ਕੀ ਅਣਲਾਕ ਕਰਨ ਲਈ ਸਕ੍ਰੀਨ ਲਾਕ ਵਰਤਣਾ ਹੈ?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"ਤੁਸੀਂ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਉਸੇ ਤਰੀਕੇ ਨਾਲ ਅਣਲਾਕ ਕਰ ਸਕਦੇ ਹੋ ਜਿਸ ਤਰ੍ਹਾਂ ਤੁਸੀਂ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਦੇ ਹੋ, ਜਾਂ ਕੋਈ ਵੱਖਰਾ ਲਾਕ ਚੁਣੋ"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"ਸਕ੍ਰੀਨ ਲਾਕ ਵਰਤੋ"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"ਨਵਾਂ ਲਾਕ ਚੁਣੋ"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"ਸਭ ਹੋ ਗਿਆ!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"ਹੋ ਗਿਆ"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"ਨਿੱਜੀ ਸਪੇਸ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਹੇਠਾਂ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"ਨਿੱਜੀ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਸਾਈਨ-ਇਨ ਕਰੋ"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"ਤੁਹਾਨੂੰ ਨਿੱਜੀ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਖਾਤੇ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰਨ ਦੀ ਲੋੜ ਹੈ"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"ਨਿੱਜੀ ਸਪੇਸ ਦਿਖਾਉਣ ਲਈ (ਅੰਤਿਮ UX ਨਹੀਂ)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"ਸੈਟਿੰਗਾਂ ਐਪ ਖੋਲ੍ਹੋ"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"ਸੁਰੱਖਿਆ ਅਤੇ ਪਰਦੇਦਾਰੀ > ਨਿੱਜੀ ਸਪੇਸ > \'ਲਾਕ ਹੋਣ \'ਤੇ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਲੁਕਾਓ\' \'ਤੇ ਟੈਪ ਕਰੋ"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"\'ਲਾਕ ਹੋਣ \'ਤੇ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਲੁਕਾਓ\' ਟੌਗਲ ਨੂੰ ਬੰਦ ਕਰੋ"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"ਗੂਗਲਰਾਂ ਲਈ ਨੋਟ: ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਦਾ ਵਿਕਾਸ ਹਾਲੇ ਵੀ ਪ੍ਰਕਿਰਿਆ-ਅਧੀਨ ਹੈ"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"ਤੁਸੀਂ <xliff:g id="COUNT">%d</xliff:g> ਤੱਕ ਫਿੰਗਰਪ੍ਰਿੰਟ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"ਤੁਸੀਂ ਫਿੰਗਰਪ੍ਰਿੰਟਾਂ ਦੀ ਅਧਿਕਤਮ ਸੰਖਿਆ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਹੋਇਆ ਹੈ"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"ਹੋਰ ਫਿੰਗਰਪ੍ਰਿੰਟਾਂ ਨੂੰ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"ਕਨੈਕਟ ਕਰੋ"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ਡਿਸਕਨੈਕਟ ਕਰੋ"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ਜੋੜਾਬੱਧ ਕਰਕੇ ਕਨੈਕਟ ਕਰੋ"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ਬਲੂਟੁੱਥ ਚਾਲੂ ਹੋਣ \'ਤੇ, ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਨਜ਼ਦੀਕੀ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਨਾਲ ਸੰਚਾਰ ਕਰ ਸਕਦਾ ਹੈ।"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ਬਲੂਟੁੱਥ ਚਾਲੂ ਕਰਨ \'ਤੇ, ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਦੂਜੇ ਨਜ਼ਦੀਕੀ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਨਾਲ ਸੰਚਾਰ ਕਰ ਸਕਦਾ ਹੈ"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ਬਲੂਟੁੱਥ ਚਾਲੂ ਹੋਣ \'ਤੇ, ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਹੋਰ ਨਜ਼ਦੀਕੀ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਨਾਲ ਸੰਚਾਰ ਕਰ ਸਕਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਦੇ ਅਨੁਭਵ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ, ਐਪਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਕਿਸੇ ਵੇਲੇ ਵੀ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਲਈ ਸਕੈਨ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਭਾਵੇਂ ਬਲੂਟੁੱਥ ਬੰਦ ਹੀ ਕਿਉਂ ਨਾ ਹੋਵੇ। ਇਸ ਦੀ ਵਰਤੋਂ ਟਿਕਾਣਾ-ਆਧਾਰਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਵਰਗੀਆਂ ਚੀਜ਼ਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਤੁਸੀਂ ਇਸ ਨੂੰ ਬਲੂਟੁੱਥ ਸਕੈਨਿੰਗ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹੋ।"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"ਬਦਲੋ"</string>
<string name="device_details_title" msgid="1155622417516195481">"ਡੀਵਾਈਸ ਦੇ ਵੇਰਵੇ"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ਡੀਬੱਗਯੋਗ ਐਪਾਂ ਲਈ ART ਨੂੰ ਬਾਈਟਕੋਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦਿਓ"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"ਰਿਫ੍ਰੈਸ਼ ਦਰ ਦਿਖਾਓ"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"ਹਾਲੀਆ ਡਿਸਪਲੇ ਦੀ ਰਿਫ੍ਰੈਸ਼ ਦਰ ਦਿਖਾਓ"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR ਅਨੁਪਾਤ ਦਿਖਾਓ"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"ਮੌਜੂਦਾ HDR/SDR ਅਨੁਪਾਤ ਦਿਖਾਓ"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC ਲਈ ਡੀਵਾਈਸ ਦਾ ਅਣਲਾਕ ਹੋਣਾ ਲੋੜੀਂਦਾ ਹੈ"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android ਬੀਮ"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"ਫੋਲਡ ਕਰਨ \'ਤੇ ਵੀ ਐਪਾਂ ਨੂੰ ਵਰਤਣਾ ਜਾਰੀ ਰੱਖੋ"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"ਸਮੂਥ ਡਿਸਪਲੇ"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕੁਝ ਸਮੱਗਰੀ ਲਈ ਰਿਫ੍ਰੈਸ਼ ਦਰ ਨੂੰ ਵਧਾ ਕੇ <xliff:g id="ID_1">%1$d</xliff:g> Hz ਤੱਕ ਕਰ ਦਿੰਦੀ ਹੈ। ਬੈਟਰੀ ਵਰਤੋਂ ਵੱਧ ਜਾਂਦੀ ਹੈ।"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ਉੱਚ ਰਿਫ੍ਰੈਸ਼ ਦਰ ਸੈੱਟ ਕਰੋ"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"ਬਿਹਤਰ ਸਪਰਸ਼ ਪ੍ਰਤੀਕਿਰਿਆ ਅਤੇ ਐਨੀਮੇਸ਼ਨ ਕੁਆਲਿਟੀ ਲਈ ਉੱਚਤਮ ਰਿਫ੍ਰੈਸ਼ ਦਰ। ਬੈਟਰੀ ਵਰਤੋਂ ਵੱਧ ਜਾਂਦੀ ਹੈ।"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"ਸਕ੍ਰੀਨ ਦਾ ਚੌਕੰਨਾਪਣ"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"ਭਾਈਚਾਰਕ ਸੈਟਿੰਗਾਂ"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"ਪਹੁੰਚ ਬਿੰਦੂ ਦਾ ਸੰਪਾਦਨ ਕਰੋ"</string>
+ <string name="apn_add" msgid="9069613192201630934">"ਪਹੁੰਚ ਬਿੰਦੂ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ"</string>
<string name="apn_not_set" msgid="8246646433109750293">"ਸੈੱਟ ਨਹੀਂ ਹੈ"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"ਸੈੱਟ ਨਹੀਂ ਹੈ"</string>
<string name="apn_name" msgid="6677695784108157953">"ਨਾਮ"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ਖੋਲ੍ਹਣ ਲਈ ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਵਰਤੋ"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"ਖੋਲ੍ਹਣ ਲਈ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਦਬਾਈ ਰੱਖੋ"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ਖੋਲ੍ਹਣ ਲਈ ਸਕ੍ਰੀਨ \'ਤੇ ਟ੍ਰਿਪਲ ਟੈਪ ਕਰੋ"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"ਖੋਲ੍ਹਣ ਲਈ ਦੋ-ਉਂਗਲਾਂ ਨਾਲ ਟ੍ਰਿਪਲ-ਟੈਪ ਕਰੋ"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ਖੋਲ੍ਹਣ ਲਈ ਸੰਕੇਤ ਵਰਤੋ"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ਪਹੁੰਚਯੋਗਤਾ ਸੰਬੰਧੀ ਇਸ਼ਾਰਾ ਵਰਤੋ"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ, ਆਪਣੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> \'ਤੇ ਟੈਪ ਕਰੋ।\n\nਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਨੂੰ ਦਬਾ ਕੇ ਰੱਖੋ।"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ, ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿੱਤੇ ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ \'ਤੇ ਟੈਪ ਕਰੋ।"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ, ਦੋਵੇਂ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਦਬਾਈ ਰੱਖੋ।"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਸ਼ੁਰੂ ਅਤੇ ਬੰਦ ਕਰਨ ਲਈ, ਸਕ੍ਰੀਨ \'ਤੇ ਕਿਤੇ ਵੀ ਟ੍ਰਿਪਲ-ਟੈਪ ਕਰੋ।"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਸ਼ੁਰੂ ਅਤੇ ਬੰਦ ਕਰਨ ਲਈ, ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਕਿਤੇ ਵੀ ਟ੍ਰਿਪਲ-ਟੈਪ ਕਰੋ।"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।\n\nਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।\n\nਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ਕਿਸੇ ਪਹੁੰਚਯੋਗਤਾ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।\n\nਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਦਬਾ ਕੇ ਰੱਖੋ"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਦਬਾ ਕੇ ਰੱਖੋ"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ਦੋਵੇਂ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਦਬਾਈ ਰੱਖੋ"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"ਦੋ-ਉਂਗਲਾਂ ਨਾਲ ਟ੍ਰਿਪਲ-ਟੈਪ ਕਰੋ"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ਦੋ-ਉਂਗਲਾਂ ਨਾਲ ਟ੍ਰਿਪਲ-ਟੈਪ ਕਰੋ"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"ਤੇਜ਼ੀ ਨਾਲ ਸਕ੍ਰੀਨ \'ਤੇ ਦੋ ਉਂਗਲਾਂ ਨਾਲ {0,number,integer} ਵਾਰ ਟੈਪ ਕਰੋ"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ਸਕ੍ਰੀਨ \'ਤੇ ਟ੍ਰਿਪਲ ਟੈਪ ਕਰੋ"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ਸਕ੍ਰੀਨ \'ਤੇ ਟ੍ਰਿਪਲ ਟੈਪ ਕਰੋ"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ਸਕ੍ਰੀਨ \'ਤੇ ਤੇਜ਼ੀ ਨਾਲ {0,number,integer} ਵਾਰ ਟੈਪ ਕਰੋ। ਇਹ ਸ਼ਾਰਟਕੱਟ ਸ਼ਾਇਦ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਹੌਲੀ ਕਰ ਦੇਵੇ"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ਇਹ ਕਿਸੇ ਐਪ ਜਾਂ ਹਾਰਡਵੇਅਰ ਸੈਂਸਰ ਦੇ ਨਾਲ ਤੁਹਾਡੀਆਂ ਅੰਤਰਕਿਰਿਆਵਾਂ ਨੂੰ ਟਰੈਕ ਕਰ ਸਕਦੀ ਹੈ, ਅਤੇ ਤੁਹਾਡੀ ਤਰਫ਼ੋਂ ਐਪਾਂ ਦੇ ਨਾਲ ਅੰਤਰਕਿਰਿਆ ਕਰ ਸਕਦੀ ਹੈ।"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ਕਰਨ ਦਿਓ"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ਨਾ ਕਰਨ ਦਿਓ"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"ਬੰਦ ਕਰੋ"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ਰੱਦ ਕਰੋ"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"ਕੀ <xliff:g id="SERVICE">%1$s</xliff:g> ਨੂੰ ਬੰਦ ਕਰਨਾ ਹੈ?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> \'ਤੇ ਟੈਪ ਕਰਨ ਨਾਲ <xliff:g id="SERVICE">%2$s</xliff:g> ਸੇਵਾ ਬੰਦ ਹੋ ਜਾਵੇਗੀ।"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"ਕੋਈ ਸੇਵਾਵਾਂ ਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤੀਆਂ"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"ਕਿਸੇ ਸੇਵਾ ਨੂੰ ਨਹੀਂ ਚੁਣਿਆ ਗਿਆ"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"ਕੋਈ ਵਰਣਨ ਮੁਹੱਈਆ ਨਹੀਂ ਕੀਤਾ ਗਿਆ।"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ਜੇਕਰ ਤੁਸੀਂ ਕਿਸੇ ਐਪ ਦੀ ਬੈਕਗ੍ਰਾਊਂਡ ਸਰਗਰਮੀ ਨੂੰ ਸੀਮਿਤ ਕਰਦੇ ਹੋ, ਤਾਂ ਉਹ ਅਜੀਬ ਢੰਗ ਨਾਲ ਵਰਤਾਅ ਕਰ ਸਕਦੀ ਹੈ"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ਇਹ ਐਪ ਬੈਟਰੀ ਨੂੰ ਸੁਯੋਗ ਕਰੋ \'ਤੇ ਸੈੱਟ ਨਾ ਕੀਤੀ ਹੋਣ ਕਰਕੇ, ਤੁਸੀਂ ਇਸ \'ਤੇ ਪਾਬੰਧੀ ਨਹੀਂ ਲਗਾ ਸਕਦੇ।\n\nਐਪ \'ਤੇ ਪਾਬੰਧੀ ਲਗਾਉਣ ਲਈ, ਪਹਿਲਾਂ ਬੈਟਰੀ ਸੁਯੋਗਕਰਨ ਨੂੰ ਚਾਲੂ ਕਰੋ।"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ਬੈਟਰੀ ਵਰਤੋਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਵਰਤੋਂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ਅਸਲ-ਸਮੇਂ ਦੇ ਅੱਪਡੇਟਾਂ ਨੂੰ ਚਾਲੂ ਕਰੋ, ਬੈਟਰੀ ਬਚਾਉਣ ਲਈ ਬੰਦ ਕਰੋ"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ਅਣ-ਪ੍ਰਤਿਬੰਧਿਤ"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ਸੁਯੋਗ ਬਣਾਈ ਗਈ"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ਪ੍ਰਤਿਬੰਧਿਤ"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"ਨਾਮ"</string>
<string name="vpn_type" msgid="5533202873260826663">"ਕਿਸਮ"</string>
<string name="vpn_server" msgid="2908816134941973935">"ਸਰਵਰ ਦਾ ਪਤਾ"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP ਇਨਕ੍ਰਿਪਸ਼ਨ (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP ਗੁਪਤ"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ਪਛਾਣਕਰਤਾ"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec ਪਹਿਲਾਂ ਤੋਂ ਸਾਂਝੀ ਕੀਤੀ ਕੁੰਜੀ"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec ਵਰਤੋਂਕਾਰ ਪ੍ਰਮਾਣ-ਪੱਤਰ"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA ਪ੍ਰਮਾਣ-ਪੱਤਰ"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec ਸਰਵਰ ਪ੍ਰਮਾਣ-ਪੱਤਰ"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"ਵਿਕਸਿਤ ਵਿਕਲਪ ਦਿਖਾਓ"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS ਖੋਜ ਡੋਮੇਨ"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS ਸਰਵਰ (ਉਦਾਹਰਨ ਵਜੋਂ 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"ਫਾਰਵਰਡਿੰਗ ਰੂਟ (ਉਦਾਹਰਨ ਵਜੋਂ 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"ਵਰਤੋਂਕਾਰ ਨਾਮ"</string>
<string name="vpn_password" msgid="1183746907642628127">"ਪਾਸਵਰਡ"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"ਖਾਤਾ ਜਾਣਕਾਰੀ ਰੱਖਿਅਤ ਕਰੋ"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ਵਰਤਿਆ ਨਹੀਂ)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ਸਰਵਰ ਦੀ ਪੁਸ਼ਟੀ ਨਾ ਕਰੋ)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(ਸਰਵਰ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤਾ)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ਇਹ VPN ਕਿਸਮ ਹਰ ਵੇਲੇ ਕਨੈਕਟ ਹੋਈ ਨਹੀਂ ਰਹਿ ਸਕਦੀ"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"\'ਹਮੇਸ਼ਾ-ਚਾਲੂ VPN\' ਸਿਰਫ਼ ਸੰਖਿਆਤਮਿਕ ਸਰਵਰ ਪਤਿਆਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"\'ਹਮੇਸ਼ਾ-ਚਾਲੂ VPN\' ਦੇ ਲਈ ਕੋਈ DNS ਸਰਵਰ ਨਿਯਤ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"\'ਹਮੇਸ਼ਾ-ਚਾਲੂ VPN\' ਦੇ ਲਈ DNS ਸਰਵਰ ਪਤੇ ਸੰਖਿਆਤਮਿਕ ਹੋਣੇ ਲਾਜ਼ਮੀ ਹਨ"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ਦਾਖਲ ਕੀਤੀ ਜਾਣਕਾਰੀ \'ਹਮੇਸ਼ਾ-ਚਾਲੂ VPN\' ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"ਰੱਦ ਕਰੋ"</string>
<string name="vpn_done" msgid="5137858784289564985">"ਖਾਰਜ ਕਰੋ"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"ਬਿਨਾਂ VPN ਤੋਂ ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਬਲਾਕ ਕਰੋ"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"ਕੀ VPN ਕਨੈਕਸ਼ਨ ਦੀ ਲੋੜ ਹੈ?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"ਸੁਰੱਖਿਅਤ ਨਹੀਂ। IKEv2 VPN \'ਤੇ ਅੱਪਡੇਟ ਕਰੋ"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"ਹਮੇਸ਼ਾਂ ਉਸ ਨਾਲ ਕਨੈਕਟ ਰਹਿਣ ਲਈ ਇੱਕ VPN ਪ੍ਰੋਫਾਈਲ ਚੁਣੋ। ਨੈੱਟਵਰਕ ਟ੍ਰੈਫਿਕ ਦੀ ਆਗਿਆ ਕੇਵਲ ਇਸ VPN ਨਾਲ ਕਨੈਕਟ ਕੀਤੇ ਜਾਣ ਤੇ ਹੀ ਦਿੱਤੀ ਜਾਏਗੀ।"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"ਕੋਈ ਨਹੀਂ"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"ਸਰਵਰ ਅਤੇ DNS ਦੋਵਾਂ ਲਈ ਹਮੇਸ਼ਾਂ-ਚਾਲੂ VPN ਲਈ ਇੱਕ IP ਪਤਾ ਲੋੜੀਂਦਾ ਹੈ।"</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"ਸਾਰੀ ਸੂਚਨਾ ਸਮੱਗਰੀ ਦਿਖਾਓ"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"ਸਿਰਫ਼ ਅਣਲਾਕ ਹੋਣ \'ਤੇ ਹੀ ਸੰਵੇਦਨਸ਼ੀਲ ਸਮੱਗਰੀ ਦਿਖਾਓ"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ਬਿਲਕੁਲ ਵੀ ਸੂਚਨਾਵਾਂ ਨਾ ਦਿਖਾਓ"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ਤੁਹਾਨੂੰ ਲਾਕ ਸਕ੍ਰੀਨ ਦੀ ਕਿਹੜੀ ਦਿੱਖ ਪਸੰਦ ਹੈ?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ਤੁਸੀਂ ਆਪਣੀ ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਕੀ ਦਿਖਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ਲਾਕ ਸਕ੍ਰੀਨ"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"ਕੰਮ ਸੰਬੰਧੀ ਸਾਰੀ ਸੂਚਨਾ ਸਮੱਗਰੀ ਨੂੰ ਦਿਖਾਓ"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"ਸੰਵੇਦਨਸ਼ੀਲ ਕਾਰਜ ਸਮੱਗਰੀ ਲੁਕਾਓ"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦਿਓ"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ਇਸ ਐਪ ਨੂੰ ਇਸ ਡੀਵਾਈਸ ਜਾਂ ਇਸ ਨਾਲ ਕਨੈਕਟ ਕਿਸੇ ਵੀ ਸਟੋਰੇਜ ਭਾਗ ਦੀਆਂ ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਨੂੰ ਪੜ੍ਹਨ, ਸੋਧਣ ਅਤੇ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿਓ। ਜੇ ਇਜਾਜ਼ਤ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਐਪ ਤੁਹਾਨੂੰ ਸੂਚਿਤ ਕੀਤੇ ਬਿਨਾਂ ਫ਼ਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ।"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"ਇਹ ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"ਅਵਾਜ਼ੀ ਕਿਰਿਆਸ਼ੀਲਤਾ ਦੀ ਸੁਵਿਧਾ ਵਾਲੀਆਂ ਐਪਾਂ"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ਅਵਾਜ਼ੀ ਕਿਰਿਆਸ਼ੀਲਤਾ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ਅਵਾਜ਼ੀ ਕਿਰਿਆਸ਼ੀਲਤਾ ਦੀ ਸੁਵਿਧਾ ਅਵਾਜ਼ੀ ਆਦੇਸ਼ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਐਪਾਂ ਨੂੰ ਬਿਨਾਂ ਹੱਥ ਲਾਏ ਚਾਲੂ ਕਰਦੀ ਹੈ। ਬਿਲਟ-ਇਨ ਸੁਰੱਖਿਅਤ ਅਡੈਪਟਿਵ ਸੈਂਸਿੰਗ ਇਹ ਪੱਕਾ ਕਰਦੀ ਹੈ ਕਿ ਡਾਟਾ ਸਿਰਫ਼ ਤੁਹਾਡੇ ਲਈ ਹੀ ਨਿੱਜੀ ਰਹਿੰਦਾ ਹੈ।\n\n"<a href="">"ਸੁਰੱਖਿਅਤ ਅਡੈਪਟਿਵ ਸੈਂਸਿੰਗ ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"ਪੂਰੀ ਸਕ੍ਰੀਨ ਸੂਚਨਾਵਾਂ"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"ਇਸ ਐਪ ਤੋਂ ਪੂਰੀ ਸਕ੍ਰੀਨ ਸੂਚਨਾਵਾਂ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ਇਸ ਐਪ ਨੂੰ ਉਹ ਸੂਚਨਾਵਾਂ ਦਿਖਾਉਣ ਦੀ ਆਗਿਆ ਦਿਓ ਜੋ ਡੀਵਾਈਸ ਲਾਕ ਹੋਣ \'ਤੇ ਪੂਰੀ ਸਕ੍ਰੀਨ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦੀਆਂ ਹਨ। ਐਪਾਂ ਇਨ੍ਹਾਂ ਦੀ ਵਰਤੋਂ ਅਲਾਰਮਾਂ, ਇਨਕਮਿੰਗ ਕਾਲਾਂ ਜਾਂ ਹੋਰ ਜ਼ਰੂਰੀ ਸੂਚਨਾਵਾਂ ਨੂੰ ਉਜਾਗਰ ਕਰਨ ਲਈ ਕਰ ਸਕਦੀਆਂ ਹਨ।"</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ਨੇ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਆਮ ਨਾਲੋਂ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤੀ ਹੈ"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ਨੇ ਫੋਰਗ੍ਰਾਊਂਡ ਵਿੱਚ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤੀ ਹੈ"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ਨੇ ਫੋਰਗ੍ਰਾਊਂਡ ਵਿੱਚ ਆਮ ਨਾਲੋਂ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤੀ ਹੈ"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ਬੈਟਰੀ ਵਰਤੋਂ ਬੇਤਰਤੀਬ ਹੈ"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"ਉੱਚ ਬੈਟਰੀ ਵਰਤੋਂ"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਉੱਚ ਬੈਟਰੀ ਵਰਤੋਂ"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ਫੋਰਗ੍ਰਾਊਂਡ ਵਿੱਚ ਉੱਚ ਬੈਟਰੀ ਵਰਤੋਂ"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"ਸਿਸਟਮ ਨੈਵੀਗੇਸ਼ਨ, 2-ਬਟਨ ਨੈਵੀਗੇਸ਼ਨ, 3-ਬਟਨ ਨੈਵੀਗੇਸ਼ਨ, ਇਸ਼ਾਰਾ ਨੈਵੀਗੇਸ਼ਨ, ਸਵਾਈਪ"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ਡਿਜੀਟਲ ਸਹਾਇਕ"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"ਸਹਾਇਕ ਐਪ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਸਵਾਈਪ ਕਰੋ"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ਡਿਜੀਟਲ ਸਹਾਇਕ ਐਪ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਹੇਠਲੇ ਕੋਨੇ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ਡਿਜੀਟਲ ਸਹਾਇਕ ਐਪ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਹੇਠਲੇ ਕੋਨੇ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant ਲਈ ਹੋਮ ਬਟਨ ਨੂੰ ਦਬਾਈ ਰੱਖੋ"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ਡਿਜੀਟਲ ਸਹਾਇਕ ਐਪ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਹੋਮ ਬਟਨ ਨੂੰ ਦਬਾਈ ਰੱਖੋ।"</string>
<string name="low_label" msgid="6525629096999711220">"ਘੱਟ"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ਵਿਆਕਰਨ ਸੰਬੰਧੀ ਲਿੰਗ ਚੁਣੋ"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"ਧੋਖੇਬਾਜ਼ ਐਪਾਂ ਲਈ ਸਕੈਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"ਫ਼ਿਸ਼ਿੰਗ ਲਈ ਐਪ ਸਰਗਰਮੀ ਦੀ ਜਾਂਚ ਕਰੋ"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"ਸਕੈਨਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਲਈ ਸਕੈਨਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ਧੋਖਾਧੜੀ ਵਾਲੀਆਂ ਐਪਾਂ ਲਈ ਸਕੈਨਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ਧੋਖਾਧੜੀ ਵਾਲੀਆਂ ਐਪਾਂ ਲਈ ਸਕੈਨਿੰਗ ਦੀ ਕੰਮ ਵਾਸਤੇ ਵਰਤੋਂ ਕਰੋ"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index bb6feea..f8e02a4 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Rysik"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Udostępnianie dźwięku"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Udostępniaj dźwięk"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Połączenia i alarmy"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Połącz się ze strumieniem LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Strumienie audio w pobliżu"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Strumienie audio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Połącz się ze strumieniem audio za pomocą kodu QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Nie znaleziono strumieni audio w pobliżu."</string>
<string name="date_and_time" msgid="1788358029823431692">"Data i godzina"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Serwer proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Wyczyść"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Profil służbowy"</string>
<string name="private_space_title" msgid="7078627930195569767">"Obszar prywatny"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Ukryj aplikacje w prywatnym folderze"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Odblokuj za pomocą blokady ekranu"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Ukryj w prywatnym folderze aplikacje, do których tylko Ty masz mieć dostęp"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Blokada obszaru prywatnego"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Obszar prywatny można odblokowywać tak samo jak urządzenie lub wybrać inną blokadę"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Używaj blokady ekranu urządzenia"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Rozpoznawanie twarzy i odblokowywanie odciskiem palca"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Kliknij, aby skonfigurować"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Taka sama jak blokada ekranu urządzenia"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Wybrać nową blokadę dla obszaru prywatnego?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Ukryj po zablokowaniu"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Ukryj Obszar prywatny po jego zablokowaniu"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Aby inni nie wiedzieli, że na urządzeniu jest Obszar prywatny, można ukryć go na liście aplikacji"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Dostęp do Obszaru prywatnego po jego ukryciu"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"W pasku wyszukiwania wyszukaj „Obszar prywatny”"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Kliknij kafelek Obszar prywatny"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Odblokuj Obszar prywatny"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Wyłączono"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Włączono"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Utwórz obszar prywatny"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Usuń obszar prywatny"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Utworzono obszar prywatny"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Obszar prywatny już istnieje"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Nie udało się utworzyć obszaru prywatnego"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Usunięto obszar prywatny"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Nie udało się usunąć obszaru prywatnego"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Ustaw blokadę ekranu"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Aby korzystać z obszaru prywatnego, ustaw na tym urządzeniu blokadę ekranu."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Ustaw blokadę ekranu"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Anuluj"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Anuluj"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Skonfiguruj"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Konfiguracja Obszaru prywatnego"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Ukryj aplikacje prywatne w bezpiecznym obszarze, do którego tylko Ty masz dostęp"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Jak to działa"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Dostęp do Obszaru prywatnego można uzyskać z dołu listy aplikacji"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Aplikacje w Obszarze prywatnym są chronione blokadą"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Powiadomienia z aplikacji w Obszarze prywatnym są ukryte, gdy jest on zablokowany"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Aplikacje w Obszarze prywatnym nie będą wyświetlane w menedżerze uprawnień, panelu prywatności ani innych ustawieniach, gdy Obszar prywatny jest zablokowany"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Konfiguruję Obszar prywatny…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Informacje o wykorzystaniu aplikacji w Obszarze prywatnym są ukryte, gdy jest on zablokowany"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Dostęp do Obszaru prywatnego z listy aplikacji"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Niektóre aplikacje systemowe są już zainstalowane w obszarze prywatnym"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Nie udało się skonfigurować Obszaru prywatnego"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Spróbuj ponownie teraz lub wróć później"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Spróbuj ponownie"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Używać blokady ekranu do odblokowywania?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Obszar prywatny można odblokować w ten sam sposób, w jaki odblokowuje się urządzenie, lub wybrać inną blokadę"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Używaj blokady ekranu"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Wybierz nową blokadę"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Wszystko gotowe."</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"Dostęp do obszaru prywatnego można uzyskać z listy aplikacji"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Gotowe"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Przewiń w dół, aby uzyskać dostęp do Obszaru prywatnego"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Zaloguj się, aby skonfigurować obszar prywatny"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Aby skonfigurować obszar prywatny, musisz zalogować się na konto"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Aby wyświetlić obszar prywatny (niefinalna wersja UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Otwórz aplikację Ustawienia"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Kliknij Bezpieczeństwo i prywatność > Obszar prywatny > Ukryj obszar prywatny po jego zablokowaniu"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Wyłącz przełącznikiem Ukryj obszar prywatny po jego zablokowaniu"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Uwaga dla pracowników Google: prace nad tą funkcją wciąż trwają"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Możesz dodać do <xliff:g id="COUNT">%d</xliff:g> odcisków palców"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Dodano maksymalną liczbę odcisków palców"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nie można dodać więcej odcisków palców"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Połącz"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Rozłącz"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Sparuj i połącz"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Po włączeniu Bluetootha urządzenie może komunikować się z innymi urządzeniami Bluetooth w pobliżu."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Po włączeniu Bluetootha urządzenie może komunikować się z innymi urządzeniami Bluetooth w pobliżu"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Po włączeniu Bluetootha urządzenie może komunikować się z innymi urządzeniami Bluetooth w pobliżu.\n\nAby zwiększyć komfort korzystania z urządzenia, aplikacje i usługi mogą wyszukiwać urządzenia w pobliżu nawet wtedy, gdy Bluetooth jest wyłączony. Może to np. pomóc usprawnić działanie funkcji i usług opartych na lokalizacji. Możesz zmienić tę opcję w ustawieniach skanowania Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Zmień"</string>
<string name="device_details_title" msgid="1155622417516195481">"Szczegóły urządzenia"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Zezwalaj ART na sprawdzanie kodu bajtowego aplikacji do debugowania"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Pokazuj częstotliwość odświeżania"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Pokazuj bieżącą częstotliwość odświeżania"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Pokaż format obrazu HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Pokaż bieżący format obrazu HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"Komunikacja NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC wymaga odblokowania urządzenia"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Nadal używaj aplikacji po złożeniu"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Płynne wyświetlanie"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"W przypadku niektórych treści automatycznie podwyższa częstotliwość odświeżania do <xliff:g id="ID_1">%1$d</xliff:g> Hz. Zwiększa wykorzystanie baterii."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Wymuszaj częstotliwość odświeżania na najwyższym poziomie"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Najszybsza częstotliwość odświeżania zapewnia szybszą reakcję na dotyk i wyższą jakość animacji, ale zwiększa zużycie baterii"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Aktywność ekranu"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Wspólne ustawienia"</string>
<string name="apn_settings" msgid="4295467389400441299">"Nazwy APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Edytuj punkt dostępu"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Dodaj punkt dostępu"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nie ustawiono"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nie ustawiono"</string>
<string name="apn_name" msgid="6677695784108157953">"Nazwa"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otwieraj przyciskiem ułatwień dostępu"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Aby otworzyć, przytrzymaj przyciski głośności"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Aby otworzyć, trzy razy kliknij ekran"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Otwarcie przez dotknięcie ekranu 3 razy 2 palcami"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otwieranie gestem"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Użyj gestu ułatwień dostępu"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Aby użyć tej funkcji, kliknij przycisk ułatwień dostępu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> u dołu ekranu.\n\nAby przełączać się między funkcjami, naciśnij i przytrzymaj przycisk ułatwień dostępu."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Aby użyć tej funkcji, kliknij przycisk ułatwień dostępu na ekranie."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Aby użyć tej funkcji, naciśnij i przytrzymaj oba przyciski głośności."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Aby włączyć lub wyłączyć powiększenie, kliknij trzykrotnie w dowolnym miejscu na ekranie."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Aby włączyć lub wyłączyć powiększenie, dotknij 3 razy 2 palcami dowolnego miejsca na ekranie."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Aby użyć tej funkcji, przesuń 2 palcami z dołu ekranu w górę.\n\nAby przełączać się między funkcjami, przesuń 2 palcami w górę i przytrzymaj."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Aby użyć tej funkcji, przesuń 3 palcami z dołu ekranu w górę.\n\nAby przełączać się między funkcjami, przesuń 3 palcami w górę i przytrzymaj."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Aby użyć ułatwień dostępu, przesuń 2 palcami z dołu ekranu w górę.\n\nAby przełączać się między funkcjami, przesuń 2 palcami w górę i przytrzymaj."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Przytrzymaj przyciski głośności"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"przytrzymaj klawisze głośności"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Naciśnij i przytrzymaj oba przyciski głośności"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Dotknięcie ekranu 3 razy 2 palcami"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"dotknięcie ekranu 3 razy 2 palcami"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Szybko dotknij ekranu {0,number,integer} razy 2 palcami"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Kliknij ekran trzykrotnie"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"trzykrotnie kliknij ekran"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Szybko kliknij ekran {0,number,integer} razy. Ten skrót może spowolnić urządzenie."</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Może śledzić Twoje interakcje z aplikacjami lub czujnikiem sprzętowym, a także obsługiwać aplikacje za Ciebie."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Zezwól"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Odmów"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Zatrzymaj"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Anuluj"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Zatrzymać <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Kliknięcie opcji <xliff:g id="STOP">%1$s</xliff:g> zatrzyma działanie usługi <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Brak zainstalowanych usług"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nie wybrano usługi"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Brak opisu"</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Jeśli ograniczysz aktywność aplikacji w tle, może ona działać nieprawidłowo"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Ta aplikacja nie jest skonfigurowana do optymalnego wykorzystywania baterii, więc nie możesz wprowadzić dla niej ograniczeń.\n\nAby wprowadzić ograniczenia dla aplikacji, najpierw włącz optymalizację baterii."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Zarządzaj wykorzystaniem baterii"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Zezwalaj na użycie w tle"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Włącz, aby otrzymywać aktualizacje w czasie rzeczywistym, wyłącz w celu oszczędzania baterii"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Bez ograniczeń"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Z optymalizacją"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Z ograniczeniami"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nazwa"</string>
<string name="vpn_type" msgid="5533202873260826663">"Typ"</string>
<string name="vpn_server" msgid="2908816134941973935">"Adres serwera"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Szyfrowanie PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Element tajny L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identyfikator IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Klucz wspólny IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certyfikat użytkownika IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certyfikat CA IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certyfikat serwera IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Opcje zaawansowane"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domeny wyszukiwania DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Serwery DNS (np. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Trasy przekazywania (np. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nazwa użytkownika"</string>
<string name="vpn_password" msgid="1183746907642628127">"Hasło"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Zapisz informacje o koncie"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(nieużywane)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(nie weryfikuj serwera)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(odebrany z serwera)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ten typ sieci VPN nie może być stale połączony"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Stała sieć VPN obsługuje tylko liczbowe adresy serwerów"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Należy podać serwer DNS dla stałej sieci VPN."</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adresy serwerów DNS muszą mieć postać liczbową w przypadku stałych sieci VPN."</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Podane informacje nie umożliwiają obsługi stałej sieci VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Anuluj"</string>
<string name="vpn_done" msgid="5137858784289564985">"Zamknij"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blokuj połączenia bez VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Wymagać połączenia VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Niezabezpieczona. Zaktualizuj do VPN IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Wybierz stały profil VPN. Ruch w sieci będzie możliwy tylko po połączeniu z tą siecią VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Brak"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"W przypadku stałej sieci VPN wymagany jest adres IP zarówno dla serwera, jak i dla DNS."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Pokazuj całą treść powiadomień"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Pokazuj poufne treści tylko po odblokowaniu"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Nie pokazuj żadnych powiadomień"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Co ma się wyświetlać na ekranie blokady?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Co ma być wyświetlane na ekranie blokady?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Ekran blokady"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Pokazuj w całości powiadomienia związane z pracą"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ukryj poufne informacje związane z pracą"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Zezwól na zarządzanie wszystkimi plikami"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Zezwól tej aplikacji na odczytywanie, modyfikowanie i usuwanie plików na tym urządzeniu oraz wszelkich połączonych woluminach pamięci. Aplikacje z tymi uprawnieniami mogą korzystać z dostępu do plików bez konieczności wyraźnego informowania Cię o tym."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Ma dostęp do wszystkich plików"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikacje aktywowane głosem"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Zezwalaj na aktywację głosową"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Aktywacja głosem pozwala włączać zatwierdzone aplikacje bez użycia rąk – tylko przy użyciu polecenia głosowego. Wbudowane wykrywanie adaptacyjne zapewnia prywatność danych.\n\n"<a href="">"Więcej informacji o chronionym wykrywaniu adaptacyjnym"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Powiadomienia pełnoekranowe"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Zezwól na powiadomienia pełnoekranowe z tej aplikacji"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Zezwalaj na wyświetlanie przez tę aplikację powiadomień zajmujących cały ekran, gdy urządzenie jest zablokowane. Aplikacje mogą używać tych uprawnień do powiadamiania o alarmach, połączeniach przychodzących i innych pilnych sprawach."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Aplikacja <xliff:g id="APP_LABEL">%1$s</xliff:g> zwiększyła wykorzystanie baterii względem zwykłego poziomu w tle"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Aplikacja <xliff:g id="APP_LABEL">%1$s</xliff:g> zwiększyła wykorzystanie baterii na pierwszym planie"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Aplikacja <xliff:g id="APP_LABEL">%1$s</xliff:g> zwiększyła wykorzystanie baterii względem zwykłego poziomu na pierwszym planie"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia wykorzystania baterii"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Wysokie wykorzystanie baterii"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Wysokie wykorzystanie baterii w tle"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Wysokie wykorzystanie baterii na pierwszym planie"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"nawigacja w systemie, nawigacja przy użyciu dwóch przycisków, nawigacja przy użyciu trzech przycisków, nawigacja przy użyciu gestów, przesuwanie"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asystent cyfrowy"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Przesuń palcem, aby wywołać asystenta"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Przesuń palcem z dolnego rogu ekranu w górę, aby wywołać aplikację cyfrowego asystenta"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Przesuń palcem z dolnego rogu ekranu w górę, aby wywołać aplikację asystenta cyfrowego"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Przytrzymaj przycisk ekranu głównego, aby uruchomić Asystenta"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Jeśli chcesz wywołać cyfrowego asystenta, naciśnij i przytrzymaj przycisk ekranu głównego"</string>
<string name="low_label" msgid="6525629096999711220">"Niska"</string>
@@ -4961,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Wybierz rodzaj gramatyczny"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Skanuj w poszukiwaniu podejrzanych aplikacji"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Sprawdzaj aktywność w aplikacjach pod kątem phishingu"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Używaj skanowania"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Skanuj aplikacje służbowe"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Skanuj pod kątem podejrzanych aplikacji"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Skanuj pod kątem podejrzanych aplikacji do pracy"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index b7a5425..85864a4 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Compartilhamento de áudio"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Compartilhar áudio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Ligações e alarmes"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Conectar a um stream de LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Streams de áudio por perto"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Streams de áudio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Conectar a um stream de áudio usando um código QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Nenhum stream de áudio por perto foi encontrado."</string>
<string name="date_and_time" msgid="1788358029823431692">"Data e hora"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Limpar"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Perfil de trabalho"</string>
<string name="private_space_title" msgid="7078627930195569767">"Espaço particular"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Ocultar apps em uma pasta particular"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Desbloquear usando o bloqueio de tela"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Oculte apps em uma pasta particular que só você pode acessar"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Bloqueio do Espaço particular"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Você pode desbloquear o Espaço particular da mesma maneira que desbloqueia seu dispositivo ou escolher um bloqueio diferente"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usar o bloqueio de tela do dispositivo"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueio facial e por impressão digital"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toque para configurar"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Igual ao bloqueio de tela do dispositivo"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Escolher outro bloqueio para o Espaço particular?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Ocultar quando bloqueado"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Ocultar o Espaço particular quando bloqueado"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Oculte o Espaço particular na sua lista de apps para que outras pessoas não saibam que ele está no dispositivo"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Acessar o Espaço particular quando oculto"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Pesquisar \"Espaço particular\" na barra de pesquisa"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tocar no bloco Espaço particular"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Desbloquear seu Espaço particular"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desativado"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Ativado"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Criar Espaço particular"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Excluir o Espaço particular"</string>
- <string name="private_space_created" msgid="2978055968937762232">"O Espaço particular foi criado"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"O Espaço particular já existe"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Não foi possível criar um Espaço particular"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"O Espaço particular foi excluído"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Não foi possível excluir o Espaço particular"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Defina um bloqueio de tela"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Para usar o Espaço particular, defina um bloqueio de tela neste dispositivo."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Definir bloqueio de tela"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancelar"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Cancelar"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Configurar"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Configurar o Espaço particular"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Oculte apps particulares em um espaço seguro que só você pode acessar"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Como funciona"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Você pode acessar o Espaço particular na parte de baixo da sua lista de apps"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Os apps no Espaço particular ficam protegidos por um bloqueio"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"As notificações de apps no Espaço particular ficam ocultas quando ele está bloqueado"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Os apps do Espaço particular não aparecem na Gestão de permissões, no painel de privacidade e em outras configurações quando esse espaço está bloqueado"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Configurando Espaço particular…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"As informações de uso de apps do Espaço particular ficam ocultas quando ele está bloqueado"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Acessar o Espaço particular da sua lista de apps"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Não foi possível configurar o Espaço particular"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Tente de novo ou volte mais tarde"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Tentar de novo"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Usar bloqueio de tela para desbloquear?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Você pode desbloquear o Espaço particular da mesma maneira que desbloqueia seu dispositivo ou escolher um bloqueio diferente"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Usar bloqueio de tela"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Escolher novo bloqueio"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Tudo pronto!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Concluído"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Role a tela para baixo para acessar o Espaço particular"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Faça login para configurar o Espaço particular"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Você precisa fazer login em uma conta para configurar o Espaço particular"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Para mostrar o Espaço particular (UX não final)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Abra o app Configurações"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Toque em \"Segurança e privacidade > Espaço particular > Ocultar o Espaço particular quando bloqueado\""</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Botão \"Ocultar o Espaço particular quando bloqueado\""</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Observação para Googlers: esse recurso ainda está em desenvolvimento"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"É possível adicionar até <xliff:g id="COUNT">%d</xliff:g> digitais"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Você adicionou o número máximo de impressões digitais"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Não é possível adicionar mais impressões digitais"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Conectar"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desconectar"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Parear e conectar"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Com o Bluetooth ativado, o dispositivo pode se comunicar com dispositivos próximos."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Com o Bluetooth ativado, o dispositivo pode se comunicar com dispositivos próximos"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Quando o Bluetooth está ativado, seu dispositivo pode se comunicar com outros dispositivos Bluetooth por perto.\n\nPara melhorar a experiência, os apps e serviços ainda podem procurar dispositivos por perto a qualquer momento, mesmo com o Bluetooth desativado. Isso pode ser usado, por exemplo, para aprimorar serviços e recursos baseados na localização. Mude essa opção nas configurações de busca por Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Mudar"</string>
<string name="device_details_title" msgid="1155622417516195481">"Detalhes do dispositivo"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permitir que o ART verifique o bytecode de apps depuráveis"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar taxa de atualização"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostrar a taxa de atualização de tela atual"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostrar a proporção HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostrar a proporção HDR/SDR atual"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Exigir desbloqueio de dispositivo para usar a NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuar usando apps com a tela dobrada"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Aumenta automaticamente a taxa de atualização para <xliff:g id="ID_1">%1$d</xliff:g> Hz para alguns conteúdos. Maior uso da bateria."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forçar taxa de atualização máxima"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Maior taxa de atualização para melhoria na resposta tátil e na qualidade das animações. Maior uso da bateria."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Reconhecimento de tela em uso"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Configurações compartilhadas"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"Editar ponto de acesso"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Adicionar ponto de acesso"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Sem definição"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Não definido"</string>
<string name="apn_name" msgid="6677695784108157953">"Nome"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usar o botão de acessibilidade para abrir"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mantenha as teclas de volume pressionadas para abrir"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Toque três vezes na tela para abrir"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Tocar três vezes na tela com dois dedos para abrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usar gesto para abrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usar o gesto de acessibilidade"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Para usar esse recurso, toque no botão de acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da tela.\n\nPara alternar entre os recursos, toque no botão de acessibilidade e o pressione."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para usar esse recurso, toque no botão de acessibilidade na sua tela."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Para usar esse recurso, toque nas duas teclas de volume e as mantenha pressionadas."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para iniciar ou interromper a ampliação, toque três vezes em qualquer lugar da tela."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Para iniciar ou interromper a ampliação, toque três vezes em qualquer lugar da tela com dois dedos."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esse recurso, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre os recursos, deslize de baixo para cima com dois dedos, sem soltar."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para usar esse recurso, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre os recursos, deslize de baixo para cima com três dedos, sem soltar."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para usar um recurso de acessibilidade, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre recursos, deslize de baixo para cima com dois dedos, sem soltar."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Manter as teclas de volume pressionadas"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"manter as teclas de volume pressionadas"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Toque nas duas teclas de volume e as mantenha pressionadas"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Tocar três vezes na tela com dois dedos"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"tocar três vezes na tela com dois dedos"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Toque na tela {0,number,integer} vezes rapidamente com dois dedos"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tocar na tela três vezes"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"tocar na tela três vezes"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Toque na tela {0,number,integer} vezes rapidamente. Esse atalho pode deixar o dispositivo mais lento"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Pode monitorar suas interações com um app ou um sensor de hardware e interagir com apps em seu nome."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permitir"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Negar"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Parar"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancelar"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Desativar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Se você tocar em <xliff:g id="STOP">%1$s</xliff:g>, o <xliff:g id="SERVICE">%2$s</xliff:g> será interrompido."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nenhum serviço foi instalado"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nenhum serviço selecionado"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Nenhuma descrição foi fornecida."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Se você limitar as atividades em segundo plano de um app, ele poderá apresentar mau funcionamento"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Como o app não está configurado para otimizar bateria, não é possível restringi-lo.\n\nPara restringir, ative a otimização."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gerenciar uso da bateria"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permitir o uso em segundo plano"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Ative para receber atualizações em tempo real ou desative para economizar bateria"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sem restrições"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Otimizado"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restrito"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nome"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
<string name="vpn_server" msgid="2908816134941973935">"Endereço do servidor"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Criptografia PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Segredo L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Chave pré-compartilhada IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificado de usuário IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificado de CA IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificado de servidor IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Mostrar opções avançadas"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domínios de pesquisa de DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidores de DNS (por exemplo, 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Rotas de encaminhamento (ex: 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nome de usuário"</string>
<string name="vpn_password" msgid="1183746907642628127">"Senha"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Salvar informações sobre a conta"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"Não utilizado"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(não verificar servidor)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(recebido de um servidor)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Não é possível manter este tipo de VPN sempre conectado."</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN sempre ativa só é compatível com endereços numéricos"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Um servidor DNS precisa ser especificado para VPN sempre ativa"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Os endereços de servidor DNS precisam ser numéricos para VPN sempre ativa"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"As informações inseridas não são compatíveis com VPN sempre ativa"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Cancelar"</string>
<string name="vpn_done" msgid="5137858784289564985">"Dispensar"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Bloquear conexões sem VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Conexão VPN necessária?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Não seguro. Atualize para uma VPN IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecione um perfil de VPN para permanecer sempre conectado. O tráfego de rede somente será permitido quando conectado a esta VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Nenhuma"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"A VPN sempre ativa requer um endereço IP para o servidor e o DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostrar todo o conteúdo das notificações"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Só mostrar conteúdo sensível quando desbloqueado"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Não mostrar nenhuma notificação"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Como você quer mostrar as notificações na tela de bloqueio?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"O que você quer que apareça na sua tela de bloqueio?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Tela de bloqueio"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostre todo o conteúdo de notificação de trabalho"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ocultar conteúdo de trabalho confidencial"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Acesso para gerenciar todos os arquivos"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permitir que o app leia, modifique e exclua todos os arquivos deste dispositivo ou de qualquer volume de armazenamento conectado. Se a permissão for concedida, o app poderá acessar arquivos sem nenhum aviso prévio."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Pode acessar todos os arquivos"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps com ativação por voz"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permitir ativação por voz"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"A ativação por voz ativa apps aprovados usando comando de voz. A detecção adaptativa integrada garante a privacidade dos seus dados.\n\n"<a href="">"Saiba mais sobre a detecção adaptativa"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Notificações em tela cheia"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Permitir que esse app mostre notificações em tela cheia"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permita que o app mostre notificações que ocupam a tela inteira quando o dispositivo estiver bloqueado. Os apps poderão usar essa permissão para destacar alarmes, ligações recebidas ou outras notificações urgentes."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usou bateria além do normal em segundo plano"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usou mais bateria em primeiro plano"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usou bateria além do normal em primeiro plano"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia no uso da bateria"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Alto uso da bateria"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Alto uso da bateria em segundo plano"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Alto uso da bateria em primeiro plano"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navegação no sistema, navegação com dois botões, navegação com três botões, navegação por gestos, deslizar"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistente digital"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Deslize para invocar o assistente"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Deslize de baixo para cima no canto da tela para invocar o app assistente digital."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Deslize de baixo para cima no canto da tela para invocar o app assistente digital"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Pressione o botão home para ativar o Google Assistente"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Toque e pressione o botão home para invocar o app assistente digital."</string>
<string name="low_label" msgid="6525629096999711220">"Baixa"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecionar gênero gramatical"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Verificação de apps enganosos"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Verificar atividades no app para detectar phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Usar a verificação"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Usar a verificação para apps de trabalho"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Usar o recurso de verificação para detectar apps enganosos"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Usar o recurso de verificação para detectar apps enganosos que podem ser usados no perfil de trabalho"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 7fb7e61..e804ed5 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Caneta stylus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Partilha de áudio"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Partilhar áudio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Chamadas e alarmes"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Ligue-se a uma stream de LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Streams de áudio próximas"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Streams de áudio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Ligue-se a uma stream de áudio através do código QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Nenhuma stream de áudio próxima."</string>
<string name="date_and_time" msgid="1788358029823431692">"Data e hora"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Limpar"</string>
@@ -539,7 +543,14 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Perfil de trabalho"</string>
<string name="private_space_title" msgid="7078627930195569767">"Espaço privado"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Oculte as apps numa pasta privada"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Desbloquear com o bloqueio de ecrã"</string>
+ <string name="private_space_description" msgid="5494963647270826210">"Oculte as apps numa pasta privada que só pode ser acedida por si"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Bloqueio do espaço privado"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Pode desbloquear o espaço privado da mesma forma que desbloqueia o seu dispositivo ou escolher um bloqueio diferente"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usar bloqueio de ecrã do dispositivo"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueio facial e por impressão digital"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toque para configurar"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"O mesmo que o bloqueio de ecrã do dispositivo"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Escolher um novo bloqueio para o espaço privado?"</string>
<string name="private_space_hide_title" msgid="8687034008994037610">"Ocultar quando bloqueado"</string>
<string name="privatespace_hide_page_title" msgid="972581369094289386">"Ocultar espaço privado quando bloqueado"</string>
<string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Para não saberem que o espaço privado está no seu dispositivo, oculte-o da lista de apps"</string>
@@ -550,11 +561,7 @@
<string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desativado"</string>
<string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Ativado"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Criar espaço privado"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Eliminar espaço privado"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Espaço privado criado com êxito"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"O espaço privado já existe"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Não foi possível criar o espaço privado"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Espaço privado eliminado com êxito"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Não foi possível eliminar o espaço privado"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Defina um bloqueio de ecrã"</string>
@@ -568,40 +575,32 @@
<string name="privatespace_how_title" msgid="8794102046435526065">"Como funciona"</string>
<string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Pode aceder ao espaço privado a partir da parte inferior da sua lista de apps"</string>
<string name="privatespace_protected_lock_text" msgid="7320604832432017423">"As apps no espaço privado são protegidas por um bloqueio"</string>
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Quando o espaço privado estiver bloqueado, as notificações das respetivas apps são ocultadas"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"As apps do espaço privado não vão aparecer no Gestor de autorizações, no painel de privacidade nem noutras definições quando o espaço privado estiver bloqueado"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"A configurar o espaço privado…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Quando o espaço privado estiver bloqueado, as informações de utilização das respetivas apps são ocultadas"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Aceda ao espaço privado a partir da sua lista de apps"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Não foi possível configurar o espaço privado"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Tente novamente agora ou volte mais tarde"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Tentar novamente"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Usar bloqueio de ecrã para desbloquear?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Pode desbloquear o espaço privado da mesma forma que desbloqueia o seu dispositivo ou escolher um bloqueio diferente"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Usar bloqueio de ecrã"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Escolher novo bloqueio"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Tudo pronto!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Concluir"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Desloque o ecrã para baixo para aceder ao espaço privado"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Inicie sessão para configurar o espaço privado"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Tem de iniciar sessão numa conta para configurar o espaço privado"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"P/ mostrar espaço privado (não é a exp. do utilizador final)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Abra a app Definições"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Toque em Segurança e privacidade > Espaço privado > Ocultar espaço privado quando bloqueado"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Botão para desativar Ocultar espaço privado quando bloqueado"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Nota para os funcionários da Google: o desenvolvimento desta funcionalidade ainda está em curso"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Pode adicionar até <xliff:g id="COUNT">%d</xliff:g> impressões digitais"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Adicionou o número máximo de impressões digitais"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Não é possível adicionar mais impressões digitais"</string>
@@ -765,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Ligar"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desligar"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Emparelhar e ligar"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Com o Bluetooth ativado, o dispositivo pode comunicar com dispositivos próximos."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Com o Bluetooth ativado, o dispositivo pode comunicar com dispositivos próximos"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Quando o Bluetooth está ativado, o dispositivo pode comunicar com outros dispositivos Bluetooth próximos.\n\nPara melhorar a experiência do dispositivo, as apps e os serviços podem continuar a procurar dispositivos próximos em qualquer altura, mesmo quando o Bluetooth está desativado. Pode usar esta opção, por exemplo, para melhorar as funcionalidades e os serviços baseados na localização. Pode alterar esta opção nas definições de procura de Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Altere"</string>
<string name="device_details_title" msgid="1155622417516195481">"Detalhes do dispositivo"</string>
@@ -818,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permite que o ART valide o bytecode para apps depuráveis"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar taxa de atualização"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostrar taxa de atualização de apresentação atual"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostrar relação HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostrar a relação HDR/SDR atual"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Pedir o desbloqueio do dispositivo para o NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1119,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuar a usar apps ao dobrar"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Aumenta automaticamente a taxa de atualização para <xliff:g id="ID_1">%1$d</xliff:g> Hz para algum conteúdo. Aumenta a utilização da bateria."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forçar taxa de atualização de pico"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"A taxa de atualização mais elevada para uma capacidade de resposta tátil e uma qualidade de animação melhoradas. Aumenta a utilização da bateria."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Atenção ao ecrã"</string>
@@ -1356,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Definições coletivas"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"Editar ponto de acesso"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Adicione o ponto de acesso"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Não definido"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Não definido"</string>
<string name="apn_name" msgid="6677695784108157953">"Nome"</string>
@@ -1990,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use o botão de acessibilidade para abrir"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mantenha premidas as teclas de volume para abrir"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Toque três vezes no ecrã para abrir"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Toque três vezes no ecrã com dois dedos para abrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utilize gestos para abrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usar gesto de acessibilidade"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Para usar esta funcionalidade, toque no botão Acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior do seu ecrã.\n\nPara alternar entre funcionalidades, toque sem soltar no botão Acessibilidade."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para usar esta funcionalidade, toque no botão Acessibilidade no seu ecrã."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Para usar esta funcionalidade, prima sem soltar as teclas de volume."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para iniciar e parar a ampliação, toque três vezes em qualquer parte do ecrã."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Para iniciar e parar a ampliação, toque três vezes em qualquer parte do ecrã com dois dedos."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esta funcionalidade, deslize rapidamente com dois dedos para cima a partir da parte inferior do ecrã.\n\nPara alternar entre funcionalidades, deslize rapidamente com dois dedos para cima sem soltar."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para usar esta funcionalidade, deslize rapidamente com três dedos para cima a partir da parte inferior do ecrã.\n\nPara alternar entre funcionalidades, deslize rapidamente com três dedos para cima sem soltar."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para utilizar uma funcionalidade de acessibilidade, deslize rapidamente com dois dedos para cima a partir da parte inferior do ecrã.\n\nPara alternar entre funcionalidades, deslize rapidamente com dois dedos para cima sem soltar."</string>
@@ -2017,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Manter premidas as teclas de volume"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"mantenha premidas as teclas de volume"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Prima sem soltar ambas as teclas de volume"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Toque três vezes no ecrã com dois dedos"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"toque três vezes no ecrã com dois dedos"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Toque rapidamente {0,number,integer} vezes no ecrã com dois dedos"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Toque três vezes no ecrã"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"toque três vezes no ecrã"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Toque rapidamente {0,number,integer} vezes no ecrã. Este atalho pode tornar o dispositivo mais lento"</string>
@@ -2247,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Pode monitorizar as suas interações com uma app ou um sensor de hardware e interagir com apps em seu nome."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permitir"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Recusar"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Parar"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancelar"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Parar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Toque em <xliff:g id="STOP">%1$s</xliff:g> para parar o serviço <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nenhum serviço instalado"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nenhum serviço selecionado"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Nenhuma descrição fornecida."</string>
@@ -2320,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Se limitar a atividade em segundo plano de uma aplicação, esta pode apresentar um comportamento anormal."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"A app não está def. p/ otimizar a bateria, não a pode restringir.\n\nP/ restringir a app, ative a otimiz. da bateria."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Faça a gestão da utilização da bateria"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permita a utilização em segundo plano"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Ative para atualizações em tempo real, desative para poupar bateria"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sem restrições"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Otimizada"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restrita"</string>
@@ -2728,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nome"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
<string name="vpn_server" msgid="2908816134941973935">"Endereço do servidor"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Encriptação PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"segredo L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Chave IPSec pré-partilhada"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificado do utilizador IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificado da AC IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificado do servidor IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Mostrar opções avançadas"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domínios de pesquisa DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidores DNS (por exemplo, 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Rotas de encaminhamento (por exemplo, 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nome de utilizador"</string>
<string name="vpn_password" msgid="1183746907642628127">"Palavra-passe"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Guardar informações sobre a conta"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(não utilizado)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(não verificar servidor)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(recebido do servidor)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Este tipo de VPN não pode estar sempre ligado"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"A opção VPN sempre ativa só é compatível com endereços de servidor numéricos"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"É necessário especificar um servidor DNS para a opção VPN sempre ativa"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Os endereços do servidor DNS têm de ser numéricos para a opção VPN sempre ativa"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"As informações introduzidas não são compatíveis com a opção VPN sempre ativa"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Cancelar"</string>
<string name="vpn_done" msgid="5137858784289564985">"Ignorar"</string>
@@ -2784,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Bloquear ligações sem VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Quer exigir uma ligação VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Insegura. Atualize para uma VPN IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecione um perfil de VPN para permanecer sempre ligado. O tráfego de rede só será permitido quando ligado a esta VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Nenhuma"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"A VPN sempre ativa requer um endereço IP de servidor e DNS."</string>
@@ -3341,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostrar conteúdos de todas as notificações"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Mostrar conteúdo confidencial apenas se desbloqueado"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Não mostrar notificações"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Como quer que o ecrã de bloqueio seja apresentado?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"O que quer que o ecrã de bloqueio mostre?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Ecrã de bloqueio"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostrar todo o conteúdo de notificações de trabalho"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ocultar conteúdo de trabalho confidencial"</string>
@@ -3830,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Permitir acesso para gerir todos os ficheiros"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permita que esta app leia, modifique e elimine todos os ficheiros neste dispositivo ou em qualquer volume de armazenamento ligado. Se a autorização for concedida, a app poderá aceder aos ficheiros sem o seu conhecimento explícito."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Pode aceder a todos os ficheiros"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps com ativação por voz"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permitir ativação por voz"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"A ativação por voz ativa as apps aprovadas, em modo mãos-livres, usando o comando de voz. A deteção adaptável integrada garante que os dados permanecem privados apenas para si.\n\n"<a href="">"Mais sobre a deteção adaptável protegida"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Notificações em ecrã inteiro"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Permitir notificações desta app em ecrã inteiro"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permita que esta app mostre notificações que ocupam o ecrã inteiro quando o dispositivo está bloqueado. As apps podem usá-las para destacar alarmes, chamadas recebidas ou outras notificações urgentes."</string>
@@ -3993,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"A app <xliff:g id="APP_LABEL">%1$s</xliff:g> consumiu mais bateria do que o habitual em segundo plano"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"A app <xliff:g id="APP_LABEL">%1$s</xliff:g> consumiu mais bateria em primeiro plano"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"A app <xliff:g id="APP_LABEL">%1$s</xliff:g> consumiu mais bateria do que o habitual em primeiro plano"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia na utilização da bateria"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Elevada utilização da bateria"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Elevada utilização da bateria em segundo plano"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Elevada utilização da bateria em primeiro plano"</string>
@@ -4090,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navegação no sistema, navegação com 2 botões, navegação com 3 botões, navegação por gestos, deslizar rapidamente"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistente digital"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Deslizar rapidamente para invocar assistente"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Deslize rapidamente para cima a partir de um canto inferior para invocar a app de assistente digital."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Deslize rapidamente para cima a partir de um canto inferior para invocar a app de assistente digital"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Prima sem soltar Página inicial para chamar o Assistente"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Prima sem soltar o botão página inicial para invocar a app de assistente digital."</string>
<string name="low_label" msgid="6525629096999711220">"Baixa"</string>
@@ -4943,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecione o género gramatical"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Análise de apps enganadoras"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Verifique a atividade de apps para detetar phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Usar análise"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Usar análise para apps de trabalho"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Usar análise para detetar apps enganadoras"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Usar análise para detetar apps enganadoras no perfil de trabalho"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index b7a5425..85864a4 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Compartilhamento de áudio"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Compartilhar áudio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Ligações e alarmes"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Conectar a um stream de LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Streams de áudio por perto"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Streams de áudio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Conectar a um stream de áudio usando um código QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Nenhum stream de áudio por perto foi encontrado."</string>
<string name="date_and_time" msgid="1788358029823431692">"Data e hora"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Limpar"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Perfil de trabalho"</string>
<string name="private_space_title" msgid="7078627930195569767">"Espaço particular"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Ocultar apps em uma pasta particular"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Desbloquear usando o bloqueio de tela"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Oculte apps em uma pasta particular que só você pode acessar"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Bloqueio do Espaço particular"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Você pode desbloquear o Espaço particular da mesma maneira que desbloqueia seu dispositivo ou escolher um bloqueio diferente"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usar o bloqueio de tela do dispositivo"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueio facial e por impressão digital"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toque para configurar"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Igual ao bloqueio de tela do dispositivo"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Escolher outro bloqueio para o Espaço particular?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Ocultar quando bloqueado"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Ocultar o Espaço particular quando bloqueado"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Oculte o Espaço particular na sua lista de apps para que outras pessoas não saibam que ele está no dispositivo"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Acessar o Espaço particular quando oculto"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Pesquisar \"Espaço particular\" na barra de pesquisa"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tocar no bloco Espaço particular"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Desbloquear seu Espaço particular"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desativado"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Ativado"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Criar Espaço particular"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Excluir o Espaço particular"</string>
- <string name="private_space_created" msgid="2978055968937762232">"O Espaço particular foi criado"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"O Espaço particular já existe"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Não foi possível criar um Espaço particular"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"O Espaço particular foi excluído"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Não foi possível excluir o Espaço particular"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Defina um bloqueio de tela"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Para usar o Espaço particular, defina um bloqueio de tela neste dispositivo."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Definir bloqueio de tela"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancelar"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Cancelar"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Configurar"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Configurar o Espaço particular"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Oculte apps particulares em um espaço seguro que só você pode acessar"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Como funciona"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Você pode acessar o Espaço particular na parte de baixo da sua lista de apps"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Os apps no Espaço particular ficam protegidos por um bloqueio"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"As notificações de apps no Espaço particular ficam ocultas quando ele está bloqueado"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Os apps do Espaço particular não aparecem na Gestão de permissões, no painel de privacidade e em outras configurações quando esse espaço está bloqueado"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Configurando Espaço particular…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"As informações de uso de apps do Espaço particular ficam ocultas quando ele está bloqueado"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Acessar o Espaço particular da sua lista de apps"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Não foi possível configurar o Espaço particular"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Tente de novo ou volte mais tarde"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Tentar de novo"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Usar bloqueio de tela para desbloquear?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Você pode desbloquear o Espaço particular da mesma maneira que desbloqueia seu dispositivo ou escolher um bloqueio diferente"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Usar bloqueio de tela"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Escolher novo bloqueio"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Tudo pronto!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Concluído"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Role a tela para baixo para acessar o Espaço particular"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Faça login para configurar o Espaço particular"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Você precisa fazer login em uma conta para configurar o Espaço particular"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Para mostrar o Espaço particular (UX não final)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Abra o app Configurações"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Toque em \"Segurança e privacidade > Espaço particular > Ocultar o Espaço particular quando bloqueado\""</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Botão \"Ocultar o Espaço particular quando bloqueado\""</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Observação para Googlers: esse recurso ainda está em desenvolvimento"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"É possível adicionar até <xliff:g id="COUNT">%d</xliff:g> digitais"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Você adicionou o número máximo de impressões digitais"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Não é possível adicionar mais impressões digitais"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Conectar"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desconectar"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Parear e conectar"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Com o Bluetooth ativado, o dispositivo pode se comunicar com dispositivos próximos."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Com o Bluetooth ativado, o dispositivo pode se comunicar com dispositivos próximos"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Quando o Bluetooth está ativado, seu dispositivo pode se comunicar com outros dispositivos Bluetooth por perto.\n\nPara melhorar a experiência, os apps e serviços ainda podem procurar dispositivos por perto a qualquer momento, mesmo com o Bluetooth desativado. Isso pode ser usado, por exemplo, para aprimorar serviços e recursos baseados na localização. Mude essa opção nas configurações de busca por Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Mudar"</string>
<string name="device_details_title" msgid="1155622417516195481">"Detalhes do dispositivo"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permitir que o ART verifique o bytecode de apps depuráveis"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar taxa de atualização"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostrar a taxa de atualização de tela atual"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostrar a proporção HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostrar a proporção HDR/SDR atual"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Exigir desbloqueio de dispositivo para usar a NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuar usando apps com a tela dobrada"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Aumenta automaticamente a taxa de atualização para <xliff:g id="ID_1">%1$d</xliff:g> Hz para alguns conteúdos. Maior uso da bateria."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forçar taxa de atualização máxima"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Maior taxa de atualização para melhoria na resposta tátil e na qualidade das animações. Maior uso da bateria."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Reconhecimento de tela em uso"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Configurações compartilhadas"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"Editar ponto de acesso"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Adicionar ponto de acesso"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Sem definição"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Não definido"</string>
<string name="apn_name" msgid="6677695784108157953">"Nome"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usar o botão de acessibilidade para abrir"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mantenha as teclas de volume pressionadas para abrir"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Toque três vezes na tela para abrir"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Tocar três vezes na tela com dois dedos para abrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usar gesto para abrir"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usar o gesto de acessibilidade"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Para usar esse recurso, toque no botão de acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da tela.\n\nPara alternar entre os recursos, toque no botão de acessibilidade e o pressione."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para usar esse recurso, toque no botão de acessibilidade na sua tela."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Para usar esse recurso, toque nas duas teclas de volume e as mantenha pressionadas."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para iniciar ou interromper a ampliação, toque três vezes em qualquer lugar da tela."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Para iniciar ou interromper a ampliação, toque três vezes em qualquer lugar da tela com dois dedos."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esse recurso, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre os recursos, deslize de baixo para cima com dois dedos, sem soltar."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para usar esse recurso, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre os recursos, deslize de baixo para cima com três dedos, sem soltar."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para usar um recurso de acessibilidade, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre recursos, deslize de baixo para cima com dois dedos, sem soltar."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Manter as teclas de volume pressionadas"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"manter as teclas de volume pressionadas"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Toque nas duas teclas de volume e as mantenha pressionadas"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Tocar três vezes na tela com dois dedos"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"tocar três vezes na tela com dois dedos"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Toque na tela {0,number,integer} vezes rapidamente com dois dedos"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tocar na tela três vezes"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"tocar na tela três vezes"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Toque na tela {0,number,integer} vezes rapidamente. Esse atalho pode deixar o dispositivo mais lento"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Pode monitorar suas interações com um app ou um sensor de hardware e interagir com apps em seu nome."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permitir"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Negar"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Parar"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancelar"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Desativar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Se você tocar em <xliff:g id="STOP">%1$s</xliff:g>, o <xliff:g id="SERVICE">%2$s</xliff:g> será interrompido."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nenhum serviço foi instalado"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nenhum serviço selecionado"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Nenhuma descrição foi fornecida."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Se você limitar as atividades em segundo plano de um app, ele poderá apresentar mau funcionamento"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Como o app não está configurado para otimizar bateria, não é possível restringi-lo.\n\nPara restringir, ative a otimização."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gerenciar uso da bateria"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permitir o uso em segundo plano"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Ative para receber atualizações em tempo real ou desative para economizar bateria"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sem restrições"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Otimizado"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restrito"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nome"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
<string name="vpn_server" msgid="2908816134941973935">"Endereço do servidor"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Criptografia PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Segredo L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Chave pré-compartilhada IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificado de usuário IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificado de CA IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificado de servidor IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Mostrar opções avançadas"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domínios de pesquisa de DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidores de DNS (por exemplo, 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Rotas de encaminhamento (ex: 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nome de usuário"</string>
<string name="vpn_password" msgid="1183746907642628127">"Senha"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Salvar informações sobre a conta"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"Não utilizado"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(não verificar servidor)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(recebido de um servidor)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Não é possível manter este tipo de VPN sempre conectado."</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN sempre ativa só é compatível com endereços numéricos"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Um servidor DNS precisa ser especificado para VPN sempre ativa"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Os endereços de servidor DNS precisam ser numéricos para VPN sempre ativa"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"As informações inseridas não são compatíveis com VPN sempre ativa"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Cancelar"</string>
<string name="vpn_done" msgid="5137858784289564985">"Dispensar"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Bloquear conexões sem VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Conexão VPN necessária?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Não seguro. Atualize para uma VPN IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecione um perfil de VPN para permanecer sempre conectado. O tráfego de rede somente será permitido quando conectado a esta VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Nenhuma"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"A VPN sempre ativa requer um endereço IP para o servidor e o DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostrar todo o conteúdo das notificações"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Só mostrar conteúdo sensível quando desbloqueado"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Não mostrar nenhuma notificação"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Como você quer mostrar as notificações na tela de bloqueio?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"O que você quer que apareça na sua tela de bloqueio?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Tela de bloqueio"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostre todo o conteúdo de notificação de trabalho"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ocultar conteúdo de trabalho confidencial"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Acesso para gerenciar todos os arquivos"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permitir que o app leia, modifique e exclua todos os arquivos deste dispositivo ou de qualquer volume de armazenamento conectado. Se a permissão for concedida, o app poderá acessar arquivos sem nenhum aviso prévio."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Pode acessar todos os arquivos"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps com ativação por voz"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permitir ativação por voz"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"A ativação por voz ativa apps aprovados usando comando de voz. A detecção adaptativa integrada garante a privacidade dos seus dados.\n\n"<a href="">"Saiba mais sobre a detecção adaptativa"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Notificações em tela cheia"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Permitir que esse app mostre notificações em tela cheia"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permita que o app mostre notificações que ocupam a tela inteira quando o dispositivo estiver bloqueado. Os apps poderão usar essa permissão para destacar alarmes, ligações recebidas ou outras notificações urgentes."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usou bateria além do normal em segundo plano"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usou mais bateria em primeiro plano"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usou bateria além do normal em primeiro plano"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia no uso da bateria"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Alto uso da bateria"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Alto uso da bateria em segundo plano"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Alto uso da bateria em primeiro plano"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navegação no sistema, navegação com dois botões, navegação com três botões, navegação por gestos, deslizar"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistente digital"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Deslize para invocar o assistente"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Deslize de baixo para cima no canto da tela para invocar o app assistente digital."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Deslize de baixo para cima no canto da tela para invocar o app assistente digital"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Pressione o botão home para ativar o Google Assistente"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Toque e pressione o botão home para invocar o app assistente digital."</string>
<string name="low_label" msgid="6525629096999711220">"Baixa"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecionar gênero gramatical"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Verificação de apps enganosos"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Verificar atividades no app para detectar phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Usar a verificação"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Usar a verificação para apps de trabalho"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Usar o recurso de verificação para detectar apps enganosos"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Usar o recurso de verificação para detectar apps enganosos que podem ser usados no perfil de trabalho"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index ac3610b..af14e81 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Creion"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Trimiterea audio"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Trimite audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Apeluri și alarme"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Conectează-te la un stream LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Streamuri audio în apropiere"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Streamuri audio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Conectează-te la un stream audio folosind un cod QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Nu s-au găsit streamuri audio aproape."</string>
<string name="date_and_time" msgid="1788358029823431692">"Data și ora"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Șterge"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Profil de serviciu"</string>
<string name="private_space_title" msgid="7078627930195569767">"Spațiu privat"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Ascunde aplicații într-un dosar privat"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Deblochează folosind blocarea ecranului"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Ascunde aplicațiile într-un dosar privat, pe care îl poți accesa doar tu"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Blocarea spațiului privat"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Poți să deblochezi Spațiul privat la fel cum deblochezi dispozitivul sau să alegi altă blocare"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Folosește blocarea ecranului dispozitivului"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Deblocare facială și cu amprentă"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Atinge pentru a configura"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Aceeași ca blocarea ecranului dispozitivului"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Alegi un aspect nou pentru Spațiul privat?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Ascunde când este blocat"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Ascunde Spațiul privat când este blocat"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Pentru ca alții să nu știe că ai un Spațiu privat pe dispozitiv, ascunde-l din lista de aplicații"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Accesează Spațiul privat când este ascuns"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Caută „Spațiu privat” în bara de căutare"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Atinge cardul Spațiu privat"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Deblochează Spațiul privat"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Dezactivat"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Activat"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Creează un Spațiu privat"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Șterge Spațiul privat"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Spațiul privat a fost creat"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Spațiul privat există deja"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Spațiul privat nu a putut fi creat"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Spațiul privat a fost șters"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Spațiul privat nu a putut fi șters"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Setează o blocare a ecranului"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Ca să folosești Spațiul privat, setează blocarea ecranului."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Setează blocarea ecranului"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Anulează"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Anulează"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Configurează"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Configurează Spațiul privat"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Ascunde aplicațiile private într-un loc sigur la care numai tu ai acces"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Cum funcționează"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Poți accesa Spațiul privat din partea de jos a listei de aplicații"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Aplicațiile din Spațiul privat sunt protejate de o blocare"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Notificările de la aplicațiile din Spațiul privat sunt ascunse atunci când acesta este blocat"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Aplicațiile din Spațiul privat nu vor apărea în managerul de permisiuni, în tabloul de bord de confidențialitate și în alte setări atunci când Spațiul privat este blocat"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Se configurează Spațiul privat…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Informațiile despre utilizarea aplicațiilor din Spațiul privat sunt ascunse atunci când este blocat"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Accesează Spațiul privat din lista de aplicații"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Nu s-a putut configura Spațiul privat"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Încearcă din nou acum sau revino mai târziu"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Încearcă din nou"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Folosești blocarea ecranului pentru deblocare?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Poți să deblochezi Spațiul privat la fel cum deblochezi dispozitivul sau să alegi altă blocare"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Folosește blocarea ecranului"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Alege o nouă blocare"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Gata!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Gata"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Derulează în jos pentru a accesa Spațiul privat"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Conectează-te pentru a configura Spațiul privat"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Trebuie să te conectezi la un cont pentru a configura Spațiul privat"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Pentru a afișa Spațiul privat (UX temporară)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Deschide aplicația Setări"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Atinge Securitate și confidențialitate > Spațiul privat > Ascunde Spațiul privat când este blocat"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Dezactivează comutatorul Ascunde Spațiul privat când este blocat"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Notă pentru angajații Google: funcția este încă în dezvoltare"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Poți să adaugi până la <xliff:g id="COUNT">%d</xliff:g> amprente"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Ai adăugat numărul maxim de amprente digitale"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nu se mai pot adăuga amprente digitale"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Conectează-te"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Deconectează"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Asociază și conectează"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Activarea Bluetooth facilitează comunicarea cu alte dispozitive Bluetooth din apropiere."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Activarea Bluetooth facilitează comunicarea cu alte dispozitive Bluetooth din apropiere."</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Când Bluetooth este activat, dispozitivul poate să comunice cu alte dispozitive Bluetooth din apropiere.\n\nPentru a îmbunătăți experiența dispozitivului, aplicațiile și serviciile pot să caute în continuare dispozitive din apropiere chiar și atunci când Bluetooth este dezactivat. Această opțiune poate fi folosită, de exemplu, pentru a îmbunătăți funcțiile și serviciile bazate pe locație. Poți să-ți schimbi preferințele în setările pentru căutarea prin Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Modifică"</string>
<string name="device_details_title" msgid="1155622417516195481">"Detalii despre dispozitiv"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permite ART să verifice bytecode-ul pentru aplicațiile care pot fi depanate"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Rata de actualizare"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Afișează rata de actualizare a ecranului"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Afișează raportul HDR / SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Afișează raportul HDR / SDR actual"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Solicită deblocarea dispozitivului pentru NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuă să folosești aplicațiile după pliere"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Crește automat rata de actualizare până la <xliff:g id="ID_1">%1$d</xliff:g> Hz pentru anumite tipuri de conținut. Utilizarea bateriei crește."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forțează rata maximă de actualizare"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Cea mai ridicată rată de actualizare, pentru receptivitate la atingere îmbunătățită și animații de calitate. Mărește utilizarea bateriei."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Atenție la ecran"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Setări comune"</string>
<string name="apn_settings" msgid="4295467389400441299">"Nume APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Modifică punctul de acces"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Adaugă un punct de acces"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nesetat(ă)"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nesetată"</string>
<string name="apn_name" msgid="6677695784108157953">"Nume"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Folosește butonul de accesibilitate pentru a deschide"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Apasă lung butoanele de volum pentru a deschide"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Atinge ecranul de trei ori ca să deschizi"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Atinge de trei ori ecranul cu două degete pentru a deschide"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Folosește un gest pentru a deschide"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Folosește gestul de accesibilitate"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Ca să folosești această funcție, atinge butonul de accesibilitate <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> din partea de jos a ecranului.\n\nCa să comuți între funcții, atinge lung butonul de accesibilitate."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Ca să folosești această funcție, atinge butonul de accesibilitate de pe ecran."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Ca să folosești această funcție, apasă lung ambele butoane de volum."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Pentru a porni și a opri mărirea, atinge de trei ori oriunde pe ecran."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Pentru a porni și a opri mărirea, atinge de trei ori oriunde pe ecran cu două degete."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Ca să folosești această funcție, glisează în sus cu două degete din partea de jos a ecranului.\n\nCa să comuți între funcții, glisează în sus cu două degete și ține apăsat."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Ca să folosești această funcție, glisează în sus cu trei degete din partea de jos a ecranului.\n\nCa să comuți între funcții, glisează în sus cu trei degete și ține apăsat."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Ca să folosești o funcție de accesibilitate, glisează în sus cu două degete din partea de jos a ecranului.\n\nCa să comuți între funcții, glisează în sus cu două degete și ține apăsat."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Apasă lung butoanele de volum"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"apasă lung butoanele de volum"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Apasă lung ambele butoane de volum"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Atinge de trei ori ecranul cu două degete"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"atinge de trei ori ecranul cu două degete"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Atinge rapid ecranul de {0,number,integer} ori cu două degete"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Atinge ecranul de trei ori"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"atinge ecranul de trei ori"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Atinge rapid ecranul de {0,number,integer} ori. Această comandă rapidă poate încetini funcționarea dispozitivului"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Poate urmări interacțiunile tale cu o aplicație sau cu un senzor hardware și poate interacționa cu aplicații în numele tău."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Permite"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Refuză"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Oprește"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Anulează"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Oprești <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Dacă atingi <xliff:g id="STOP">%1$s</xliff:g> vei opri <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nu există servicii instalate"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Niciun serviciu selectat"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Nu a fost furnizată o descriere."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Dacă limitezi activitatea de fundal pentru o aplicație, aceasta se poate comporta necorespunzător"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Aplicația nu optimizează bateria, deci nu o poți restricționa.\n\nPentru a o restricționa, activează optimizarea bateriei."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gestionează utilizarea bateriei"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permite folosirea în fundal"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Activează pentru actualizări în timp real, dezactivează pentru a economisi bateria"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Fără restricții"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizată"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Limitată"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Nume"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tip"</string>
<string name="vpn_server" msgid="2908816134941973935">"Adresă server"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Criptare PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Secret L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificator IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Cheie IPSec predistribuită"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificat de utilizator IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificat CA IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificat de server IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Afișează opțiunile avansate"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domenii de căutare DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Serverele DNS (de ex., 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Rute de redirecționare (ex.: 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Nume de utilizator"</string>
<string name="vpn_password" msgid="1183746907642628127">"Parolă"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Salvează informațiile contului"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(neutilizat)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(nu verifica serverul)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(primit de la server)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Acest tip de VPN nu poate fi conectat permanent"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Rețelele VPN activate permanent acceptă doar adrese de server numerice"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Trebuie specificat un server DNS pentru rețelele VPN activate permanent"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adresele serverului DNS trebuie să fie numerice pentru rețelele VPN activate permanent"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Informațiile introduse nu acceptă rețelele VPN activate permanent"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Anulează"</string>
<string name="vpn_done" msgid="5137858784289564985">"Închide"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blochează conexiunile fără VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Este necesară conexiunea VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nesecurizată. Treci la o rețea VPN IKEv2."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selectează un profil VPN pentru a rămâne conectat întotdeauna la rețea. Traficul de rețea va fi permis numai atunci când ești conectat(ă) la această rețea VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Niciuna"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Activarea permanentă a rețelei VPN necesită o adresă IP, atât pentru server, cât și pentru DNS."</string>
@@ -3151,7 +3132,7 @@
<string name="notification_volume_content_description_vibrate_mode" msgid="6097212000507408288">"Volumul pentru notificări este dezactivat, dispozitivul va vibra la notificări"</string>
<string name="volume_content_description_silent_mode" msgid="377680514551405754">"<xliff:g id="VOLUME_TYPE">%1$s</xliff:g> este dezactivat"</string>
<string name="notification_volume_disabled_summary" msgid="8679988555852056079">"Indisponibil deoarece soneria este dezactivată"</string>
- <string name="ringtone_title" msgid="3271453110387368088">"Ton de sonerie al telefonului"</string>
+ <string name="ringtone_title" msgid="3271453110387368088">"Ton de apel al telefonului"</string>
<string name="notification_ringtone_title" msgid="6924501621312095512">"Sunet de notificare prestabilit"</string>
<string name="notification_unknown_sound_title" msgid="1319708450698738980">"Sunet oferit de aplicație"</string>
<string name="notification_sound_default" msgid="8630353701915294299">"Sunet de notificare prestabilit"</string>
@@ -3279,7 +3260,7 @@
<string name="sound_work_settings" msgid="752627453846309092">"Sunetele profilului de serviciu"</string>
<string name="work_use_personal_sounds_title" msgid="7729428677919173609">"Folosește sunetele profilului personal"</string>
<string name="work_use_personal_sounds_summary" msgid="608061627969077231">"Folosește aceleași sunete ca pentru profilul personal"</string>
- <string name="work_ringtone_title" msgid="4810802758746102589">"Ton de sonerie telefon serviciu"</string>
+ <string name="work_ringtone_title" msgid="4810802758746102589">"Ton de apel telefon serviciu"</string>
<string name="work_notification_ringtone_title" msgid="2955312017013255515">"Sunet prestabilit pentru notificarea de serviciu"</string>
<string name="work_alarm_ringtone_title" msgid="3369293796769537392">"Sunet prestabilit pentru alarma de serviciu"</string>
<string name="work_sound_same_as_personal" msgid="1836913235401642334">"Aceleași ca la profilul personal"</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Afișează integral conținutul notificărilor"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Afișează conținutul sensibil doar când ecranul este deblocat"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Nu afișa nicio notificare"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Cum vrei să se afișeze ecranul de blocare?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ce vrei să se afișeze pe ecranul de blocare?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Ecran de blocare"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Afișează tot conținutul notificărilor de serviciu"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ascunde conținutul de lucru sensibil"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Permite gestionarea fișierelor"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permite aplicației să citească, să modifice și să șteargă toate fișierele de pe dispozitiv sau din spațiile de stocare conectate. Dacă îi permiți, aplicația poate accesa fișierele fără consimțământul tău explicit."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Poate accesa toate fișierele"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplicații cu activare vocală"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permite activarea vocală"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Activarea vocală pornește aplicațiile aprobate în modul hands-free, prin comenzi vocale. Detectarea adaptivă protejată încorporată se asigură că datele tale rămân private și doar tu poți să le vezi.\n\n"<a href="">"Mai multe despre detectarea adaptivă protejată"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Notificări pe ecran complet"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Permite notificările pe ecran complet de la această aplicație"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permite aplicației să afișeze notificări care ocupă întregul ecran când dispozitivul e blocat. Aplicațiile le pot folosi pentru a evidenția alarme, apeluri primite sau alte informații urgente."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a consumat mai multă baterie decât de obicei în fundal"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a consumat mai multă baterie în prim-plan"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a consumat mai multă baterie decât de obicei în prim-plan"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalie în utilizarea bateriei"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Utilizare intensă a bateriei"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Utilizare intensă a bateriei în fundal"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Utilizare intensă a bateriei în prim-plan"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navigarea sistemului, navigare cu 2 butoane, navigare cu 3 butoane, navigare prin gesturi, glisare"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asistent digital"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Glisează pentru a invoca asistentul"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Glisează în sus dintr-un colț de jos pentru a invoca aplicația asistent digital."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Glisează în sus dintr-un colț de jos pentru a invoca aplicația asistent digital"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Ține apăsat butonul ecran de pornire pentru Asistent"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Apasă lung butonul ecran de pornire pentru a invoca aplicația asistent digital."</string>
<string name="low_label" msgid="6525629096999711220">"Scăzută"</string>
@@ -4960,8 +4945,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selectează genul gramatical"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Se caută aplicații înșelătoare"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Verifică activitatea în aplicații pentru phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Folosește scanarea"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Folosește scanarea în aplicațiile pentru lucru"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Folosește detectarea aplicațiilor înșelătoare"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Folosește detectarea aplicațiilor înșelătoare pentru serviciu"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 546e7a1..2d3b1f2 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Стилус"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Передача аудио"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Передавать аудио"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Звонки и будильники"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Подключение к потоку LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Аудиопотоки рядом"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Аудиопотоки"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Подключиться к аудиопотоку, используя QR-код"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Аудиопотоки поблизости не найдены."</string>
<string name="date_and_time" msgid="1788358029823431692">"Дата и время"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Прокси-сервер"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Очистить"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Рабочий профиль"</string>
<string name="private_space_title" msgid="7078627930195569767">"Личное пространство"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Папка, в которую можно прятать приложения"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Открыть, используя способ разблокировки экрана"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Вы можете спрятать приложения в папку, доступ к которой будет только у вас."</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Блокировка личного пространства"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Вы можете использовать тот же способ разблокировки, который используется для экрана, или выбрать другой."</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Использовать способ блокировки, как на устройстве"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Фейсконтроль и разблокировка по отпечатку пальца"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Нажмите, чтобы настроить"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Тот же способ блокировки, что и для экрана устройства"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Изменить способ блокировки личного пространства?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Скрывать, когда доступ заблокирован"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Скрыть личное пространство, если доступ к нему заблокирован"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Вы можете скрыть личное пространство из списка приложений"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Доступ к личному пространству, когда оно скрыто"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Введите запрос \"Личное пространство\" в строку поиска"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Выберите параметр \"Личное пространство\""</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Разблокируйте личное пространство"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Отключено"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Включено"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Система"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Создать личное пространство"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Удалить личное пространство"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Личное пространство создано."</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Личное пространство уже создано."</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Не удалось создать личное пространство."</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Личное пространство удалено."</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Не получилось удалить личное пространство."</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Настройте блокировку экрана"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Она нужна, чтобы использовать личное пространство."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Настроить"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Отмена"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Отмена"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Настройка"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Настройки личного пространства"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Если вы хотите, чтобы некоторые приложения были видны только вам, добавьте их в личное пространство"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Как это работает"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Вы можете перейти в личное пространство в нижней части списка приложений"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Доступ к приложениям в личном пространстве можно заблокировать"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Когда доступ к личному пространству заблокирован, уведомления из добавленных в него приложений скрываются."</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Когда доступ к личному пространству заблокирован, приложения в нем не видны в меню и панели управления разрешениями, а также в других настройках."</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Настройка личного пространства…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Когда личное пространство заблокировано, информация об использовании приложений в нем скрыта"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Открывайте личное пространство из списка приложений"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Не удалось создать личное пространство"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Повторите попытку или вернитесь позже."</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Повторить"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Использовать разблокировку экрана?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Вы можете использовать тот же способ разблокировки, который используется для экрана, или выбрать другой."</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Использовать блокировку экрана"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Выбрать другой способ"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Готово!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Готово"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Чтобы перейти в личное пространство, прокрутите экран вниз."</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Войдите в аккаунт, чтобы настроить личное пространство"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Чтобы настроить личное пространство, войдите в аккаунт."</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Чтобы показать личное пространство (интерфейс в разработке)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Откройте приложение \"Настройки\"."</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Выберите \"Безопасность и конфиденциальность > Личное пространство > Скрыть личное пространство, если доступ к нему заблокирован\"."</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Отключите переключатель \"Скрыть личное пространство, если доступ к нему заблокирован\"."</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Примечание для сотрудников Google. Разработка этой функции ещё не завершена."</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Максимальное количество отпечатков пальца, которые можно добавить: <xliff:g id="COUNT">%d</xliff:g>"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Вы уже добавили максимальное количество отпечатков"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Больше нельзя добавить отпечатки пальцев"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Подключить"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Отключить"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Установить соединение и подключить"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Функция Bluetooth позволяет устанавливать подключение к другим Bluetooth-устройствам."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Если Bluetooth включен, устройство может обмениваться данными с устройствами Bluetooth поблизости."</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Функция Bluetooth позволяет устанавливать подключение к устройствам Bluetooth поблизости.\n\nОбратите внимание, что для улучшения работы устройства, например повышения точности геолокации, приложения и сервисы могут искать устройства поблизости, даже если вы отключили Bluetooth. Чтобы запретить им это, отключите поиск устройств Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Изменить"</string>
<string name="device_details_title" msgid="1155622417516195481">"Об устройстве"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Разрешить ART проверять байт-код приложений, доступных для отладки"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Частота обновления"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Показывать текущую частоту обновления экрана"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Показывать отношение HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Показывать текущее отношение HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Запрашивать разблокировку устройства для использования NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Продолжать использовать приложения при складывании"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Плавный экран"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Автоматически увеличивать частоту обновления экрана до <xliff:g id="ID_1">%1$d</xliff:g> Гц для некоторых типов контента. При этом батарея будет разряжаться быстрее."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Использовать пиковую частоту обновления"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Высокая частота обновления экрана улучшает ответ на касания и делает анимацию более плавной. При этом батарея разряжается быстрее."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Адаптивный спящий режим"</string>
@@ -1225,8 +1209,8 @@
<string name="force_bold_text" msgid="4620929631102086716">"Полужирный шрифт"</string>
<string name="title_font_size" msgid="570613010306330622">"Размер шрифта"</string>
<string name="short_summary_font_size" msgid="8444689613442419978">"Изменение размера текста"</string>
- <string name="sim_lock_settings" msgid="7331982427303002613">"Настройки привязки к региону/оператору"</string>
- <string name="sim_lock_settings_category" msgid="6475255139493877786">"Привязка к региону или оператору"</string>
+ <string name="sim_lock_settings" msgid="7331982427303002613">"Настройки блокировки SIM-карты"</string>
+ <string name="sim_lock_settings_category" msgid="6475255139493877786">"Блокировка SIM-карты"</string>
<string name="sim_pin_toggle" msgid="6814489621760857328">"Блокировать SIM-карту"</string>
<string name="sim_pin_change" msgid="5978881209990507379">"Изменить PIN-код SIM-карты"</string>
<string name="sim_enter_pin" msgid="8235202785516053253">"PIN-код SIM-карты"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Совместные настройки"</string>
<string name="apn_settings" msgid="4295467389400441299">"Точки доступа"</string>
<string name="apn_edit" msgid="2003683641840248741">"Изменить точку доступа"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Добавить точку доступа"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Не задано"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Не указано"</string>
<string name="apn_name" msgid="6677695784108157953">"Название"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Используйте кнопку специальных возможностей"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Для запуска удерживайте кнопки громкости"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Для запуска нажмите трижды на экран"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Чтобы открыть, трижды нажмите на экран двумя пальцами"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Используйте жесты"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Используйте жест специальных возможностей"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Чтобы включить эту функцию, нажмите кнопку специальных возможностей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> в нижней части экрана.\n\nДля переключения между функциями нажмите и удерживайте эту кнопку."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Чтобы включить эту функцию, нажмите кнопку специальных возможностей."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Чтобы включить эту функцию, нажмите и удерживайте обе кнопки регулировки громкости."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Чтобы включить или отключить увеличение, трижды нажмите на любую область экрана."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Чтобы включить или отключить увеличение, трижды нажмите на любую область экрана двумя пальцами."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Чтобы включить эту функцию, проведите вверх от нижнего края экрана двумя пальцами.\n\nДля переключения между функциями проведите по экрану снизу вверх двумя пальцами и задержите их."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Чтобы включить эту функцию, проведите вверх от нижнего края экрана тремя пальцами.\n\nДля переключения между функциями проведите по экрану снизу вверх тремя пальцами и задержите их."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Чтобы воспользоваться специальной возможностью, проведите вверх от нижнего края экрана двумя пальцами.\n\nДля переключения между функциями проведите по экрану снизу вверх двумя пальцами и задержите их."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Удерживать кнопки регулировки громкости"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"удерживание кнопок регулировки громкости"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Нажмите и удерживайте обе кнопки регулировки громкости"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Тройное нажатие двумя пальцами"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"тройное нажатие двумя пальцами"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Быстро нажмите на экран двумя пальцами {0,number,integer} раза"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Тройное нажатие на экран"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"тройное нажатие на экран"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Быстро коснитесь экрана {0,number,integer} раза (этот жест может замедлить работу устройства)."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Сервис может отслеживать ваше взаимодействие с приложениями и датчиками устройства и давать приложениям команды от вашего имени"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Разрешить"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Отклонить"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Остановить"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Отмена"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Остановить сервис \"<xliff:g id="SERVICE">%1$s</xliff:g>\"?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Чтобы отключить сервис \"<xliff:g id="SERVICE">%2$s</xliff:g>\", нажмите \"<xliff:g id="STOP">%1$s</xliff:g>\"."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Службы не установлены"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Сервис не выбран"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Нет описания"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Это действие может привести к неправильной работе приложения."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Оптимизация расхода заряда батареи для этого приложения не настроена.\n\nВключите ее, чтобы установить ограничения."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Управление расходом заряда"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Разрешить использование в фоновом режиме"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Включите, чтобы получать обновления в реальном времени, или отключите, чтобы снизить расход заряда."</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Без ограничений"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"С оптимизацией"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ограничено"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Название"</string>
<string name="vpn_type" msgid="5533202873260826663">"Тип"</string>
<string name="vpn_server" msgid="2908816134941973935">"Адрес сервера"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Шифрование PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Ключ L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Идентификатор IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Общий ключ IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Сертификат пользователя IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Сертификат ЦС IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Сертификат сервера IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Дополнительные параметры"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Домены для поиска DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-серверы (например, 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Маршруты пересылки (например, 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Имя пользователя"</string>
<string name="vpn_password" msgid="1183746907642628127">"Пароль"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Сохранить учетные данные"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(не используется)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(не проверять сервер)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(получено с сервера)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Такая сеть VPN не может быть постоянной"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Постоянная VPN поддерживает только числовые адреса серверов"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Для постоянной VPN-сети должен быть задан DNS-сервер"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Для постоянной VPN-сети адрес DNS-сервера должен быть числовым"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Исходя из введенной информации, эта VPN не может использоваться как постоянная"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Отмена"</string>
<string name="vpn_done" msgid="5137858784289564985">"Закрыть"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Блокировать соединения без VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Использовать сеть VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Эта сеть VPN не защищена. Перейдите на IKEv2 VPN."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Выберите постоянную сеть VPN: трафик будет разрешен только при подключении к этой сети."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Не использовать"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Укажите IP-адрес для сервера и DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Показывать уведомления полностью"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Показывать конфиденциальные данные только после разблокировки"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Не показывать уведомления"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Настройте показ уведомлений на заблокированном экране."</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Как показывать уведомления на заблокированном экране?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Заблокированный экран"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Показывать рабочие уведомления полностью"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Скрыть конфиденциальные рабочие данные"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Разрешить доступ к управлению всеми файлами"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Приложение сможет читать, изменять и удалять все файлы на этом устройстве и любых подключенных носителях. Доступ к файлам будет осуществляться без дополнительного уведомления."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Приложения, имеющие доступ ко всем файлам"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Приложения, включающиеся голосом"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Разрешить активацию голосом"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Вы сможете запускать выбранные приложения с помощью голосовых команд. Благодаря встроенной адаптивной системе распознавания доступ к вашим данным будет только у вас.\n\nПодробнее "<a href="">"о защищенном адаптивном распознавании"</a>"…"</string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Уведомления в полноэкранном режиме"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Разрешить уведомления в полноэкранном режиме от этого приложения"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Разрешить этому приложению показывать уведомления в полноэкранном режиме, когда устройство заблокировано. Так приложение сможет сообщать о будильниках, входящих вызовах и других срочных уведомлениях."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"У приложения \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" энергопотребление в фоновом режиме выше, чем обычно"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"У приложения \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" высокое энергопотребление в активном режиме"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"У приложения \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" энергопотребление в активном режиме выше, чем обычно"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Ненормальный расход заряда батареи"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Высокий расход заряда батареи"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Высокий расход заряда батареи в фоновом режиме"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Высокий расход заряда батареи в активном режиме"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"навигация в системе, навигация с помощью двух кнопок, навигация с помощью трех кнопок, навигация с помощью жестов, пролистывание"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Цифровой помощник"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Жест вызова помощника"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Чтобы вызвать цифрового помощника, проведите по экрану из нижнего угла вверх"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Чтобы вызвать цифрового помощника, проведите вверх из нижнего угла экрана."</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Чтобы вызвать Ассистента, удерживайте кнопку главного экрана"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Чтобы вызвать цифрового помощника, нажмите и удерживайте кнопку главного экрана."</string>
<string name="low_label" msgid="6525629096999711220">"Низкая"</string>
@@ -4959,10 +4944,10 @@
<string name="about_phone_device_name_warning" msgid="3243226572404472381">"Название устройства доступно установленным приложениям. Его также могут видеть другие пользователи, когда вы подключаетесь к устройствам Bluetooth и сетям Wi-Fi или настраиваете точку доступа Wi-Fi."</string>
<string name="grammatical_gender_title" msgid="8584242850477270828">"Грамматический род"</string>
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Выберите грамматический род"</string>
- <string name="content_protection_preference_title" msgid="5069260032659193074">"Сканировать на наличие мошеннических приложений"</string>
+ <string name="content_protection_preference_title" msgid="5069260032659193074">"Сканировать на наличие приложений, вводящих в заблуждение"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Проверять историю действий в приложении на фишинг"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Сканировать"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Сканировать рабочие приложения"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Сканировать на наличие вводящих в заблуждение приложений"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Сканировать на наличие вводящих в заблуждение приложений для работы"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 8cbc852..48f1a40 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"පන්හිඳ"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ශ්රව්ය බෙදා ගැනීම"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ශ්රව්ය බෙදා ගන්න"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ඇමතුම් සහ එලාම්"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ශ්රව්ය ප්රවාහයකට සම්බන්ධ වන්න"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"අවට ශ්රව්ය ප්රවාහ"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"ශ්රව්ය ප්රවාහ"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR කේතය භාවිතයෙන් ශ්රව්ය ප්රවාහයකට සම්බන්ධ වන්න"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"අවට ශ්රව්ය ප්රවාහ කිසිවක් හමු නොවිණි."</string>
<string name="date_and_time" msgid="1788358029823431692">"දිනය සහ වේලාව"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"නියුතු"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"හිස් කරන්න"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"කාර්යාල පැතිකඩ"</string>
<string name="private_space_title" msgid="7078627930195569767">"පෞද්ගලික ඉඩ"</string>
<string name="private_space_summary" msgid="8237652417163408001">"පෞද්ගලික ෆෝල්ඩරයක යෙදුම් සඟවන්න"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"තිර අගුල භාවිතයෙන් අගුළු හරින්න"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"ඔබට පමණක් ප්රවේශ විය හැකි පෞද්ගලික ෆෝල්ඩරයක යෙදුම් සඟවන්න"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"පෞද්ගලික අවකාශ අගුල"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"ඔබට ඔබේ උපාංගය අගුළු හරින ආකාරයටම පෞද්ගලික අවකාශය අගුළු ඇරීමට හෝ වෙනත් අගුලක් තෝරා ගැනීමට හැක"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"උපාංග තිර අගුල භාවිතා කරන්න"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"මුහුණ සහ ඇඟිලි සලකුණු අගුළු හැරීම"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"පිහිටුවීමට තට්ටු කරන්න"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"උපාංග තිර අගුලට සමාන"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"පෞද්ගලික අවකාශය සඳහා නව අගුලක් තෝරා ගන්න ද?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"අගුළු දැමූ විට සඟවන්න"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"අගුළු දමා ඇති විට පෞද්ගලික අවකාශය සඟවන්න"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ඔබේ උපාංගයෙහි පෞද්ගලික අවකාශය ඇති බව වෙනත් පුද්ගලයින් දැන ගැනීම නැවැත්වීමට, ඔබට එය ඔබේ යෙදුම් ලැයිස්තුවෙන් සැඟවිය හැක"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"සැඟවුණු විට පෞද්ගලික අවකාශයට ප්රවේශ වන්න"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"සෙවීම් තීරුවේ \'පෞද්ගලික අවකාශය\' සඳහා සොයන්න"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"පෞද්ගලික අවකාශයේ ටයිලය තට්ටු කරන්න"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"ඔබේ පෞද්ගලික අවකාශය අගුළු හරින්න"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ක්රියාවිරහිතයි"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ක්රියාත්මකයි"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"පද්ධතිය"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"පෞද්ගලික ඉඩ තනන්න"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"පෞද්ගලික ඉඩ මකන්න"</string>
- <string name="private_space_created" msgid="2978055968937762232">"පෞද්ගලික ඉඩ සාර්ථකව තනන ලදි"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"පෞද්ගලික ඉඩ දැනටමත් පවතී"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"පෞද්ගලික ඉඩ තැනීම කළ නොහැක"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"පෞද්ගලික ඉඩ සාර්ථකව මකා ඇත"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"පෞද්ගලික ඉඩ මැකීමට නොහැකි විය"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"තිර අගුලක් සකසන්න"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"පෞද්ගලික අවකාශය භාවිතා කිරීමට, මෙම උපාංගයේ තිර අගුලක් සකසන්න."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"තිර අගුල සකසන්න"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"අවලංගු කරන්න"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"අවලංගු කරන්න"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"පිහිටුවන්න"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"පෞද්ගලික අවකාශය පිහිටුවන්න"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"ඔබට පමණක් ප්රවේශ විය හැකි සුරක්ෂිත ඉඩක පෞද්ගලික යෙදුම් සඟවන්න"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"එය ක්රියා කරන ආකාරය"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"ඔබට ඔබේ යෙදුම් ලැයිස්තුවේ පහළින් පෞද්ගලික අවකාශය වෙත ප්රවේශ විය හැක"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"පෞද්ගලික අවකාශයේ යෙදුම් අගුලකින් ආරක්ෂා කර ඇත"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"පෞද්ගලික අවකාශය තුළ යෙදුම්වලින් ලැබෙන දැනුම්දීම් එය අගුළු දමා ඇති විට සඟවනු ලැබේ"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"පෞද්ගලික අවකාශය අගුළු දමා ඇති විට අවසර කළමනාකරු, පෞද්ගලිකත්ව උපකරණ පුවරුව, සහ වෙනත් සැකසීම් තුළ පෞද්ගලික අවකාශ යෙදුම් දිස් නොවනු ඇත"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"පෞද්ගලික අවකාශය පිහිටුවමින්…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"පෞද්ගලික අවකාශ යෙදුම් සඳහා භාවිත තොරතුරු එය අගුළු දමා ඇති විට සඟවා ඇත"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"ඔබේ යෙදුම් ලැයිස්තුවෙන් පෞද්ගලික අවකාශය වෙත ප්රවේශ වන්න"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"පෞද්ගලික අවකාශය පිහිටුවීමට නොහැකි විය"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"දැන් නැවත උත්සාහ කරන්න, නැතහොත් පසුව ආපසු එන්න"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"නැවත උත්සාහ කරන්න"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"අගුළු හැරීමට තිර අගුල භාවිත කරන්න ද?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"ඔබට ඔබේ උපාංගය අගුළු හරින ආකාරයටම පෞද්ගලික අවකාශය අගුළු ඇරීමට හෝ වෙනත් අගුලක් තෝරා ගැනීමට හැක"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"තිර අගුල භාවිතා කරන්න"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"නව අගුලක් තෝරා ගන්න"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"සියල්ල සූදානම්!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"නිමයි"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"පෞද්ගලික අවකාශයට ප්රවේශ වීමට පහළට අනුචලනය කරන්න"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"පෞද්ගලික ඉඩ සැකසීමට පුරන්න"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"පෞද්ගලික අවකාශය පිහිටුවීම සඳහා ඔබට ගිණුමකට පුරනය වීමට අවශ්ය වේ"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"පෞද්ගලික අවකාශය පෙන්වීමට (අවසාන UX නොවේ)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"සැකසීම් යෙදුම විවෘත කරන්න"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"ආරක්ෂාව සහ පෞද්ගලිකත්වය > පෞද්ගලික අවකාශය > අගුළු දමා ඇති විට පෞද්ගලික අවකාශය සඟවන්න මත තට්ටු කරන්න"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"ටොගල් අගුළු දැමූ විට පෞද්ගලික අවකාශය සැඟවීම ක්රියා විරහිත කරන්න"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"ගූගල්කරුවන් වෙත සටහන: මෙම විශේෂාංගයේ සංවර්ධනය තවමත් සිදු වෙමින් පවතී"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"ඔබට ඇඟිලි සලකුණු <xliff:g id="COUNT">%d</xliff:g> දක්වා එකතු කළ හැකිය"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"ඔබ ඇඟිලි සලකුණු උපරිම සංඛ්යාව එක් කර ඇත"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"තවත් ඇඟිලි සලකුණු එක් කළ නොහැකිය"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"සම්බන්ධ කරන්න"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"විසන්ධි කරන්න"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"යුගල කරන්න සහ සම්බන්ධ කරන්න"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"බ්ලූටූත් සබල විට, ඔබගේ උපාංගයට අවට ඇති බ්ලූටූත් උපාංග සමඟ සන්නිවේදනය කළ හැක."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"බ්ලූටූත් ක්රියාත්මක විට, ඔබේ උපාංගයට අවට ඇති බ්ලූටූත් උපාංග සමග සන්නිවේදනය කළ හැක"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"බ්ලූටූත් ක්රියාත්මක විට, ඔබේ උපාංගයට වෙනත් අවට බ්ලූටූත් උපාංග සමග සන්නිවේදනය කළ හැක.\n\nඋපාංග අත්දැකීම වැඩි දියුණු කිරීම සඳහා, යෙදුම් සහ සේවාවලට බ්ලූටූත් ක්රියාවිරහිත වූ විට පවා, ඕනෑම වේලාවක දී අවට උපාංග සඳහා ස්කෑන් කළ හැක. උදාහරණයක් ලෙස, ස්ථානය පදනම් වූ විශේෂාංග සහ සේවා වැඩි දියුණු කිරීමට මෙය භාවිතා කළ හැක. ඔබට මෙය බ්ලූටූත් ස්කෑන් කිරීමේ සැකසීම් තුළ වෙනස් කළ හැක."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"වෙනස් කරන්න"</string>
<string name="device_details_title" msgid="1155622417516195481">"උපාංග විස්තර"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"දෝෂ නිරාකරණ කළ හැකි යෙදුම් සඳහා බයිට්කේතය සත්යාපන කිරීමට ART හට ඉඩ දෙන්න"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"නැවුම් අනුපාතය පෙන්වන්න"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"වත්මන් සංදර්ශක නැවුම් කිරීමේ අනුපාතය පෙන්වන්න"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR අනුපාතය පෙන්වන්න"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"වත්මන් HDR/SDR අනුපාතය පෙන්වන්න"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC සඳහා උපාංග අගුලු ඇරීම අවශ්යය"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android බීම්"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"නැවීම මත යෙදුම් භාවිතය දිගටම කරගෙන යන්න"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"සුමට සංදර්ශකය"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"සමහර අන්තර්ගතය සඳහා නැවුම් කිරීමේ අනුපාතය <xliff:g id="ID_1">%1$d</xliff:g> දක්වා ස්වයංක්රීයව ඉහළ නංවයි. බැටරි භාවිතය වැඩි කරයි."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"කාර්යබහුල යළි නැවුම් කිරීමේ අනුපාතය බල කරන්න"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"වැඩි දියුණු කළ ස්පර්ශ ප්රතිචාර සඳහා ඉහළම යළි නැවුම් කිරීමේ අනුපාතය සහ සජීවිකරණ ගුණාත්මකභාවය. බැටරි භාවිතය වැඩි කරයි."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"තිර අවධානය"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"වාර්ගික සැකසීම්"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"ප්රවේශ ස්ථානය සංස්කරණය"</string>
+ <string name="apn_add" msgid="9069613192201630934">"ප්රවේශ ස්ථානය එක් කරන්න"</string>
<string name="apn_not_set" msgid="8246646433109750293">"පිහිටුවා නැත"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"සකසා නැත"</string>
<string name="apn_name" msgid="6677695784108157953">"නම"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"විවෘත කිරීමට ප්රවේශ්යතා බොත්තම භාවිත කරන්න"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"විවෘත කිරීමට හඬ පරිමා යතුරු අල්ලාගෙන සිටින්න"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"විවෘත කිරීමට තිරය තෙවරක් තට්ටු කරන්න"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"විවෘත කිරීමට ඇඟිලි දෙකකින් තිරය තට්ටු කරන්න"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"විවෘත කිරීමට ඉංගිතය භාවිත කරන්න"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ප්රවේශ්යතා ඉංගිතය භාවිත කරන්න"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"මෙම විශේෂාංගය භාවිත කිරීමට, ඔබේ තිරයේ පහළ ඇති <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ප්රවේශ්යතා බොත්තම තට්ටු කරන්න.\n\nවිශේෂාංග අතර මාරු වීමට, ප්රවේශ්යතා බොත්තම ස්පර්ශ කර අල්ලාගෙන සිටින්න."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"මෙම විශේෂාංගය භාවිත කිරීමට, ඔබගේ තිරයේ ඇති ප්රවේශ්යතා බොත්තම තට්ටු කරන්න."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"මෙම විශේෂාංගය භාවිත කිරීමට, හඬ පරිමා යතුරු දෙකම ඔබා අල්ලාගෙන සිටින්න"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"විශාලනය ආරම්භ කිරීමට සහ නතර කිරීමට, ඔබේ තිරයේ ඕනෑම තැනක තෙවරක් තට්ටු කරන්න."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"විශාලනය ආරම්භ කිරීමට සහ නැවැත්වීමට, ඇඟිලි දෙකකින් ඔබේ තිරයේ ඕනෑම තැනක තෙවරක් තට්ටු කරන්න."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"මෙම විශේෂාංගය භාවිත කිරීමට, ඇඟිලි 2කින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න.\n\nවිශේෂාංග අතර මාරු වීමට, ඇඟිලි 2කින් ඉහළට ස්වයිප් කර අල්ලාගෙන සිටින්න."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"මෙම විශේෂාංගය භාවිත කිරීමට, ඇඟිලි 3කින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න.\n\nවිශේෂාංග අතර මාරු වීමට, ඇඟිලි 3කින් ඉහළට ස්වයිප් කර අල්ලාගෙන සිටින්න."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ප්රවේශ්යතා විශේෂාංගයක් භාවිත කිරීමට, ඇඟිලි 2කින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න.\n\nවිශේෂාංග අතර මාරු වීමට, ඇඟිලි 2කින් ඉහළට ස්වයිප් කර අල්ලාගෙන සිටින්න."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"හඬ පරිමා යතුරු අල්ලාගන්න"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"හඬ පරිමා යතුරු අල්ලාගන්න"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"හඬ පරිමා යතුරු දෙකම ඔබා අල්ලාගෙන සිටින්න"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"ඇඟිලි දෙකේ ත්රිත්ව තට්ටු තිරය"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ඇඟිලි දෙකේ ත්රිත්ව තට්ටු තිරය"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"ඇඟිලි දෙකකින් තිරය {0,number,integer} වාරයක් ඉක්මනින් තට්ටු කරන්න"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"තිරය තෙවරක් තට්ටු කරන්න"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"තිරය තෙවරක් තට්ටු කරන්න"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"තිරය ඉක්මනින් වාර {0,number,integer}ක් තට්ටු කරන්න. මෙම කෙටි මග ඔබගේ උපාංගය මන්දගාමී කළ හැකිය"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"මෙයට යෙදුමක් හෝ දෘඪාංග සංවේදකයක් සමඟ ඔබේ අන්තර්ක්රියා හඹා යෑමට, සහ ඔබ වෙනුවෙන් යෙදුම් සමඟ අන්තර්ක්රියාවේ යෙදීමට හැකි ය."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"ඉඩ දෙන්න"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ප්රතික්ෂේප කරන්න"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"නවත්වන්න"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"අවලංගු කරන්න"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> නවත්වන්නද?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> ට තට්ටු කිරීම <xliff:g id="SERVICE">%2$s</xliff:g> නවත්වයි."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"සේවා ස්ථාපනය කර නැත"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"සේවාවක් තෝරාගෙන නැත"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"කිසිඳු විස්තරයක් සපයා නොමැත."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ඔබ යෙදුමක පසුබිම් ක්රියාකාරිත්වය සීමා කළහොත්, එය වැරදි ලෙස ක්රියා කරනු ඇත"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"මෙම යෙදුම බැටරිය ප්රශස්ත කිරීමට සකසා නැති නිසා, ඔබට එය සීමා කළ නොහැකිය. \n\nයෙදුම සීමා කිරීම සඳහා, පළමුව බැටරි ප්රශස්තකරණය ක්රියාත්මක කරන්න."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"බැටරි භාවිතය කළමනාකරණය"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"පසුබිම් භාවිතයට ඉඩ දෙන්න"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"සැබෑ කාලීන යාවත්කාලීන සඳහා සබල කරන්න, බැටරිය සුරැකීමට අබල කරන්න"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"සීමා නොකළ"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ප්රශස්ත කළ"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"සීමා කළ"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"නම"</string>
<string name="vpn_type" msgid="5533202873260826663">"වර්ගය"</string>
<string name="vpn_server" msgid="2908816134941973935">"සේවාදායක ලිපිනය"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP සංකේතනය (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP රහස"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec හඳුනා ගැනීම"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec පෙර හුවමාරු යතුර"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec පරිශීලක සහතිකය"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA සහතිකය"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec සේවාදායක සහතිකය"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"උසස් විකල්ප පෙන්වන්න"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS සෙවීම් වසම්"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS සේවාදායකයන් (උදා. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"ඉදිරියට යැවීමේ මාර්ග (උදා. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"පරිශීලක නාමය"</string>
<string name="vpn_password" msgid="1183746907642628127">"මුරපදය"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"ගිණුම් තොරතුරු සුරකින්න"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(භාවිතා කර නොමැති)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(සේවාදායකය සත්යාපනය නොකරන්න)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(සේවාදායකයෙන් ලැබුණ)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"මෙම VPN වර්ගය වෙත සැම විටම සම්බන්ධ වී සිටීමට නොහැක"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"සැම විට ක්රියාත්මක VPN සහය දක්වන්නේ සංඛ්යාත්මක සේවාදායක ලිපින පමණි"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"සැම විට ක්රියාත්මක VPN එකක් සඳහා DNS සේවාදායකයක් සඳහන් කළ යුතුයි"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"සැම විට ක්රියාත්මක VPN සඳහා DNS සේවාදායක ලිපින සැමවිටම සංඛ්යාත්මක විය යුතුය"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ඇතුලත් කළ තොරතුරු වෙත සැම විට ක්රියාත්මක VPN සඳහා සහාය නොදක්වයි"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"අවලංගු කරන්න"</string>
<string name="vpn_done" msgid="5137858784289564985">"ඉවත ලන්න"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN නොමැතිව සම්බන්ධතා අවහිර කිරීම"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN සම්බන්ධතාව අවශ්යද?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"සුරක්ෂිත නැත. IKEv2 VPN කට යාවත්කාලීන කරන්න"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"සෑම විටම සම්බන්ධ වී පැවතීමට VPN පැතිකඩක් තෝරන්න. මෙම VPN හා සම්බන්ධවී ඇතිවිට පමණක් ජාල ගමනාගමනයට අවසර ඇත."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"කිසිවක් නැත"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"සේවාදායක සහ DNS සඳහා සෑම විටම සක්රිය VPN සඳහා IP ලිපිනයක් අවශ්ය වේ."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"සියලුම දැනුම්දීමේ අන්තර්ගත පෙන්වන්න"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"අඟුලු ඇර තිබියදී පමණක් සංවේදී අන්තර්ගතය පෙන්වන්න"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"කිසිවිටක දැනුම්දීම් පෙන්වන්න එපා"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ඔබට අඟුලු තිරය සංදර්ශන විය යුත්තේ කෙසේද?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ඔබට ඔබේ අගුළු තිරය පෙන්වීමට අවශ්ය කුමක් ද?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"අඟුලු තිරය"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"සියලු කාර්යාල දැනුම්දීම් අන්තර්ගතය පෙන්වන්න"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"සංවේදී වැඩ අන්තර්ගතය සඟවන්න"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"සියලු ගොනු කළමනාකරණය කිරීමට ප්රවේශය ඉඩ දෙන්න"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"මෙම යෙදුමට මෙම උපාංගයේ හෝ ඕනෑම සබැඳුණු ගබඩා ධාරිතාවක ඇති සියලු ගොනු කියවීමට, වෙනස් කිරීමට සහ මැකීමට ඉඩ දෙන්න. ප්රදානය කළහොත්, ඔබේ ප්රකාශිත දැනුම රහිතව යෙදුමට ගොනු වෙත ප්රවේශ විය හැකිය."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"සියලු ගොනු වෙත ප්රවේශ විය හැකිය"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"හඬ සක්රිය කිරීමේ යෙදුම්"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"හඬ සක්රිය කිරීමට ඉඩ දෙන්න"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"හඬ ක්රියාත්මක කිරීම හඬ විධානය භාවිත කර අනුමත යෙදුම්, දෑත් නොයොදන සක්රීය කරයි. තිළැලි අනුවර්තන සංවේදනය දත්ත ඔබට පමණක් පුද්ගලිකව පවතින බව සහතික කරයි.\n\n"<a href="">"ආරක්ෂිත අනුවර්තන සංවේදනය පිළිබඳ තව විස්තර"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"පූර්ණ තිර දැනුම්දීම්"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"මෙම යෙදුමෙන් පූර්ණ තිර දැනුම්දීම්වලට ඉඩ දෙන්න"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"උපාංගය අගුළු දමා ඇති විට පූර්ණ තිරය ගන්නා දැනුම්දීම් පෙන්වීමට මෙම යෙදුමට ඉඩ දෙන්න. එලාම්, එන ඇමතුම්, හෝ වෙනත් හදිසි දැනුම්දීම් උද්දීපනය කිරීමට යෙදුම් මේවා භාවිතා කිරීමට ඉඩ ඇත."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> පසුබිමේ තිබියදී වෙනදාට වඩා බැටරිය භාවිත කරන ලදි"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> පෙරබිමේ තිබියදී වැඩි බැටරියක් භාවිත කරන ලදි"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> පෙරබිමේ තිබියදී වෙනදාට වඩා බැටරිය භාවිත කරන ලදි"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"බැටරි භාවිතයේ අක්රමිකතාව"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"ඉහළ බැටරි භාවිතය"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"පසුබිමේ ඉහළ බැටරි භාවිතය"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"පෙරබිමෙහි ඉහළ බැටරි භාවිතය"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"පද්ධති සංචාලනය, බොත්තම්-2 සංචාලනය, බොත්තම්-3 සංචාලනය, අභින සංචාලනය, ස්වයිප් කිරීම"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ඩිජිටල් සහායක"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"සහායක ඉල්ලීමට ස්වයිප් කරන්න"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ඩිජිටල් සහායක යෙදුම ඉල්ලීමට පහළ කෙළවරේ සිට ඉහළට ස්වයිප් කරන්න."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ඩිජිටල් සහායක යෙදුම ඉල්ලීමට පහළ කෙළවරේ සිට ඉහළට ස්වයිප් කරන්න"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"සහායක සඳහා මුල් පිටුව අල්ලාගෙන සිටින්න"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ඩිජිටල් සහායක යෙදුම ආරම්භ කිරීමට මුල් පිටු බොත්තම ඔබා අල්ලාගෙන සිටින්න."</string>
<string name="low_label" msgid="6525629096999711220">"අඩු"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ව්යාකරණමය ලිංගභේදය තෝරන්න"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"රැවටිලිකාර යෙදුම් සඳහා ස්කෑන් කිරීම"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"තතුබෑම් සඳහා යෙදුම් ක්රියාකාරකම් පරීක්ෂා කරන්න"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"ස්කෑන් කිරීම භාවිතා කරන්න"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"කාර්යාල යෙදුම් සඳහා ස්කෑන් කිරීම භාවිත කරන්න"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"රැවටිලිකාර යෙදුම් සඳහා ස්කෑන් කිරීම භාවිතා කරන්න"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"වැඩ සඳහා රැවටිලිකාර යෙදුම් සඳහා ස්කෑන් කිරීම භාවිතා කරන්න"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 99b52cd..66304ac 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Dotykové pero"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Zdieľanie zvuku"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Zdieľať zvuk"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Hovory a budíky"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Pripojenie k zvukovému streamu LE"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Zvukové streamy v okolí"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Zvukové streamy"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Pripojte sa k zvukovému streamu pomocou QR kódu"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"V okolí sa nenašli zvukové streamy."</string>
<string name="date_and_time" msgid="1788358029823431692">"Dátum a čas"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy server"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Vymazať"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Pracovný profil"</string>
<string name="private_space_title" msgid="7078627930195569767">"Súkromný priestor"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Skrytie aplikácií do súkromného priečinka"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Odomknutie zámkou obrazovky"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Skryte aplikácie do súkromného priečinka, do ktorého máte prístup iba vy"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Zámka súkromného priestoru"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Súkromný priestor môžete uzamknúť rovnakým spôsobom ako svoje zariadenie, prípadne môžete vybrať inú zámku"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Používať zámku obrazovky zariadenia"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Odomknutie tvárou a odtlačkom prsta"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Nastavíte klepnutím"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Rovnaká ako zámka obrazovky zariadenia"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Chcete pre súkromný priestor vybrať novú zámku?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Skryť pri uzamknutí"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Skrytie súkromného priestoru pri uzamknutí"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Ak chcete zabrániť ostatným ľuďom, aby sa dozvedeli, že v zariadení máte Súkromný priestor, môžete ho skryť zo zoznamu aplikácií"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Prístup do Súkromného priestoru, keď je skrytý"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Vyhľadajte vo vyhľadávacom paneli položku Súkromný priestor"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Klepnutím zobrazíte dlaždicu Súkromného priestoru"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Odomknite svoj Súkromný priestor"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Vypnuté"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Zapnuté"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Systém"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Vytvorenie súkromného priestoru"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Odstránenie súkromného priestoru"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Súkromný priestor bol úspešne vytvorený"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Súkromný priestor už existuje"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Súkromný priestor sa nepodarilo vytvoriť"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Súkromný priestor bol úspešne odstránený"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Súkromný priestor sa nepodarilo odstrániť"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Nastavte zámku obrazovky"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Ak chcete používať Súkromný priestor, nastavte v tomto zariadení zámku obrazovky."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Nastaviť zámku obrazovky"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Zrušiť"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Zrušiť"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Nastaviť"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Nastavenie Súkromného priestoru"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Skryte súkromné aplikácie do zabezpečeného priestoru, ku ktorému máte prístup len vy"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Ako to funguje"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Do Súkromného priestoru môžete prejsť z dolnej časti zoznamu aplikácií"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Aplikácie v súkromnom priestore sú chránené zámkou"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Keď je súkromný priestor uzamknutý, upozornenia z jeho aplikácií sú skryté"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Keď je súkromný priestor uzamknutý, jeho aplikácie sa nebudú zobrazovať v sekcii Správca povolení, na paneli ochrany súkromia ani v ďalších nastaveniach"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Nastavuje sa súkromný priestor…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Keď je súkromný priestor uzamknutý, informácie o využití jeho aplikácií sú skryté"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Prístup k súkromnému priestoru v zozname aplikácií"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Súkromný priestor sa nepodarilo nastaviť"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Skúste to znova alebo sa vráťte neskôr"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Skúsiť znova"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Chcete odomykať pomocou zámky obrazovky?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Súkromný priestor môžete uzamknúť rovnakým spôsobom ako svoje zariadenie, prípadne môžete vybrať inú zámku"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Používať zámku obrazovky"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Vybrať novú zámku"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Hotovo!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Hotovo"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Posunutím nadol získajte prístup k súkromnému priestoru"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Prihláste sa a nastavte súkromný priestor"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Ak chcete nastaviť súkromný priestor, musíte sa prihlásiť do účtu"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Na zobr. súkr. priestoru (nejde o finálne použ. prostredie)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Otvorte aplikáciu Nastavenia"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Klepnite na položky Zabezpečenie a ochrana súkromia > Súkromný priestor > Skrytie súkromného priestoru pri uzamknutí"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Vypnite prepínač Skrytie súkromného priestoru pri uzamknutí"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Poznámka pre googlerov: túto funkciu stále vyvíjame"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Maximálny počet odtlačkov, ktoré môžete pridať: <xliff:g id="COUNT">%d</xliff:g>"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Pridali ste maximálny počet odtlačkov prstov"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nie je možné pridať ďalšie odtlačky prstov"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Pripojiť"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Odpojiť"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Spárovať a pripojiť"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Keď je zapnuté pripojenie Bluetooth, zariadenie môže komunikovať s ostatnými zariadeniami s funkciou Bluetooth v okolí."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Keď je zapnuté rozhranie Bluetooth, zariadenie môže komunikovať s ostatnými zariadeniami s rozhraním Bluetooth v okolí"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Keď je zapnuté rozhranie Bluetooth, zariadenie môže komunikovať s ostatnými zariadeniami s rozhraním Bluetooth v okolí.\n\nNa zlepšenie prostredia zariadenia môžu aplikácie a služby kedykoľvek vyhľadávať zariadenia v okolí, a to aj vtedy, keď je rozhranie Bluetooth vypnuté. Vďaka tomu je napríklad možné zlepšiť funkcie a služby podmienené polohou. Môžete to zmeniť v nastaveniach vyhľadávania rozhraním Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Zmeniť"</string>
<string name="device_details_title" msgid="1155622417516195481">"O zariadení"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Povoliť nástroju ART overovať bajtkód laditeľných aplikácií"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Zobraziť frekvenciu obnovenia"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Zobraziť aktuálnu frekvenciu obnovenia obrazovky"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Zobrazovať pomer HDR a SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Zobrazovať aktuálny pomer HDR a SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Vyžadovať odomknutie zariadenia pre NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Pokračovať v používaní aplikácií po zložení"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Plynulý obraz"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automaticky zvýši frekvenciu obnovenia v prípade určitého obsahu až na <xliff:g id="ID_1">%1$d</xliff:g> Hz. Zvýši sa spotreba batérie."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Vynútiť vrcholovú frekvenciu obnovenia"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Najvyššia frekvencia obnovenia zlepšujúca dotykovú odozvu a kvalitu animácií. Zvýši sa spotreba batérie."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Vnímavá obrazovka"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Spoločné nastavenia"</string>
<string name="apn_settings" msgid="4295467389400441299">"Prístupové body"</string>
<string name="apn_edit" msgid="2003683641840248741">"Upraviť prístupový bod"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Pridanie prístupového bodu"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nenastavené"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nenastavené"</string>
<string name="apn_name" msgid="6677695784108157953">"Názov"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otváranie tlačidlom dostupnosti"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Otvorte pridržaním tlačidiel hlasitosti"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Otvorenie troma klepnutiami na obrazovku"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Otvorte trojitým klepnutím dvoma prstami na obrazovku"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otváranie gestom"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Použitie gesta dostupnosti"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Ak chcete použiť túto funkciu, klepnite na tlačidlo dostupnosti <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> v dolnej časti obrazovky.\n\nFunkcie prepnete pridržaním tlačidla dostupnosti."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Ak chcete túto funkciu použiť, klepnite na tlačidlo dostupnosti na obrazovke."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Túto funkciu použijete tak, že pridržíte obe tlačidlá hlasitosti."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Ak chcete spustiť alebo zastaviť zväčšenie, klepnite trikrát na ľubovoľné miesto na obrazovke."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Ak chcete spustiť či zastaviť zväčšenie, klepnite trikrát dvoma prstami kdekoľvek na obrazovku."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Ak chcete použiť túto funkciu, potiahnite dvoma prstami z dolnej časti obrazovky nahor.\n\nFunkcie prepnete potiahnutím dvoma prstami smerom nahor a pridržaním."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Ak chcete použiť túto funkciu, potiahnite troma prstami z dolnej časti obrazovky nahor.\n\nFunkcie prepnete potiahnutím troma prstami smerom nahor a pridržaním."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Ak chcete použiť funkciu dostupnosti, potiahnite dvoma prstami z dolnej časti obrazovky nahor.\n\nFunkcie prepnete potiahnutím dvoma prstami smerom nahor a pridržaním."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Pridržanie tlačidiel hlasitosti"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"podržanie tlačidiel hlasitosti"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Pridržte obe tlačidlá hlasitosti"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Trikrát klepnite dvoma prstami na obrazovku"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"trikrát klepnite dvoma prstami na obrazovku"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Rýchlo {0,number,integer}-krát klepnite dvoma prstami na obrazovku"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tri klepnutia na obrazovku"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"tri klepnutia na obrazovku"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"{0,number,integer}‑krát rýchlo klepnite na obrazovku. Táto skratka môže zariadenie spomaliť."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Môže sledovať vaše interakcie s aplikáciou alebo hardvérovým senzorom a interagovať s aplikáciami za vás."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Povoliť"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Zamietnuť"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Zastaviť"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Zrušiť"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Zastaviť službu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Klepnutím na <xliff:g id="STOP">%1$s</xliff:g> zastavíte službu <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nie sú nainštalované žiadne služby"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nie je vybratá žiadna služba"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"K dispozícii nie je žiadny popis."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ak obmedzíte aktivitu aplikácie na pozadí, nemusí fungovať správne"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Aplikácia nemá nastavenú optimalizáciu batérie, preto ju nemôžete obmedziť.\n\nAk ju chcete obmedziť, zapnite optimalizáciu."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Správa spotreby batérie"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Povolenie používania na pozadí"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Zapnite pre aktualizácie v reálnom čase, vypnite na úsporu batérie"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Bez obmedzení"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimalizované"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Obmedzené"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Názov"</string>
<string name="vpn_type" msgid="5533202873260826663">"Typ"</string>
<string name="vpn_server" msgid="2908816134941973935">"Adresa servera"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Šifrovanie PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Tajný kľúč L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identifikátor protokolu IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Predzdieľaný kľúč protokolu IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Používateľský certifikát protokolu IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certifikát CA protokolu IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certifikát servera IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Zobraziť rozšírené možnosti"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Vyhľadávacie domény DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Servery DNS (napr. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Presmerovávacie trasy (napr. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Používateľské meno"</string>
<string name="vpn_password" msgid="1183746907642628127">"Heslo"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Uložiť informácie o účte"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(nepoužité)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(neoverovať server)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(prijatý zo servera)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Tento typ siete VPN nemôže zostať neustále pripojený"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Vždy zapnuté siete VPN podporujú iba numerické adresy serverov"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Vždy zapnuté siete VPN musia mať uvedený server DNS"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Vždy zapnuté siete VPN musia mať numerické adresy serverov DNS"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Zadané informácie nepodporujú vždy zapnuté siete VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Zrušiť"</string>
<string name="vpn_done" msgid="5137858784289564985">"Zavrieť"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blokovať pripojenia bez siete VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Vyžadovať pripojenie VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nezabezpečené. Aktualizujte na IKEv2 VPN."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Vyberte profil VPN, ku ktorému chcete mať vždy pripojenie. Sieťová premávka bude povolená len v prípade pripojenia k tejto sieti VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Žiadna"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Vždy zapnutá sieť VPN vyžaduje adresu IP pre server aj DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Zobrazovať kompletné upozornenia"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Zobrazovať citlivý obsah iba po odomknutí"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Nezobrazovať upozornenia"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Ako chcete zobrazovať uzamknutú obrazovku?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Čo chcete zobrazovať na uzamknutej obrazovke?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Uzamknutá obrazovka"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Zobrazovať všetok obsah pracovných upozornení"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Skryť citlivý pracovný obsah"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Povoliť prístup na správu všetkých súborov"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Povoľte tejto aplikácii čítať, upravovať a odstraňovať všetky súbory v tomto zariadení alebo akýchkoľvek pripojených úložiskách. Po udelení tohto povolenia bude môcť aplikácia používať súbory bez vášho vedomia."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Má prístup k všetkým súborom"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikácie na aktiváciu hlasom"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Povoliť aktiváciu hlasom"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Aktivácia hlasom zapne schválené aplikácie handsfree hlasovým príkazom. Vstavané adaptívne zisťovanie zaistí, že údaje zostanú súkromné, teda iba pre vás.\n\n"<a href="">"Viac o chránenom adaptívnom zisťovaní"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Upozornenia na celej obrazovke"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Povoliť zobrazovanie upozornení z tejto aplikácie na celej obrazovke"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Povoľte tejto aplikácii zobrazovať upozornenia na celú obrazovku, keď bude zariadenie uzamknuté. Aplikácie vás môžu pomocou nich informovať o budíkoch, prichádzajúcich hovoroch a ďalších dôležitých upozorneniach."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Aplikácia <xliff:g id="APP_LABEL">%1$s</xliff:g> využívala batériu viac než zvyčajne na pozadí"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Aplikácia <xliff:g id="APP_LABEL">%1$s</xliff:g> využívala batériu vo vyššej miere na popredí"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Aplikácia <xliff:g id="APP_LABEL">%1$s</xliff:g> využívala batériu viac než zvyčajne na popredí"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomália spotreby batérie"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Vysoká spotreba batérie"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Vysoká spotreba batérie na pozadí"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Vysoká spotreba batérie na popredí"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navigácia v systéme, navigácia dvoma tlačidlami, navigácia troma tlačidlami, navigácia gestami, potiahnutie"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitálny asistent"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Aktivovať asistenta potiahnutím"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Aktivovať aplikáciu digitálneho asistenta potiahnutím nahor z dolného rohu"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Aktivujte aplikáciu digitálneho asistenta potiahnutím nahor z dolného rohu"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Aktivovať Asistenta pridržaním tlačidla plochy"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Pridržaním tlačidla plochy spustiť digitálneho asistenta"</string>
<string name="low_label" msgid="6525629096999711220">"Nízka"</string>
@@ -4961,8 +4946,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Výber gramatického rodu"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Kontrola prítomnosti klamlivých aplikácií"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Kontrola aktivity v aplikácii, či nedochádza k phishingu"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Použiť kontrolu"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Použiť kontrolu pracovných aplikácií"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Používať detekciu podvodných aplikácií"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Používať detekciu podvodných pracovných aplikácií"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 19960e5..dc5c3a2 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pisalo"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Deljenje zvoka"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Deli zvok"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Klici in alarmi"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Vzpostavitev povezave s pretočnim predvajanjem LE zvoka"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Zvočni tokovi v bližini"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Zvočni tokovi"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Vzpostavite povezavo z zvočnim tokom prek kode QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Noben zvočni tok ni bil najden v bližini."</string>
<string name="date_and_time" msgid="1788358029823431692">"Datum in ura"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Strežnik proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Počisti"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Delovni profil"</string>
<string name="private_space_title" msgid="7078627930195569767">"Zasebni prostor"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Skrivanje aplikacij v zasebni mapi"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Odklepanje z načinom za odklepanje zaslona"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Skrijte aplikacije v zasebni mapi, do katere lahko dostopate samo vi"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Zaklepanje zasebnega prostora"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Zasebni prostor lahko odklepate na enak način kot napravo, lahko pa izberete drug način zaklepanja"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Uporabi zaklepanje zaslona naprave"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Odklepanje z obrazom in prstnim odtisom"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Dotaknite se za nastavitev"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Enako kot zaklepanje zaslona naprave"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Želite izbrati novo zaklepanje za zasebni prostor?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Skrivanje, kadar je zaklenjeno"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Skrivanje zasebnega prostora, kadar je zaklenjen"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Če ne želite, da bi druge osebe vedele, da je v napravi zasebni prostor, ga lahko skrijete, da ni prikazan na seznamu aplikacij"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Dostop do zasebnega prostora, kadar je skrit"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"V vrstici za iskanje poiščite izraz »Zasebni prostor«"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Dotaknite se ploščice »Zasebni prostor«"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Odklepanje zasebnega prostora"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Izklopljeno"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Vklopljeno"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Ustvarjanje zasebnega prostora"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Brisanje zasebnega prostora"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Zasebni prostor je bil uspešno ustvarjen"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Zasebni prostor že obstaja"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Zasebnega prostora ni bilo mogoče ustvariti"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Zasebni prostor je bil uspešno izbrisan"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Zasebnega prostora ni bilo mogoče izbrisati"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Nastavite zaklepanje zaslona"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Če želite uporabljati zasebni prostor, v napravi nastavite zaklepanje zaslona."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Nastavite zaklepanje zaslona"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Prekliči"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Prekliči"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Nastavi"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Nastavitev zasebnega prostora"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Skrivanje zasebnih aplikacij na varnem mestu, ki je dostopno samo vam"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Kako deluje"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Do zasebnega prostora lahko dostopate z dna seznama aplikacij"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Aplikacije v zasebnem prostoru so zaščitene z zaklepanjem"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Obvestila aplikacij v zasebnem prostoru so skrita, kadar je zasebni prostor zaklenjen"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Aplikacije v zasebnem prostoru ne bodo prikazane v upravitelju dovoljenj, na nadzorni plošči za zasebnost in v drugih nastavitvah, kadar je zasebni prostor zaklenjen"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Nastavljanje zasebnega prostora …"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Podatki o uporabi aplikacij v zasebnem prostoru so skriti, kadar je zasebni prostor zaklenjen"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Dostop do zasebnega prostora s seznama aplikacij"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Zasebnega prostora ni bilo mogoče nastaviti"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Poskusite znova zdaj ali se vrnite pozneje"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Poskusi znova"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Želite odklepati z načinom za odklepanje zaslona?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Zasebni prostor lahko odklepate na enak način kot napravo, lahko pa izberete drug način zaklepanja"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Uporabi način za odklepanje zaslona"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Izberite nov način zaklepanja"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Končano"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Končano"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Za dostop do zasebnega prostora se pomaknite navzdol"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Če želite nastaviti zasebni prostor, se prijavite"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Če želite nastaviti zasebni prostor, se morate prijaviti v račun"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Za prikaz zasebnega prostora (ni končna uporabniška izkušnja)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Odprite aplikacijo Nastavitve"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Dotaknite se »Varnost in zasebnost« > »Zasebni prostor« > »Skrivanje zasebnega prostora, kadar je zaklenjen«"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Izklopite preklopnik »Skrivanje zasebnega prostora, kadar je zaklenjen«"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Obvestilo za zaposlene pri Googlu: Razvoj te funkcije še vedno poteka"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Dodate lahko do toliko prstnih odtisov: <xliff:g id="COUNT">%d</xliff:g>"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Dodali ste največje dovoljeno število prstnih odtisov"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Prstnih odtisov ni več mogoče dodati"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Vzpostavi povezavo"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Prekini povezavo"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Seznani in poveži"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kadar je Bluetooth vklopljen, lahko vaša naprava komunicira z drugimi napravami Bluetooth v bližini."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kadar je Bluetooth vklopljen, lahko vaša naprava komunicira z drugimi napravami Bluetooth v bližini"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Ko je Bluetooth vklopljen, lahko vaša naprava komunicira z drugimi napravami Bluetooth v bližini.\n\nZa izboljšano izkušnjo pri uporabi naprave lahko aplikacije in storitve še vedno kadar koli iščejo naprave v bližini, tudi ko je Bluetooth izklopljen. To se na primer uporablja za izboljšanje funkcij in storitev, ki pri delovanju uporabljajo lokacijo. Izbiro lahko spremenite v nastavitvah iskanja naprav Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Spremeni"</string>
<string name="device_details_title" msgid="1155622417516195481">"Podrobnosti o napravi"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Preverjevalniku ART dovoli preverjanje bitne kode aplikacij, ki podpirajo odpravljanje napak."</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Pokaži hitrost osveževanja"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Prikaži trenutno hitrost osveževanja zaslona."</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Prikaz razmerja HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Prikaz trenutnega razmerja HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Zahtevaj odklep naprave pred uporabo NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Še naprej uporabljaj aplikacije po zlaganju naprave"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Tekoč prikaz"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Samodejno poveča hitrost osveževanja do največ <xliff:g id="ID_1">%1$d</xliff:g> Hz za nekatere vsebine. Poveča porabo energije baterije."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Vsili največjo hitrost osveževanja"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Višja hitrost osveževanja za izboljšano odzivnost na dotik in kakovost animacij. Povečana poraba energije baterije."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Zaznavanje pogleda na zaslon"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Skupne nastavitve"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN-ji"</string>
<string name="apn_edit" msgid="2003683641840248741">"Urejanje dostopne točke"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Dodajanje dostopne točke"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Ni nastavljeno"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ni nastavljeno"</string>
<string name="apn_name" msgid="6677695784108157953">"Ime"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Odpiranje z gumbom za dostopnost"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Za odpiranje pridržite tipki za glasnost"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Za odpiranje se trikrat dotaknite zaslona"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Trikratni dotik zaslona z dvema prstoma za odpiranje"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Odpiranje s potezo"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Uporaba poteze za dostopnost"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Če želite uporabljati to funkcijo, se na dnu zaslona dotaknite gumba za dostopnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nČe želite preklopiti med funkcijami, se dotaknite gumba za dostopnost in ga pridržite."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Za uporabo te funkcije se na zaslonu dotaknite gumba za dostopnost."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Če želite uporabljati to funkcijo, pritisnite obe tipki za glasnost in ju pridržite."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Če želite vklopiti ali izklopiti povečavo, se trikrat dotaknite poljubnega mesta na zaslonu."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Za vklop ali izklop povečave se z dvema prstoma trikrat dotaknite poljubnega mesta na zaslonu."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Če želite uporabljati to funkcijo, z dvema prstoma povlecite z dna zaslona navzgor.\n\nČe želite preklopiti med funkcijami, z dvema prstoma povlecite navzgor in pridržite."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Če želite uporabljati to funkcijo, s tremi prsti povlecite z dna zaslona navzgor.\n\nČe želite preklopiti med funkcijami, s tremi prsti povlecite navzgor in pridržite."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Če želite uporabljati funkcijo za dostopnost, z dvema prstoma povlecite z dna zaslona navzgor.\n\nČe želite preklopiti med funkcijami, z dvema prstoma povlecite navzgor in pridržite."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Pridržanje tipk za glasnost"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"pridržanje tipk za glasnost"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Pritisnite in pridržite obe tipki za glasnost."</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Trikratni dotik zaslona z dvema prstoma"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"trikratni dotik zaslona z dvema prstoma"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Z dvema prstoma se {0,number,integer}-krat hitro dotaknite zaslona"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Trikratni dotik zaslona"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"trikratni dotik zaslona"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"{0,number,integer}-krat se hitro dotaknite zaslona. Ta bližnjica bo morda upočasnila delovanje naprave."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Spremlja lahko vaše interakcije z aplikacijo ali tipalom strojne opreme ter komunicira z aplikacijami v vašem imenu."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Dovoli"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Zavrni"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Ustavi"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Prekliči"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Želite izklopiti »<xliff:g id="SERVICE">%1$s</xliff:g>«?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Če se dotaknete možnosti »<xliff:g id="STOP">%1$s</xliff:g>«, se bo funkcija »<xliff:g id="SERVICE">%2$s</xliff:g>« ustavila."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nameščena ni nobena storitev"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nobena storitev ni izbrana"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Ni opisa."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Če boste omejili dejavnost aplikacije v ozadju, morda ne bo pravilno delovala"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Ker za to aplikacijo ni izbrana nastavitev optimiziranja porabe baterije, je ni mogoče omejiti.\n\nČe želite omejiti aplikacijo, najprej vklopite optimizacijo baterije."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Upravljanje porabe energije baterije"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Dovoli uporabo v ozadju"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Omogoči za sprotne posodobitve, onemogoči za varčevanje z energijo baterije"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neomejeno"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizirano"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Omejeno"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Ime"</string>
<string name="vpn_type" msgid="5533202873260826663">"Vrsta"</string>
<string name="vpn_server" msgid="2908816134941973935">"Naslov strežnika"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Šifriranje PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Skrivnost L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identifikator IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Vnaprej deljeni ključ IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Uporabniško potrdilo IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Overjeno potrdilo IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Potrdilo strežnika IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Prikaži dodatne možnosti"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domene za iskanje DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Strežniki DNS (npr. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Poti za posredovanje (npr. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Uporabniško ime"</string>
<string name="vpn_password" msgid="1183746907642628127">"Geslo"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Shrani podatke o računu"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ni uporabljeno)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne preveri strežnika)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(prejeto iz strežnika)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ta vrsta omrežja VPN ne more biti stalno vklopljena."</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Stalno vklopljeno omrežje VPN podpira samo številske naslove strežnikov."</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Za stalno vklopljeno omrežje VPN mora biti naveden strežnik DNS."</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Za stalno vklopljeno omrežje VPN morajo biti naslovi strežnikov DNS številski."</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Vneseni podatki ne podpirajo stalno vklopljenega omrežja VPN."</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Prekliči"</string>
<string name="vpn_done" msgid="5137858784289564985">"Opusti"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blokiraj povezave brez omrežja VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Ali zahtevate povezavo VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ni varno. Posodobite na VPN različice IKEv2."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Izberite profil za navidezno zasebno omrežje (VPN), s katerim boste vedno povezani. Omrežni promet bo dovoljen samo prek tega omrežja VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Brez"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Za stalno vklopljeno navidezno zasebno omrežje je potreben naslov IP tako za strežnik kot za DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Prikaži vso vsebino obvestil"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Prikaži občutljivo vsebino samo na odklenjenem zaslonu"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Sploh ne prikazuj obvestil"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kaj naj bo prikazano na zaklenjenem zaslonu?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Kaj naj bo prikazano na zaklenjenem zaslonu?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Zaklenjen zaslon"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Pokaži vso vsebino obvestil za delovni profil."</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Skrij občutljivo vsebino za delovni profil."</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Dovoli dostop za upravljanje vseh datotek"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Tej aplikaciji dovolite, da bere, spreminja in briše vse datoteke v tej napravi ali drugih povezanih nosilcih za shranjevanje. Če daste to dovoljenje, bo aplikacija morda dostopala do datotek brez vaše vednosti."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Lahko dostopa do vseh datotek"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikacije za glasovno aktiviranje"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Dovoli glasovno aktiviranje"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Glasovno aktiviranje vam omogoča, da z glasovnim ukazom prostoročno vklopite odobrene aplikacije. Vgrajeno prilagodljivo zaznavanje poskrbi, da bodo vaši podatki ostali zasebni.\n\n"<a href="">"Več o zaščitenem prilagodljivem zaznavanju"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Celozaslonska obvestila"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Dovoli celozaslonska obvestila te aplikacije"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Dovolite, da ta aplikacija prikazuje obvestila, ki zavzamejo celoten zaslon, ko je naprava zaklenjena. Aplikacije lahko z njimi izpostavijo alarme, dohodne klice ali druga nujna obvestila."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> je porabljala več energije baterije kot običajno, ko se je izvajala v ozadju"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> je porabljala več energije baterije, ko se je izvajala v ospredju"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> je porabljala več energije baterije kot običajno, ko se je izvajala v ospredju"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Odstopanje pri porabi energije baterije"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Visoka poraba energije baterije"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Visoka poraba energije baterije v ozadju"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Visoka poraba energije v ospredju"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"krmarjenje po sistemu, krmarjenje z dvema gumboma, krmarjenje s tremi gumbi, krmarjenje s potezami, vlečenje"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitalni pomočnik"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Vlečenje za sproženje pomočnika"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Če želite sprožiti digitalnega pomočnika, s prstom povlecite navzgor iz spodnjega kota."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Če želite sprožiti aplikacijo digitalnega pomočnika, s prstom povlecite navzgor iz spodnjega kota"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Priklic Pomočnika s pridržanjem gumba za začetni zaslon"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Pridržite gumb za začetni zaslon, če želite priklicati digitalnega pomočnika."</string>
<string name="low_label" msgid="6525629096999711220">"Nizka"</string>
@@ -4961,8 +4946,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Izbira slovničnega spola"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Iskanje zavajajočih aplikacij"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Iskanje znakov lažnega predstavljanja v dejavnostih v aplikacijah"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Uporaba pregledovanja"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Uporabi pregledovanje za delovne aplikacije"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Uporabi iskanje zavajajočih aplikacij"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Uporabi iskanje zavajajočih aplikacij v delovnem profilu"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 03c8eb9..f745a45 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"Pajisjet e tjera"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"Pajisjet e ruajtura"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Lidhur me llogarinë"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"E përdorur më parë me këtë llogari"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Të përdorura më parë me llogari"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth-i do të aktivizohet për çiftimin"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"Preferencat e lidhjes"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Të lidhura më parë"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilolapsi"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Ndarja e audios"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Ndaj audion"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Telefonatat dhe alarmet"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Lidh me një transmetim audio LE"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Transmetimet audio në afërsi"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Transmetimet audio"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Lidh me një transmetim audio duke përdorur kodin QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Nuk u gjet transmetim audio në afërsi."</string>
<string name="date_and_time" msgid="1788358029823431692">"Data dhe ora"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Pastro"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Profili i punës"</string>
<string name="private_space_title" msgid="7078627930195569767">"Hapësira private"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Fshih aplikacionet në një dosje private"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Shkyç duke përdorur kyçjen e ekranit"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Fshih aplikacionet në një dosje private në të cilën vetëm ti mund të qasesh"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Kyçja e \"Hapësirës private\""</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"\"Hapësirën private\" mund ta shkyçësh në të njëjtën mënyrë që shkyç pajisjen tënde ose mund të zgjedhësh një kyçje tjetër"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Përdor kyçjen e ekranit të pajisjes"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Shkyçja me fytyrë dhe me gjurmën e gishtit"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Trokit për ta konfiguruar"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Njëlloj me kyçjen e ekranit të pajisjes"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Të zgjidhet +kyçje e re për \"Hapësirën private\"?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Fshih kur është e kyçur"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Fshih \"Hapësirën private\" kur është e kyçur"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Për të ndaluar që të tjerët të dinë se \"Hapësira private\" është në pajisjen tënde, mund ta fshehësh nga lista jote e aplikacioneve"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Qasu te \"Hapësira private\" kur është e fshehur"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Kontrollo për \"Hapësirën private\" në shiritin e kërkimit"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Trokit te pllakëza e \"Hapësirës private\""</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Shkyç \"Hapësirën private\""</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Joaktive"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Aktive"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistemi"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Krijo \"Hapësirën private\""</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Fshi \"Hapësirën private\""</string>
- <string name="private_space_created" msgid="2978055968937762232">"\"Hapësira private\" u krijua me sukses"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"\"Hapësira private\" ekziston tashmë"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"\"Hapësira private\" nuk mund të krijohej"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"\"Hapësira private\" u fshi me sukses"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"\"Hapësira private\" nuk mund të fshihej"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Cakto një kyçje ekrani"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Për të përdorur \"Hapësirën private\", cakto një kyçje ekrani në këtë pajisje."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Cakto kyçjen e ekranit"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Anulo"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Anulo"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Konfiguro"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Konfiguro \"Hapësirën private\""</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Fshih aplikacionet private në një hapësirë të sigurt ku vetëm ti mund të qasesh"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Si funksionon"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Mund të qasesh te \"Hapësira private\" nga fundi i listës së aplikacioneve"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Aplikacionet në \"Hapësirën private\" janë të mbrojtura me një kyçje"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Njoftimet nga aplikacionet në \"Hapësirën private\" janë të fshehura kur ajo është e kyçur"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Aplikacionet e \"Hapësirës private\" nuk do të shfaqen te menaxheri i lejeve, paneli i privatësisë dhe në cilësime të tjera kur \"Hapësira private\" është e kyçur"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"\"Hapësira private\" po konfigurohet…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Informacionet e përdorimit për aplikacionet e \"Hapësirës private\" janë të fshehura kur ajo është e kyçur"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Qasu te \"Hapësira private\" nga lista jote e aplikacioneve"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"\"Hapësira private\" nuk mund të konfigurohej"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Provo përsëri tani ose kthehu më vonë"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Provo përsëri"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Të përdoret kyçja e ekranit për ta shkyçur?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"\"Hapësirën private\" mund ta shkyçësh në të njëjtën mënyrë që shkyç pajisjen tënde ose mund të zgjedhësh një kyçje tjetër"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Përdor kyçjen e ekranit"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Zgjidh një kyçje të re"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Plotësisht gati!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"U krye"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Lëviz poshtë për t\'u qasur te \"Hapësira private\""</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Identifikohu për të konfiguruar \"Hapësirën private\""</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Duhet të identifikohesh në një llogari për të konfiguruar \"Hapësirën private\""</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Për të shfaqur \"Hapësirën private\" (UX jo përfundimtare)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Hap aplikacionin \"Cilësimet\""</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Trokit te \"Siguria dhe privatësia > Hapësira private > Fshih \"Hapësirën private\" kur ajo kyçet\""</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Çaktivizo butonin \"Fshih \'Hapësirën private\' kur ajo kyçet\""</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Shënim për punonjësit e Google: Zhvillimi i kësaj veçorie është ende në progres"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Mund të shtosh deri në <xliff:g id="COUNT">%d</xliff:g> gjurmë gishtash"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Ke shtuar numrin maksimal të gjurmëve të gishtave"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nuk mund të shtohen gjurmë të tjera të gishtave"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Lidh"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Shkëput"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Ҫifto dhe lidh"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kur Bluetooth-i është i aktivizuar, pajisja jote mund të komunikojë me pajisjet e tjera me Bluetooth në afërsi."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kur Bluetooth-i është i aktivizuar, pajisja jote mund të komunikojë me pajisjet e tjera me Bluetooth në afërsi"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kur Bluetooth-i është i aktivizuar, pajisja jote mund të komunikojë me pajisje të tjera me Bluetooth në afërsi.\n\nPër të përmirësuar përvojën e pajisjes, aplikacionet dhe shërbimet mund të vazhdojnë të skanojnë për pajisje në afërsi në çdo kohë, edhe kur Bluetooth-i është joaktiv. Kjo mund të përdoret, për shembull, për të përmirësuar funksionet dhe shërbimet e bazuara te vendndodhja. Mund ta ndryshosh këtë te cilësimet e skanimit me Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Ndrysho"</string>
<string name="device_details_title" msgid="1155622417516195481">"Detajet e pajisjes"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Lejo që ART të verifikojë kodin me bajte për aplikacionet e korrigjueshme"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Shfaq shpejtësinë e rifreskimit"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Shfaq shpejtësinë aktuale të rifreskimit të ekranit"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Shfaq raportin e HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Shfaq raportin aktual të HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Kërkohet shkyçja e pajisjes për NFC-në"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Dërgimi me rreze i Androidit"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Vazhdo të përdorësh aplikacionet në Fold"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Rrit automatikisht shpejtësinë e rifreskimit deri në <xliff:g id="ID_1">%1$d</xliff:g> Hz për disa përmbajtje. Rrit përdorimin e baterisë."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Detyro shpejtësinë maksimale të rifreskimit"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Shpejtësia më e lartë e rifreskimit për përmirësimin e reagueshmërisë së prekjes dhe cilësisë së animacioneve. Rrit përdorimin e baterisë."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Vëmendja ndaj ekranit"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Cilësimet e përbashkëta"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN-të"</string>
<string name="apn_edit" msgid="2003683641840248741">"Redakto pikën e qasjes"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Shto pikën e qasjes"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Nuk është caktuar"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nuk është caktuar"</string>
<string name="apn_name" msgid="6677695784108157953">"Emri"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Përdor butonin e qasshmërisë për të hapur"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mbaj shtypur tastet e volumit për ta hapur"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Trokit tri herë në ekran për ta hapur"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Trokit tri herë me dy gishta në ekran për të hapur"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Përdor gjestin për të hapur"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Përdor gjestin e qasshmërisë"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Për ta përdorur këtë veçori, trokit te butoni i qasshmërisë <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> në fund të ekranit.\n\nPër të ndërruar mes veçorive, mbaj të shtypur butonin e qasshmërisë."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Për të përdorur këtë veçori, trokit te butoni i qasshmërisë në ekranin tënd."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Për ta përdorur këtë veçori, mbaj shtypur të dyja tastet e volumit."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Për të filluar dhe ndaluar zmadhimin, trokit tri herë diku në ekran."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Për të filluar dhe ndaluar zmadhimin, trokit tri herë me dy gishta diku në ekran."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Për ta përdorur këtë veçori, rrëshqit shpejt lart nga fundi i ekranit me 2 gishta.\n\nPër të ndërruar mes veçorive, rrëshqit shpejt lart me 2 gishta dhe mbaje të shtypur."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Për ta përdorur këtë veçori, rrëshqit shpejt lart nga fundi i ekranit me 3 gishta.\n\nPër të ndërruar mes veçorive, rrëshqit shpejt lart me 3 gishta dhe mbaje të shtypur."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Për të përdorur një veçori të qasshmërisë, rrëshqit shpejt lart nga fundi i ekranit me 2 gishta.\n\nPër të ndërruar mes veçorive, rrëshqit shpejt lart me 2 gishta dhe mbaje të shtypur."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Mbaj shtypur tastet e volumit"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"mbaj shtypur tastet e volumit"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Shtyp dhe mbaj shtypur të dyja tastet e volumit"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Trokit tri herë me dy gishta në ekran"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"trokit tri herë me dy gishta në ekran"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Trokit shpejt {0,number,integer} herë me dy gishta në ekran"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Trokit tri herë mbi ekran"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"trokit tri herë mbi ekran"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Trokit me shpejtësi {0,number,integer} herë në ekran. Kjo shkurtore mund të ngadalësojë pajisjen tënde"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Mund të monitorojë ndërveprimet me një aplikacion ose një sensor hardueri dhe të ndërveprojë me aplikacionet në emrin tënd."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Lejo"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Refuzo"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Ndalo"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Anulo"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Të ndalohet shërbimi \"<xliff:g id="SERVICE">%1$s</xliff:g>\"?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Trokitja te <xliff:g id="STOP">%1$s</xliff:g> do të ndalojë <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nuk është instaluar asnjë shërbim"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nuk është zgjedhur asnjë shërbim"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Nuk është dhënë asnjë përshkrim."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Nëse e kufizon aktivitetin në sfond për një aplikacion, mund të ketë çrregullime në funksionimin e tij"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Duke qenë se ky aplikacion nuk është caktuar për të optimizuar baterinë, nuk mund ta kufizosh atë.\n\nPër të kufizuar aplikacionin, në fillim aktivizo optimizimin e baterisë."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Menaxho përdorimin e baterisë"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Lejo përdorimin në sfond"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Aktivizo për përditësime në kohë reale; çaktivizo për të kursyer bateri"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Pa kufizim"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"I optimizuar"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"I kufizuar"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Emri"</string>
<string name="vpn_type" msgid="5533202873260826663">"Lloji"</string>
<string name="vpn_server" msgid="2908816134941973935">"Adresa e serverit"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Enkriptimi PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Sekreti L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identifikuesi IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Çelësi IPSec i parashkëmbyer"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certifikata e përdoruesit IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certifikata CA e protokollit IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certifikata e serverit IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Shfaq opsionet e përparuara"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Domenet e kërkimit të DNS-së"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Serverët DNS (p.sh. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Rrugët e transferimit (p.sh. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Emri i përdoruesit"</string>
<string name="vpn_password" msgid="1183746907642628127">"Fjalëkalimi"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Ruaj informacionet e llogarisë"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(nuk përdoret)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(mos e verifiko serverin)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(marrë nga serveri)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ky lloj i VPN-së nuk mund të qëndrojë i lidhur gjatë gjithë kohës"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Rrjeti VPN gjithmonë aktiv mbështet adresat numerike të serverit"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Duhet të specifikohet një server DNS për rrjetin VPN gjthmonë aktiv"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adresat e serverit të DNS-së duhet të jenë numerike për rrjetin VPN gjithmonë aktiv"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Informacionet e futura nuk e mbështesin rrjetin VPN gjithmonë aktiv"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Anulo"</string>
<string name="vpn_done" msgid="5137858784289564985">"Injoro"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blloko lidhjet pa rrjetin VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Të kërkohet lidhja e VPN-së?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Jo e sigurt. Përditësoje me një VPN IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Zgjidh një profil VPN-je për të qëndruar gjithmonë i lidhur. Trafiku i rrjetit do të lejohet vetëm kur të lidhet me këtë VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Asnjë"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN-ja gjithnjë e aktivizuar kërkon një adresë IP-je për serverin dhe DNS-në."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Shfaq të gjithë përmbajtjen e njoftimit"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Shfaq përmbajtjet delikate vetëm pasi ta shkyçësh"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Mos shfaq asnjë njoftim"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Si dëshiron të shfaqet ekrani i kyçjes?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Çfarë dëshiron të shfaqë ekrani yt i kyçjes?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Ekrani i kyçjes"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Shfaq të gjitha përmbajtjet e njoftimeve të punës"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Fshih përmbajtjet delikate të punës"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Lejo qasjen për të menaxhuar të gjithë skedarët"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Lejo që ky aplikacion të lexojë, modifikojë dhe fshijë të gjithë skedarët në këtë pajisje ose në çdo volum hapësire ruajtjeje të lidhur. Nëse lejohet, aplikacioni mund të ketë qasje te skedarët pa dijeninë tënde të qartë."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Mund të ketë qasje te të gjithë skedarët"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikacionet e aktivizuara me zë"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Lejo aktivizimin me zë"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Aktivizimi i zërit aktivizon aplikacionet e miratuara, pa përdorur duart, me anë të komandave zanore. Monitorimi i integruar me përshtatje siguron që të dhënat të qëndrojnë private, te dukshme vetëm për ty.\n\n"<a href="">"Më shumë rreth monitorimit të mbrojtur me përshtatje"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Njoftimet në ekranin e plotë"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Të lejohen njoftimet në ekranin e plotë nga ky aplikacion"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Lejo këtë aplikacion të shfaqë njoftime që zënë ekranin e plotë kur pajisja është e kyçur. Aplikacionet mund t’i përdorin këto për të vendosur në fokus alarmet, telefonatat hyrëse apo njoftimet e tjera urgjente."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ka përdorur më shumë bateri se zakonisht ndërkohë që ka qenë në sfond"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ka përdorur më shumë bateri ndërkohë që ka qenë në plan të parë"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ka përdorur më shumë bateri se zakonisht ndërkohë që ka qenë në plan të parë"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomali në përdorimin e baterisë"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Përdorim i lartë i baterisë"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Përdorim i lartë i baterisë në sfond"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Përdorim i lartë i baterisë në plan të parë"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"navigimi i sistemit, navigimi me 2 butona, navigimi me 3 butona, navigimi me gjeste, rrëshqit shpejt"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asistenti dixhital"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Rrëshqit shpejt për të aktivizuar asistentin"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Rrëshqit shpejt lart nga këndi i poshtëm për të aktivizuar aplikacionin e asistentit dixhital."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Rrëshqit shpejt lart nga këndi i poshtëm për të aktivizuar aplikacionin e asistentit dixhital"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Mbaj shtypur \"Kreun\" për \"Asistentin\""</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Shtyp dhe mbaj shtypur butonin \"Kreu\" për të thirrur aplikacionin e asistentit dixhital."</string>
<string name="low_label" msgid="6525629096999711220">"E ulët"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Zgjidh gjininë gramatikore"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Po skanon për aplikacione mashtruese"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Kontrollo aktivitetin e aplikacioneve për mashtrime"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Përdor skanimin"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Përdor skanimin për aplikacionet e punës"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Përdor skanimin për aplikacionet mashtruese"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Përdor skanimin për aplikacionet mashtruese për punë"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 5035038..072dc26 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Писаљка"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Дељење звука"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Дели звук"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Позиви и аларми"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Повежите се са LE Audio стримом"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Аудио стримови у близини"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Аудио стримови"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Повежите се са аудио стримом помоћу QR кода"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Нема аудио стримова у близини."</string>
<string name="date_and_time" msgid="1788358029823431692">"Датум и време"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Прокси"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Обриши"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Пословни профил"</string>
<string name="private_space_title" msgid="7078627930195569767">"Приватни простор"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Сакриј апликације у приватном фолдеру"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Откључај помоћу откључавања екрана"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Сакријте апликације у приватном фолдеру ком само ви можете да приступате"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Закључавање приватног простора"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Можете да откључавате приватни простор исто као што откључавате уређај или да одаберете другачији тип откључавања"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Користи закључавање екрана уређаја"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Откључавање лицем и отиском прста"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Додирните да бисте подесили"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Исто као закључавање екрана уређаја"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Одабраћете ново закључавање за приватни простор?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Сакриј кад је закључан"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Сакријте приватни простор кад је закључан"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Приватни простор можете да сакријете са листе апликација"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Приступите приватном простору кад је сакривен"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Потражите Приватни простор на траци за претрагу"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Додирните плочицу Приватни простор"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Откључајте приватни простор"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Искључено"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Укључeно"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Систем"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Направи приватни простор"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Избриши приватни простор"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Приватни простор је направљен"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Приватни простор већ постоји"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Прављење приватног простора није успело"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Приватни простор је избрисан"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Брисање приватног простора није успело"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Подесите закључавање екрана"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"За приватни простор подесите закључавање екрана на уређају."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Подеси закључавање екрана"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Откажи"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Откажи"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Подеси"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Подесите приватни простор"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Сакријте приватне апликације у безбедном простору ком само ви можете да приступите"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Принцип рада"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Приватном простору можете да приступите са дна листе апликација"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Апликације у приватном простору су закључане"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Обавештења из апликација приватног простора су скривена кад је он закључан"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Апликације приватног простора неће се појавити у менаџеру дозвола, на контролној табли за приватност и у другим подешавањима кад је приватни простор закључан"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Подешава се приватни простор…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Информације о коришћењу за апликације из приватног простора су скривене када је закључан"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Приступајте приватном простору са листе апликација"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Неке системске апликације су већ инсталиране у приватном простору"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Подешавање приватног простора није успело"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Пробајте поново сада или се вратите касније"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Пробај поново"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Желите да откључате помоћу откључавања екрана?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Можете да откључавате приватни простор исто као што откључавате уређај или да одаберете другачији тип откључавања"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Користи откључавање екрана"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Одабери нови тип закључавања"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Готово!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"Можете да приступате приватном простору са листе апликација"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Готово"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Скролујте надоле да бисте приступали приватном простору"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Пријавите се да бисте подесили приватни простор"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Треба да се пријавите на налог да бисте подесили приватни простор"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Да бисте приказали приватно простор (није коначни UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Отворите апликацију Подешавања"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Додирните Безбедност & Приватност > Приватни простор > Сакријте приватни простор кад је закључан"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Прекидач Сакријте приватни простор кад је закључан"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Напомена запосленима у Google-у: Програмирање ове апликације је још у току"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Можете да их додате до <xliff:g id="COUNT">%d</xliff:g>"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Додали сте максималан број отисака прстију"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Не можете да додате још отисака прстију"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Повежи"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Прекини везу"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Упари и повежи"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Када је Bluetooth укључен, уређај може да комуницира са другим Bluetooth уређајима у близини."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Када је Bluetooth укључен, уређај може да комуницира са другим Bluetooth уређајима у близини"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Када је Bluetooth укључен, уређај може да комуницира са другим Bluetooth уређајима у близини.\n\nРади бољег доживљаја уређаја, апликације и услуге и даље могу да траже уређаје у близини у било ком тренутку, чак и када је Bluetooth искључен. Ово може да се користи, на пример, за побољшање функција и услуга заснованих на локацији. То можете да промените у подешавањима Bluetooth скенирања."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Промени"</string>
<string name="device_details_title" msgid="1155622417516195481">"Детаљи о уређају"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Дозволи да ART потврди бинарни кôд апликација из којих могу да се отклоне грешке"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Прикажи учесталост освежавања"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Приказује актуелну учесталост освежавања екрана"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Прикажи HDR или SDR размеру"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Приказује актуелну HDR или SDR размеру"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Тражи да се откључа уређај за коришћење NFC-а"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Настави са коришћењем апликација при преклапању"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Течан приказ"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Аутоматски подиже учесталост освежавања до <xliff:g id="ID_1">%1$d</xliff:g> Hz за одређени садржај. Повећава потрошњу батерије."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Наметни максималну учесталост освежавања"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Највећа учесталост освежавања за побољшан одзив на додир и квалитет анимације. Повећава потрошњу батерије."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Пажња екрана"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Заједничка подешавања"</string>
<string name="apn_settings" msgid="4295467389400441299">"Називи приступних тачака"</string>
<string name="apn_edit" msgid="2003683641840248741">"Измена приступне тачке"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Додајте приступну тачку"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Није подешено"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Није подешено"</string>
<string name="apn_name" msgid="6677695784108157953">"Назив"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Отварајте помоћу дугмета за приступачност"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Задржите тастере за јачину звука да бисте отворили"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Трипут додирните екран да бисте отворили"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Додирните екран три пута помоћу два прста да бисте отворили"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Отварајте помоћу покрета"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Користите покрет за приступачност"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Да бисте користили ову функцију, додирните дугме Приступачност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> у дну екрана.\n\nДа бисте прелазили са једне функције на другу, додирните и задржите дугме Приступачност."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Да бисте користили ову функцију, додирните дугме Приступачност на екрану."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Да бисте користили ову функцију, притисните и задржите оба тастера за јачину звука."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Да бисте покренули и зауставили увећање, трипут додирните било где на екрану."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Да бисте покренули и зауставили увећање, додирните три пута било где на екрану помоћу два прста."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Да бисте користили ову функцију, превуците нагоре од дна екрана помоћу 2 прста.\n\nДа бисте прелазили са једне функције на другу, превуците нагоре помоћу 2 прста и задржите."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Да бисте користили ову функцију, превуците нагоре од дна екрана помоћу 3 прста.\n\nДа бисте прелазили са једне функције на другу, превуците нагоре помоћу 3 прста и задржите."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Да бисте користили функцију приступачности, превуците нагоре од дна екрана помоћу 2 прста.\n\nДа бисте прелазили са једне функције на другу, превуците нагоре помоћу 2 прста и задржите."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Задржите тастере за јачину звука"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"задржите тастере за јачину звука"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Притисните и задржите оба тастера за јачину звука"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Додирните екран три пута помоћу два прста"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"додирните екран три пута помоћу два прста"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Брзо додирните екран {0,number,integer} пута помоћу два прста"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Додирните екран трипут"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"додирните екран трипут"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Брзо додирните екран {0,number,integer} пута. Ова пречица може да успори уређај"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Може да прати интеракције са апликацијом или сензором хардвера и користи апликације уместо вас."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Дозволи"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Одбиј"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Заустави"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Откажи"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Желите ли да зауставите <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Ако додирнете <xliff:g id="STOP">%1$s</xliff:g>, зауставићете услугу <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ниједна услуга није инсталирана"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ниједна услуга није изабрана"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Није наведен опис."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ако ограничите активности апликације у позадини, можда ће се понашати неочекивано."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Апл. није подешена за оптимизацију батерије, па не можете да је ограничите. \n\nЗа огр. апл. укључите оптимизацију батерије."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Управљајте потрошњом батерије"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Дозволи коришћење у позадини"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Омогућите за ажурирања у реалном времену, онемогућите да бисте уштедели батерију"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Неограничено"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оптимизовано"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ограничено"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Назив"</string>
<string name="vpn_type" msgid="5533202873260826663">"Тип"</string>
<string name="vpn_server" msgid="2908816134941973935">"Адреса сервера"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP шифровање (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Тајни L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec идентификатор"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec унапред дељени кључ"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec сертификат корисника"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA сертификат"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec сертификат сервера"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Прикажи напредне опције"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS домени за претрагу"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS сервери (нпр. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Руте за прослеђивање (нпр. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Корисничко име"</string>
<string name="vpn_password" msgid="1183746907642628127">"Лозинка"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Сачувај информације о налогу"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(не користи се)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(не верификуј сервер)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(примљено са сервера)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Овај тип VPN-а не може увек да остане повезан"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Увек укључени VPN подржава само нумеричке адресе сервера"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"DNS сервер мора да се одреди за увек укључени VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Адресе DNS сервера морају да буду нумеричке за увек укључени VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Унете информације не подржавају увек укључени VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Откажи"</string>
<string name="vpn_done" msgid="5137858784289564985">"Одбаци"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Блокирај везе без VPN-а"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Треба вам VPN веза?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Није безбедно. Ажурирајте на IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Изаберите VPN профил са којим ћете увек бити повезани. Мрежни садржај ће бити дозвољен само када сте повезани са овим VPN-ом."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Ниједан"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Стално укључен VPN захтева IP адресу за сервер и DNS."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Прикажи сав садржај обавештења"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Прикажи осетљив садржај само када је откључан"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Не приказуј уопште обавештења"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Како желите да се приказује садржај на закључаном екрану?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Шта желите да се приказује на закључаном екрану?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Закључан екран"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Приказуј сав садржај обавештења о пословном профилу"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Сакриј осетљив садржај пословног профила"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Дозволи приступ за управљање свим датотекама"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Дозволите да ова апликација чита, мења и брише све датотеке на овом уређају или свим повезаним уређајима за складиштење. Ако то дозволите, апликација може да приступа датотекама без вашег знања."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Може да приступа свим датотекама"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Апликације са активацијом гласом"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Дозволи активацију гласом"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Гласовна активација укључује одобрене апликације хендсфри помоћу гласовне команде. Уграђено прилагодљиво откривање гарантује да ће ваши подаци остати приватни.\n\n"<a href="">"Још о заштићеном прилагодљивом откривању"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Обавештења преко целог екрана"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Дозволите обавештења преко целог екрана од ове апликације"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Дозволите овој апликацији да приказује обавештења преко целог екрана када је уређај закључан. Апликације могу да их користе ради истицања аларма, долазних позива или других хитних обавештења."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> користи више батерије него обично док је у позадини"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> користи више енергије док је у првом плану"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> користи више енергије него обично док је у првом плану"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Аномалија у вези са потрошњом батерије"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Велика потрошња батерије"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Велика потрошња батерије у позадини"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Велика потрошња батерије у првом плану"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"навигација кроз систем, навигација помоћу 2 дугмета, навигација помоћу 3 дугмета, навигација помоћу покрета, превлачење"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Дигитални помоћник"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Превуците да бисте покренули помоћник"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Превуците нагоре из неког од доњих улова да бисте покренули апликацију дигиталног помоћника."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Превуците нагоре из неког од доњих улова да бисте покренули апликацију дигиталног помоћника"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"За покретање Помоћника задржите дугме за почетни екран"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Притисните и задржите дугме за почетни екран да бисте покренули апликацију дигиталног помоћника."</string>
<string name="low_label" msgid="6525629096999711220">"Ниска"</string>
@@ -4960,8 +4943,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Изаберите граматички род"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Провера ради откривања обмањујућих апликација"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Проверите активности у апликацијама ради откривања „пецања“"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Користи проверу"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Користи проверу за пословне апликације"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Користи скенирање за обмањујуће апликације"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Користи скенирање за обмањујуће апликације за посао"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 3e6fd5b..915cf97 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"E-penna"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Ljuddelning"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Dela ljud"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Samtal och alarm"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Ansut till en LE Audio-stream"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Ljudstreamar i närheten"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Ljudstreamar"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Anslut till en ljudstream med QR-kod"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Inga ljudstreamar hittades i närheten."</string>
<string name="date_and_time" msgid="1788358029823431692">"Datum och tid"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Rensa"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Jobbprofil"</string>
<string name="private_space_title" msgid="7078627930195569767">"Privat rum"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Dölj appar i en privat mapp"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Lås upp med skärmlåset"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Dölj appar i en privat mapp som bara du har tillgång till"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Lås privat rum"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Du kan låsa upp privat rum på samma sätt som du låser upp din enhet, eller så väljer du ett annat lås"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Använd skärmlåset för enheten"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Ansikts- och fingeravtryckslås"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tryck för att ställa in"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Samma som skärmlåset för enheten"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Vill du välja ett nytt lås för ditt privata rum?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Dölj när det är låst"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Dölj privat rum när det är låst"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Du kan dölja privat rum i applistan så andra inte ser det"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Kom åt privat rum när det är dolt"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Sök efter privat rum i sökfältet"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tryck på rutan för privat rum"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Lås upp ditt privata rum"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Av"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"På"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Skapa privat rum"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Radera privat rum"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Det privata rummet har skapats"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Det privata rummet finns redan"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Det gick inte att skapa det privata rummet"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Det privata rummet har raderats"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Det gick inte att radera det privata rummet"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Ställ in skärmlås"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Ange ett skärmlås för enheten om du vill använda Privat rum."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Konfigurera skärmlås"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Avbryt"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Avbryt"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Ställ in"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Ställ in privat rum"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Dölj privata appar i ett säkert rum som bara du kan komma åt"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Så fungerar det"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Du kan komma åt privat rum längst ned i applistan"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Appar i privat rum skyddas av ett lås"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Aviseringar från appar i privat rum döljs när det är låst"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Appar i privat rum visas inte i behörighetshanteringen, integritetsöversikten eller andra inställningar när privat rum är låst"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Konfigurera privat rum …"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Användarinformation för appar i privat rum döljs när det är låst"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Åtkomst till Privat rum från din applista"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Vissa systemappar är redan installerade i privata rum"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Det gick inte att konfigurera privat rum"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Försök igen nu eller kom tillbaka senare"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Försök igen"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Vill du använda skärmlåset för att låsa upp?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Du kan låsa upp privat rum på samma sätt som du låser upp din enhet, eller så väljer du ett annat lås"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Använd skärmlås"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Välj ett nytt lås"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Klart!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"Du kan komma åt privat rum från applistan"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Klar"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Scrolla nedåt för att få åtkomst till privat rum"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Logga in för att konfigurera privat rum"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Du måste logga in på ett konto för att konfigurera privat rum"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"För att visa privat rum (Ej slutgiltig UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Öppna appen Inställningar"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Tryck på Säkerhet och integritet > Privat rum > Dölj privat rum när det är låst"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Inaktivera Dölj privat rum när det är låst"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Anteckning för anställda hos Google: Utvecklingen av den här funktionen pågår fortfarande"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Du kan lägga till upp till <xliff:g id="COUNT">%d</xliff:g> fingeravtryck"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Du har lagt till det högsta tillåtna antalet fingeravtryck"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Det går inte att lägga till fler fingeravtryck"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Anslut"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Koppla ifrån"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Parkoppla och anslut"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"När Bluetooth har aktiverats kan enheten kommunicera med andra Bluetooth-enheter i närheten."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"När Bluetooth har aktiverats kan enheten kommunicera med andra Bluetooth-enheter i närheten"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"När Bluetooth är aktiverat kan enheten kommunicera med andra Bluetooth-enheter i närheten.\n\nÄven när Bluetooth är inaktiverat kan appar och tjänster när som helst söka efter enheter i närheten för att förbättra användningen av enheten. Funktionen kan till exempel användas till att förbättra platsbaserade funktioner och tjänster. Du kan ändra inställningen i genomsökningsinställningarna för Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Ändring"</string>
<string name="device_details_title" msgid="1155622417516195481">"Enhetsinformation"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Verifiera bytekod för felsökningsbara appar genom att tillåta ART"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Visa uppdateringsfrekvens"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Visa skärmens aktuella uppdateringsfrekvens"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Visa HDR/SDR-förhållande"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Visa aktuellt HDR/SDR-förhållande"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Enheten måste låsas upp för NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Fortsätt att använda appar i hopvikt läge"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Höjer automatiskt uppdateringsfrekvensen till <xliff:g id="ID_1">%1$d</xliff:g> Hz för visst innehåll. Ökar batteriförbrukningen."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Tvinga att den högsta uppdateringsfrekvensen körs"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Den högsta uppdateringsfrekvensen ger bättre tryckkänslighet och animationskvalitet. Ökar batteriförbrukningen."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Blickavkänning"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Allmänna inställningar"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN:er"</string>
<string name="apn_edit" msgid="2003683641840248741">"Redigera åtkomstpunkt"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Lägg till åtkomstpunkt"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Ej fastställt"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Har inte angetts"</string>
<string name="apn_name" msgid="6677695784108157953">"Namn"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Öppna med tillgänglighetsknappen"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Öppna genom att hålla ned volymknapparna"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Öppna genom att trycka snabbt tre gånger"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Tryck snabbt tre gånger på skärmen med två fingrar för att öppna"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Öppna med rörelse"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Använda tillgänglighetsrörelser"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Tryck på tillgänglighetsknappen <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> längst ned på skärmen om du vill använda denna funktion.\n\nByt funktion genom att hålla in tillgänglighetsknappen."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Tryck på tillgänglighetsknappen på skärmen om du vill använda den här funktionen."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Håll båda volymknapparna nedtryckta om du vill använda den här funktionen."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Tryck snabbt tre gånger någonstans på skärmen för att starta och avsluta förstoring."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Tryck snabbt tre gånger någonstans på skärmen med två fingrar för att starta och avsluta förstoring."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Svep uppåt med två fingrar från skärmens nederkant om du vill använda den här funktionen.\n\nByt funktion genom att svepa uppåt med två fingrar och hålla kvar dem."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Svep uppåt med tre fingrar från skärmens nederkant om du vill använda den här funktionen.\n\nByt funktion genom att svepa uppåt med tre fingrar och hålla kvar dem."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Svep uppåt med två fingrar från skärmens nederkant om du vill använda en tillgänglighetsfunktion.\n\nByt funktion genom att svepa uppåt med två fingrar och hålla kvar dem."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Håll ned volymknapparna"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"håll ned volymknapparna"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Håll båda volymknapparna nedtryckta"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Skärm för snabbt tryck tre gånger med två fingrar"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"skärm för snabbt tryck tre gånger med två fingrar"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Tryck snabbt {0,number,integer} gånger på skärmen med två fingrar"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tryck snabbt tre gånger på skärmen"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"tryck snabbt tre gånger på skärmen"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Tryck snabbt {0,number,integer} gånger på skärmen. Detta kortkommando kan göra enheten långsammare"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Den kan registrera din användning av en app eller maskinvarusensor och interagera med appar åt dig."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Tillåt"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Neka"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Stoppa"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Avbryt"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Vill du avbryta <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Om du trycker på <xliff:g id="STOP">%1$s</xliff:g> stoppas <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Inga tjänster är installerade"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ingen tjänst har valts"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Ingen beskrivning har angetts."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Om du begränsar bakgrundaktiviteten för en app kanske den inte fungerar som den ska"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Appen kan inte begränsas eftersom batterioptimering inte har angetts.\n\nAktivera batterioptimering för att begränsa appen."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Hantera batterianvändning"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Tillåt bakgrundsanvändning"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Aktivera för uppdateringar i realtid – inaktivera för att spara batteri"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Obegränsad"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimerad"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Begränsad"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Namn"</string>
<string name="vpn_type" msgid="5533202873260826663">"Typ"</string>
<string name="vpn_server" msgid="2908816134941973935">"Serveradress"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP-kryptering (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-hemlighet"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-identifierare"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"I förväg delad IPSec-nyckel"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-användarcertifikat"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-certifikat"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-servercertifikat"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Visa avancerade alternativ"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-sökdomäner"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-servrar (t.ex. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Vidarebefordrar rutter (t.ex. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Användarnamn"</string>
<string name="vpn_password" msgid="1183746907642628127">"Lösenord"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Spara kontoinformation"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(används inte)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(kontrollera inte servern)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(mottaget från server)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Den här VPN-typen kan inte vara ansluten hela tiden"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Always-on VPN har bara stöd för numeriska serveradresser"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"En DNS-server måste anges för Always-on VPN"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS-serveradresser måste vara numeriska för Always-on VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Information som angavs stöder inte Always-on VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Avbryt"</string>
<string name="vpn_done" msgid="5137858784289564985">"Ignorera"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Blockera anslutningar utan VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Ska VPN krävas vid anslutning?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Inte säker. Uppdatera till ett VPN med IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Välj en VPN-profil som du alltid vill vara ansluten till. Nätverkstrafik tillåts bara när du är ansluten till detta VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Inga"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Funktionen Always-on VPN kräver en IP-adress för både server och DNS."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Visa allt aviseringsinnehåll"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Visa känsligt innehåll endast i upplåst läge"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Visa inga aviseringar alls"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hur vill du att låsskärmen ska visas?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Vad ska visas på låsskärmen?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Låsskärm"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Visa allt innehåll i jobbaviseringarna"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Dölj känsligt jobbinnehåll"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Tillåt hanteringsåtkomst för alla filer"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Tillåt att den här appen får läsa, redigera och radera alla filer på enheten och eventuella anslutna lagringsutrymmen. Om du beviljar behörigheten kan appen komma åt filer utan att du informeras."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Har åtkomst till alla filer"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Röstaktiveringsappar"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Tillåt röstaktivering"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Röstaktivering aktiverar godkända appar via rösten med dina röstkommandon. Inbyggda adaptiva sensorer ser till att data förblir privat för dig.\n\n"<a href="">"Mer om skyddade och adaptiva sensorer"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Aviseringar i helskärm"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Tillåt aviseringar i helskärm från den här appen"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Tillåt att den här appen visar aviseringar som täcker hela skärmen när enheten är låst. Sådana aviseringar kan användas i appar för att lyfta fram alarm, inkommande samtal och andra brådskande aviseringar."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> förbrukade mer batteri än vanligt i bakgrunden"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> förbrukade mer batteri i förgrunden"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> förbrukade mer batteri än vanligt i förgrunden"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Avvikelse i batteriförbrukningen"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Hög batteriförbrukning"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Hög batteriförbrukning i bakgrunden"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Hög batteriförbrukning i förgrunden"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"systemnavigering, navigering med två knappar, navigering med tre knappar, navigering med rörelser, svepa"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistent"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Aktivera assistenten genom att svepa"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Svep uppåt från något av de nedre hörnen för att aktivera appen digital assistent."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Svep uppåt från något av de nedre hörnen för att aktivera appen digital assistent"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Håll hemknappen nedtryckt för att anropa Assistent"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Håll hemknappen nedtryckt för att anropa den digitala assistentappen."</string>
<string name="low_label" msgid="6525629096999711220">"Låg"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Välj genus"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Söker efter bedrägliga appar"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Kontrollera appaktivitet för att upptäcka nätfiske"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Använd genomsökning"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Använd genomsökning för jobbappar"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Sök efter bedrägliga appar"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Sök efter bedrägliga jobbappar"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index e1a5244..9510c76 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Kushiriki faili ya sauti"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Shiriki faili ya sauti"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Simu na kengele"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Unganisha kwenye mtiririko wa LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Mitiririko ya maudhui ya sauti iliyo karibu nawe"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Mitiririko ya maudhui ya sauti"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Unganisha kwenye mtiririko wa maudhui ya sauti ukitumia msimbo wa QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Mitiririko ya maudhui ya sauti haipo karibu."</string>
<string name="date_and_time" msgid="1788358029823431692">"Tarehe na saa"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Seva mbadala"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Futa"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Wasifu wa kazini"</string>
<string name="private_space_title" msgid="7078627930195569767">"Nafasi ya Faragha"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Ficha programu katika folda ya faragha"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Fungua ukitumia mbinu ya kufunga skrini"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Ficha programu katika folda ya faragha ambayo ni wewe tu unayeweza kufikia"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Mbinu ya kufunga Nafasi ya Faragha"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Unaweza kufungua Nafasi ya Faragha kupitia mbinu unayotumia kufungua kifaa chako, au uchague mbinu tofauti ya kufunga"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Tumia mbinu ya kufunga skrini ya kifaa"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Kipengele cha Kufungua kwa Alama ya Kidole na Uso"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Gusa ili uweke mipangilio"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Mbinu sawa ya kufunga skrini ya kifaa"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Utachagua mbinu mpya ya kufunga Nafasi ya Faragha?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Ficha wakati umefunga"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Ficha Nafasi ya Faragha wakati umefunga"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Ili Nafasi ya Faragha isionekane na wengine wanaotumia kifaa chako, ifiche kwenye orodha ya programu"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Fikia Nafasi ya Faragha wakati imefichwa"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Tafuta \'Nafasi ya Faragha\' kwenye upau wa kutafutia"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Gusa kigae cha Nafasi ya Faragha"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Fungua Nafasi yako ya Faragha"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Umezima"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Umewasha"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Mfumo"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Buni Nafasi ya Faragha"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Futa Nafasi ya Faragha"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Imebuni Nafasi ya Faragha"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Nafasi ya Faragha tayari ipo"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Imeshindwa kubuni Nafasi ya Faragha"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Imefuta Nafasi ya Faragha"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Imeshindwa kufuta Nafasi ya Faragha"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Weka mbinu ya kufunga skrini"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Ili utumie Chumba cha Faragha weka mbinu ya kufunga skrini kwenye kifaa hiki."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Weka mbinu ya kufunga skrini"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Ghairi"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Ghairi"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Weka mipangilio"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Weka mipangilio ya Nafasi ya Faragha"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Ficha programu za faragha katika sehemu salama isiyoweza kufikiwa na mtu mwingine"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Jinsi inavyofanya kazi"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Unaweza kufikia Nafasi ya Faragha kwenye sehemu ya chini ya orodha ya programu zako"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Programu katika Nafasi ya Faragha zinalindwa kupitia mbinu ya kufunga"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Arifa za programu kwenye Nafasi ya Faragha hufichwa wakati imefungwa"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Programu za Nafasi ya Faragha hazitaonekana kwenye kidhibiti cha ruhusa, dashibodi ya faragha na mipangilio mingine wakati umefunga Nafasi ya Faragha"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Inaweka mipangilio ya Nafasi ya Faragha…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Maelezo ya matumizi ya programu za Nafasi ya Faragha yamefichwa wakati imefungwa"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Fikia Nafasi ya Faragha kwenye orodha ya programu zako"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Baadhi ya programu za mfumo tayari zimesakinishwa kwenye Nafasi ya Faragha"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Imeshindwa kuweka mipangilio ya Nafasi ya Faragha"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Jaribu tena sasa, au urudi baadaye"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Jaribu Tena"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Ungependa kutumia mbinu ya kufungua skrini?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Unaweza kufungua Nafasi ya Faragha kwa mbinu unayotumia kufungua kifaa chako, au kuchagua mbinu tofauti ya kufunga"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Tumia mbinu ya kufunga skrini"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Chagua mbinu mpya ya kufunga"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Uko tayari kuanza!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"Unaweza kufikia Nafasi ya Faragha kwenye orodha ya programu zako"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Nimemaliza"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Sogeza chini ili ufikie Nafasi ya Faragha"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Ingia katika akaunti uweke mipangilio ya Nafasi ya Faragha"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Unahitaji kuingia katika akaunti ili uweke mipangilio ya Nafasi ya Faragha"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Ili kuonyesha Nafasi ya Faragha (Si UX ya mwisho)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Fungua Programu ya Mipangilio"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Gusa Usalama & faragha > Nafasi ya Faragha > Ficha Nafasi ya Faragha wakati imefungwa"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Zima kipengele cha kuwasha/kuzima mipangilio ya Ficha Nafasi ya Faragha wakati imefungwa"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Dokezo kwa WanaGoogle: Bado kipengele hiki kinatengenezwa"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Unaweza kuongeza hadi alama za vidole <xliff:g id="COUNT">%d</xliff:g>"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Umeongeza idadi ya juu inayoruhusiwa ya alama za kidole"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Haiwezi kuongeza alama zaidi za kidole"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Unganisha"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Tenganisha"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Oanisha kisha unganisha"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Wakati Bluetooth imewashwa, kifaa chako kinaweza kuwasiliana na vifaa vingine vyenye Bluetooth vilivyo karibu."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Wakati Bluetooth imewashwa, kifaa chako kinaweza kuwasiliana na vifaa vingine vyenye Bluetooth vilivyo karibu"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Wakati Bluetooth imewashwa, kifaa chako kinaweza kuwasiliana na vifaa vingine vyenye Bluetooth vilivyo karibu.\n\nIli kuboresha hali ya matumizi ya kifaa, programu na huduma bado zinaweza kutafuta vifaa vilivyo karibu wakati wowote, hata wakati umezima Bluetooth. Hali hii inaweza kutumika, kwa mfano, kuboresha huduma na vipengele vinavyohusiana na mahali. Unaweza kubadilisha mipangilio hii katika mipangilio ya kutafuta Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Badilisha"</string>
<string name="device_details_title" msgid="1155622417516195481">"Maelezo ya kifaa"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Ruhusu ART kuthibitisha msimbo wa baiti wa programu zinazoweza kutatuliwa"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Onyesha kiwango cha kuonyesha upya"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Onyesha kiwango cha kuonyesha upya cha sasa cha skrini"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Onyesha uwiano wa HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Onyesho uwiano wa sasa wa HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Hitaji kifaa kifunguliwe ili kipengele cha NFC kitumike"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Endelea kutumia programu ukiwa umekunja"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Onyesho Laini"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Hupandisha kiotomatiki kiwango cha kuonyesha upya hadi Hz <xliff:g id="ID_1">%1$d</xliff:g> kwa baadhi ya maudhui. Huongeza matumizi ya betri."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Lazimisha kiwango cha juu cha kuonyesha upya"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Kiwango cha juu kabisa cha kuonyesha upya kwa utendakazi wa mguso ulioboreshwa na ubora wa uhuishaji. Huongeza matumizi ya betri."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Utashi wa skrini"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Mipangilio ya jumuiya"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Badilisha mahali pa kufikia"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Weka mlango wa mtandao"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Haijawekwa"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Haijawekwa"</string>
<string name="apn_name" msgid="6677695784108157953">"Jina"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Tumia kitufe cha ufikivu kufungua"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Shikilia vitufe vya sauti ili ufungue"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Gusa skrini mara tatu ili ufungue"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Gusa skrini mara tatu kwa vidole viwili ili ufungue"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Tumia ishara ili ufungue"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Tumia ishara ya ufikivu"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Ili utumie kipengele hiki, gusa kitufe cha zana za ufikivu cha <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> katika sehemu ya chini ya skrini yako.\n\nIli ubadilishe kati ya vipengele, gusa na ushikilie kitufe cha zana za ufikivu."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Ili utumie kipengele hiki, gusa kitufe cha zana za ufikivu kwenye skrini yako."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Ili utumie kipengele hiki, bonyeza na ushikilie vitufe vyote viwili vya sauti."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Ili uanzishe na kusimamisha ukuzaji, gusa mara tatu mahali popote kwenye skrini yako."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Ili uanze au ukomeshe ukuzaji, gusa mara tatu mahali popote kwenye skrini yako kwa vidole viwili."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Ili utumie kipengele hiki, telezesha vidole viwili juu kutoka sehemu ya chini ya skrini.\n\nIli ubadilishe kati ya vipengele, telezesha vidole viwili juu na ushikilie."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Ili utumie kipengele hiki, telezesha vidole vitatu juu kutoka sehemu ya chini ya skrini.\n\nIli ubadilishe kati ya vipengele, telezesha vidole vitatu juu na ushikilie."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Ili utumie kipengele cha ufikivu, telezesha vidole viwili juu kutoka sehemu ya chini ya skrini.\n\nIli ubadilishe kati ya vipengele, telezesha vidole viwili juu na ushikilie."</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Shikilia vitufe vya sauti"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"shikilia vitufe vya sauti"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Bonyeza na ushikilie vitufe vyote viwili vya sauti"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Gusa skrini mara tatu kwa vidole viwili"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"gusa skrini mara tatu kwa vidole viwili"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Gusa skrini kwa haraka mara {0,number,integer} kwa vidole viwili"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Gusa skrini mara tatu"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"gusa skrini mara tatu"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Gusa skrini mara {0,number,integer} kwa haraka. Huenda njia hii ya mkato ikapunguza kasi ya kifaa chako"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Inaweza kufuatilia mawasiliano yako na programu au kitambuzi cha maunzi na kuwasiliana na programu zingine kwa niaba yako."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Ruhusu"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Kataa"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Komesha"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Ghairi"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Ungependa kuzima <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Kugusa <xliff:g id="STOP">%1$s</xliff:g> kutasimamisha <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Hakuna huduma zilizosanidiwa"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Hakuna huduma iliyochaguliwa"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Hakuna maelezo yaliyotolewa."</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ikiwa utadhibiti shughuli za chini chini za programu, huenda isifanye kazi vizuri"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Kwa kuwa programu hii haiboreshi matumizi ya betri, huwezi kuizuia.\n\nIli uizuie, washa kuboresha matumizi ya betri."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Dhibiti matumizi ya betri"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Ruhusu matumizi ya chinichini"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Washa upate masasisho katika wakati halisi, zima ili uokoe betri"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Yasiyodhibitiwa"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Yaliyoboreshwa"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Yanayodhibitiwa"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Jina"</string>
<string name="vpn_type" msgid="5533202873260826663">"Aina"</string>
<string name="vpn_server" msgid="2908816134941973935">"Anwani ya seva"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Usimbaji fiche wa PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Siri ya L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Kitambulizi cha IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Ufunguo wa IPSec ulioshirikiwa mapema"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Cheti cha mtumiaji cha IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Cheti cha IPSec CA"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Cheti cha seva cha IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Onyesha chaguo za kina"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Vikoa vya utafutaji DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Seva ya DNS (mfano 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Njia za usambazaji (mfano 10.0.0.0 / 8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Jina la mtumiaji"</string>
<string name="vpn_password" msgid="1183746907642628127">"Nenosiri"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Hifadhi maelezo ya akaunti"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(haijatumika)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(usithibitishe seva)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(imepokewa kutoka kwa seva)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Aina hii ya VPN haiwezi kuwa imeunganishwa kila mara"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Hali ya VPN iliyowashwa kila mara inatumia anwani za seva za tarakimu pekee"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Ni lazima ubainishe seva ya DNS katika hali ya VPN iliyowashwa kila mara"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Ni lazima anwani za seva za DNS ziwe tarakimu katika hali ya VPN iliyowashwa kila mara"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Maelezo uliyoweka hayatumiki katika hali ya VPN iliyowashwa kila mara"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Ghairi"</string>
<string name="vpn_done" msgid="5137858784289564985">"Ondoa"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Zuia miunganisho isiyotumia VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Je, unahitaji muunganisho wa VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Si salama. Sasisha utumie VPN toleo la IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Chagua wasifu wa VPN ambapo utakuwa umeunganishwa kila mara. Shughuli kwenye mtandao zitaruhusiwa tu wakati umeunganishwa kwenye VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Hamna"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Kila mara VPN iliyowashwa inahitaji anwani ya Itifaki Wavuti za seva na DNS."</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Onyesha maudhui yote ya arifa"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Onyesha tu maudhui nyeti wakati skrini imefunguliwa"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Usionyeshe arifa zozote"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Ungependa arifa zako zionyeshwe vipi kwenye skrini iliyofungwa?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ungependa skrini yako iliyofungwa ionyeshe nini?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Skrini iliyofungwa"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Onyesha maudhui yote ya arifa za kazi"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ficha maudhui nyeti ya kazini"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Ruhusu ufikiaji ili idhibiti faili zote"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Ruhusu programu hii isome, irekebishe na kufuta faili zote kwenye kifaa hiki au nafasi zozote za hifadhi zilizounganishwa. Ukiipa ruhusa, huenda programu ikafikia faili bila ufahamu wako."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Inaweza kufikia faili zote"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Programu zinazotumia amri ya sauti"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Ruhusu kipengele cha amri ya sauti"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Hatua ya kuwezesha sauti huwasha programu zilizoidhinishwa, bila kutumia mikono, kupitia amri ya sauti. Kipengele kilichojumuishwa cha utambuzi unaotegemea mazingira huhakikisha kuwa ni wewe tu unayeweza kuona data.\n\n"<a href="">"Maelezo zaidi kuhusu utambuzi unaotegemea mazingira"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Arifa za skrini nzima"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Ruhusu programu hii ionyeshe arifa kwenye skrini nzima"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Ruhusu programu hii ionyeshe arifa kwenye skrini nzima ukiwa umefunga kifaa. Programu zinaweza kutumia arifa hizi kuonyesha kengele, simu unazopigiwa au arifa nyingine muhimu."</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> imetumia betri zaidi kuliko kawaida ikiwa chinichini"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> imetumia betri zaidi wakati programu inatumika"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> imetumia betri zaidi kuliko kawaida wakati programu inatumika"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Hitilafu ya matumizi ya betri"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Matumizi ya juu ya betri"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Matumizi ya juu ya betri chinichini"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Matumizi ya juu ya betri wakati programu inatumika"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"usogezaji kwenye mfumo, usogezaji kwa kutumia vitufe 2, usogezaji kwa kutumia vitufe 3, usogezaji kwa kutumia ishara, telezesha kidole"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Mratibu dijitali"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Telezesha kidole ili uombe programu ya mratibu dijitali"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Telezesha kidole juu kutoka kona ya chini ili uombe programu ya mratibu dijitali."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Telezesha kidole juu kutoka kona ya chini ili uombe programu ya mratibu dijitali"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Shikilia kitufe cha Mwanzo ili uombe Mratibu"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Bonyeza na ushikilie Kitufe cha ukurasa wa mwanzo ili uombe programu ya mratibu dijitali."</string>
<string name="low_label" msgid="6525629096999711220">"Chini"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Chagua Jinsia ya kisarufi"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Inatafuta programu hasidi"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Kagua shughuli kwenye programu ili kubaini iwapo kuna wizi wa data binafsi"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Tumia ukaguzi"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Tumia ukaguzi kwa programu za kazini"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Kagua ili ugundue programu za kilaghai"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Kagua ili ugundue programu za kilaghai za kazini"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index e07d36c..b4b34a8 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"பிற சாதனங்கள்"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"சேமிக்கப்பட்ட சாதனங்கள்"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"கணக்குடன் தொடர்புடையது"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ஏற்கெனவே பயன்படுத்திய கணக்கு"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"கணக்குடன் ஏற்கெனவே பயன்படுத்தியவை"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"இணைப்பதற்கு, புளூடூத் ஆன் செய்யப்படும்"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"இணைப்பு விருப்பத்தேர்வுகள்"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"இதற்கு முன்னர் இணைத்தவை"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"ஸ்டைலஸ்"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ஆடியோவைப் பகிர்தல்"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ஆடியோவைப் பகிர்"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"அழைப்புகளும் அலாரங்களும்"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ஆடியோ ஸ்ட்ரீமுடன் இணைத்தல்"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"அருகிலுள்ள ஆடியோ ஸ்ட்ரீம்கள்"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"ஆடியோ ஸ்ட்ரீம்கள்"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR குறியீட்டைப் பயன்படுத்தி ஆடியோ ஸ்ட்ரீமுடன் இணைக்கலாம்"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"அருகில் ஆடியோ ஸ்ட்ரீம்கள் எதுவுமில்லை."</string>
<string name="date_and_time" msgid="1788358029823431692">"தேதி & நேரம்"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"ப்ராக்ஸி"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"அழி"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"பணிக் கணக்கு"</string>
<string name="private_space_title" msgid="7078627930195569767">"தனிப்பட்ட சேமிப்பிடம்"</string>
<string name="private_space_summary" msgid="8237652417163408001">"ஆப்ஸைத் தனிப்பட்ட ஃபோல்டரில் மறைக்கலாம்"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"திரைப் பூட்டைப் பயன்படுத்தி அன்லாக் செய்தல்"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"நீங்கள் மட்டுமே அணுகக்கூடிய தனிப்பட்ட ஃபோல்டரில் ஆப்ஸை மறைக்கலாம்"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"தனிப்பட்ட சேமிப்பிடப் பூட்டு"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"உங்கள் சாதனத்தை அன்லாக் செய்வதுபோலவே தனிப்பட்ட சேமிப்பிடத்தை அன்லாக் செய்யலாம் அல்லது வேறு பூட்டைத் தேர்ந்தெடுக்கலாம்"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"சாதனத் திரைப் பூட்டைப் பயன்படுத்துங்கள்"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"முகம் & கைரேகை மூலம் அன்லாக் செய்தல்"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"அமைக்க தட்டுங்கள்"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"சாதனத் திரைப் பூட்டைப் போன்றது"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"தனிப்பட்ட இடத்திற்கான புது பூட்டைத் தேர்வுசெய்யவா?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"பூட்டப்பட்டிருக்கும்போது மறைத்தல்"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"பூட்டப்பட்டிருக்கும்போது தனிப்பட்ட சேமிப்பிடத்தை மறைத்தல்"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"சாதனத்தில் உள்ள தனிப்பட்ட சேமிப்பிடத்தைப் பிறர் அறியக்கூடாதெனில், உங்கள் ஆப்ஸ் பட்டியலில் இருந்து அதை மறைக்கலாம்"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"மறைக்கப்பட்டிருக்கும்போது தனிப்பட்ட சேமிப்பிடத்தை அணுகுதல்"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"தேடல் பட்டியில் \'தனிப்பட்ட சேமிப்பிடம்\' எனத் தேடுங்கள்"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"தனிப்பட்ட சேமிப்பிடக் கட்டத்தைத் தட்டுங்கள்"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"உங்கள் தனிப்பட்ட சேமிப்பிடத்தை அன்லாக் செய்யுங்கள்"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"முடக்கப்பட்டுள்ளது"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"இயக்கப்பட்டுள்ளது"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"சிஸ்டம்"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"தனிப்பட்ட சேமிப்பிடத்தை உருவாக்குதல்"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"தனிப்பட்ட சேமிப்பிடத்தை நீக்குதல்"</string>
- <string name="private_space_created" msgid="2978055968937762232">"தனிப்பட்ட சேமிப்பிடம் உருவாக்கப்பட்டது"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"தனிப்பட்ட சேமிப்பிடம் ஏற்கெனவே உள்ளது"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"தனிப்பட்ட சேமிப்பிடத்தை உருவாக்க முடியவில்லை"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"தனிப்பட்ட சேமிப்பிடம் நீக்கப்பட்டது"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"தனிப்பட்ட சேமிப்பிடத்தை நீக்க முடியவில்லை"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"திரைப் பூட்டை அமையுங்கள்"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"தனிப்பட்ட சேமிப்பிடத்தை உபயோகிக்க, திரைப் பூட்டை அமைக்கவும்."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"திரைப் பூட்டை அமை"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"ரத்துசெய்"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"ரத்துசெய்"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"அமை"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"தனிப்பட்ட சேமிப்பிடத்தை அமைத்தல்"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"நீங்கள் மட்டுமே அணுகக்கூடிய பாதுகாப்பான இடத்தில் தனிப்பட்ட ஆப்ஸை மறைக்கலாம்"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"இது செயல்படும் விதம்"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"உங்கள் ஆப்ஸ் பட்டியலின் கீழ்ப்பகுதியில் இருந்து தனிப்பட்ட சேமிப்பிடத்தை அணுகலாம்"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"தனிப்பட்ட சேமிப்பிடத்தில் உள்ள ஆப்ஸ் ஒரு பூட்டால் பாதுகாக்கப்படுகின்றன"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"தனிப்பட்ட சேமிப்பிடம் பூட்டப்பட்டிருக்கும்போது அதிலுள்ள ஆப்ஸின் அறிவிப்புகள் மறைக்கப்படும்"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"தனிப்பட்ட சேமிப்பிடம் பூட்டப்பட்டிருக்கும்போது அதிலுள்ள ஆப்ஸ், அனுமதி நிர்வாகம், தனியுரிமை டாஷ்போர்டு மற்றும் பிற அமைப்புகளில் காட்டப்படாது"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"தனிப்பட்ட சேமிப்பிடத்தை அமைக்கிறது…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"தனிப்பட்ட சேமிப்பிடம் பூட்டப்பட்டிருக்கும்போது அதிலுள்ள ஆப்ஸின் உபயோகத் தகவல்கள் மறைக்கப்படும்"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"ஆப்ஸ் பட்டியலில் உள்ள தனிப்பட்ட சேமிப்பிடத்தை அணுகுதல்"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"தனிப்பட்ட சேமிப்பிடத்தை அமைக்க முடியவில்லை"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"இப்போது முயலவும் அல்லது பிறகு வந்து பார்க்கவும்"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"மீண்டும் முயல்க"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"அன்லாக் செய்ய திரைப் பூட்டைப் பயன்படுத்தவா?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"உங்கள் சாதனத்தை அன்லாக் செய்வதுபோலவே தனிப்பட்ட சேமிப்பிடத்தை அன்லாக் செய்யலாம் அல்லது வேறு பூட்டைத் தேர்ந்தெடுக்கலாம்"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"திரைப் பூட்டைப் பயன்படுத்து"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"புதிய பூட்டைத் தேர்ந்தெடு"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"எல்லாம் தயார்!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"முடிந்தது"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"தனிப்பட்ட சேமிப்பிடத்தை அணுக கீழே செல்லவும்"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"தனிப்பட்ட சேமிப்பிடத்தை அமைக்க உள்நுழையுங்கள்"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"தனிப்பட்ட சேமிப்பிடத்தை அமைக்க நீங்கள் ஒரு கணக்கில் உள்நுழைய வேண்டும்"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"தனிப்பட்ட சேமிப்பிடத்தைக் காட்ட (இறுதி பயனர் அனுபவம் அல்ல)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"அமைப்புகள் ஆப்ஸைத் திறக்கவும்"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"\'பாதுகாப்பு & தனியுரிமை > தனிப்பட்ட சேமிப்பிடம் > பூட்டியிருக்கையில் தனிப்பட்ட சேமிப்பிடத்தை மறை\' என்பதைத் தட்டவும்"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"\'பூட்டியிருக்கையில் தனிப்பட்ட சேமிப்பிடத்தை மறை\' என்பதை முடக்கவும்"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Googlerகளின் கவனத்திற்கு: இந்த அம்சத்தின் மேம்பாடு இன்னும் செயலில் உள்ளது"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"<xliff:g id="COUNT">%d</xliff:g> கைரேகைகள் வரை சேர்க்கலாம்"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"அனுமதிக்கப்படும் அதிகபட்சக் கைரேகைகளைச் சேர்த்துவிட்டீர்கள்"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"மேலும் கைரேகைகளைச் சேர்க்க முடியவில்லை"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"இணை"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"துண்டி"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ஜோடி சேர்த்து & இணை"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"புளூடூத் இயக்கத்தில் இருக்கும்போது, உங்கள் சாதனம் அருகிலுள்ள பிற புளூடூத் சாதனங்களைத் தொடர்புகொள்ளலாம்."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"புளூடூத் இயக்கப்பட்டிருக்கும்போது, உங்கள் சாதனம் அருகிலுள்ள பிற புளூடூத் சாதனங்களைத் தொடர்புகொள்ளலாம்"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"புளூடூத் ஆன் செய்யப்பட்டிருக்கும்போது உங்கள் சாதனத்தால் அருகிலுள்ள பிற புளூடூத் சாதனங்களைத் தொடர்புகொள்ள முடியும்.\n\nசாதன அனுபவத்தை மேம்படுத்த, புளூடூத் ஆஃப் செய்யப்பட்டிருந்தாலும்கூட ஆப்ஸும் சேவைகளும் எப்போது வேண்டுமானாலும் அருகிலுள்ள சாதனங்களைத் தேடலாம். உதாரணமாக, இருப்பிடம் சார்ந்த அம்சங்களையும் சேவைகளையும் மேம்படுத்த இதைப் பயன்படுத்தலாம். புளூடூத் ஸ்கேனிங் அமைப்புகளில் இதை மாற்றிக்கொள்ளலாம்."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"மாற்றுதல்"</string>
<string name="device_details_title" msgid="1155622417516195481">"சாதன விவரங்கள்"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"பிழைதிருத்த, ஆப்ஸிற்கான பைட்கோடைச் சரிபார்க்க ARTயை அனுமதிக்கும்"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"ரெஃப்ரெஷ் விகிதம் காட்டு"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"தற்போதைய டிஸ்ப்ளே ரெஃப்ரெஷ் விகிதத்தைக் காட்டும்"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR விகிதத்தைக் காட்டு"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"தற்போதைய HDR/SDR விகிதத்தைக் காட்டும்"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFCக்கு சாதனம் அன்லாக் செய்யப்படுவதை அவசியமாக்குதல்"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android பீம்"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"மடக்கிய நிலையிலேயே தொடர்ந்து ஆப்ஸைப் பயன்படுத்துதல்"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"சீரான காட்சி"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"சில உள்ளடக்கத்திற்குப் புதுப்பிக்கும் விகிதத்தை <xliff:g id="ID_1">%1$d</xliff:g> Hzக்குத் தானாகவே உயர்த்தும். பேட்டரி உபயோகத்தை அதிகரிக்கும்."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"கட்டாயமான அதிகபட்ச ரெஃப்ரெஷ் விகிதம்"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"மேம்பட்ட தொடு இயக்கத்திறனுக்கும் அனிமேஷன் தரத்திற்குமான அதிவேக ரெஃப்ரெஷ் விகிதம். இதனால் பேட்டரி உபயோகம் அதிகரிக்கும்."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"திரை மீது கவனம்"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"சமூக அமைப்புகள்"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN பட்டியல்"</string>
<string name="apn_edit" msgid="2003683641840248741">"ஆக்சஸ் பாயிண்ட்டைத் திருத்து"</string>
+ <string name="apn_add" msgid="9069613192201630934">"ஆக்சஸ் பாயின்ட்டைச் சேர்த்தல்"</string>
<string name="apn_not_set" msgid="8246646433109750293">"அமைக்கப்படவில்லை"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"அமைக்கப்படவில்லை"</string>
<string name="apn_name" msgid="6677695784108157953">"பெயர்"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"திறக்க அணுகல்தன்மை பட்டனைப் பயன்படுத்துதல்"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"திறக்க ஒலியளவு விசைகளைப் பிடித்திருக்கவும்"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"திறக்க திரையில் 3 முறை தட்டவும்"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"இரண்டு விரல்களால் திரையில் மூன்று முறை தட்டி திறத்தல்"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"திறக்க சைகைகளைப் பயன்படுத்துதல்"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"அணுகல்தன்மை சைகையைப் பயன்படுத்தவும்"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"இந்த அம்சத்தைப் பயன்படுத்த திரையின் கீழ்ப்பகுதியில் உள்ள அணுகல்தன்மை பட்டனை <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> தட்டவும்.\n\nஅம்சங்களுக்கு இடையே மாற, அணுகல்தன்மை பட்டனைத் தொட்டுப் பிடித்திருக்கவும்."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"இந்த அம்சத்தைப் பயன்படுத்த, உங்கள் திரையிலுள்ள அணுகல்தன்மை பட்டனைத் தட்டுங்கள்."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"இந்த அம்சத்தைப் பயன்படுத்த ஒலியளவுக்கான விசைகளை அழுத்திப் பிடித்திருக்கவும்."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"பெரிதாக்குவதைத் தொடங்கவும் நிறுத்தவும், திரையில் எங்காவது மூன்று முறை தட்டவும்."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"பெரிதாக்குவதைத் தொடங்கவும் நிறுத்தவும், திரையில் எங்காவது இரண்டு விரல்களால் மூன்று முறை தட்டவும்."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"இந்த அம்சத்தைப் பயன்படுத்த திரையின் கீழிருந்து மேலாக 2 விரல்களால் ஸ்வைப் செய்யவும்.\n\nஅம்சங்களுக்கு இடையே மாற 2 விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடித்திருக்கவும்."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"இந்த அமசத்தைப் பயன்படுத்த திரையின் கீழிருந்து மேலாக 3 விரல்களால் ஸ்வைப் செய்யவும்.\n\nஅம்சங்களுக்கு இடையே மாற 3 விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடித்திருக்கவும்."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"அணுகல்தன்மை அம்சத்தைப் பயன்படுத்த திரையின் கீழிருந்து மேலாக 2 விரல்களால் ஸ்வைப் செய்யவும்.\n\nஅம்சங்களுக்கு இடையே மாற 2 விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடித்திருக்கவும்."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ஒலியளவுக்கான விசைகளைப் பிடிக்கவும்"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ஒலியளவு விசைகளைப் பிடித்திருக்கவும்"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"இரண்டு ஒலியளவு விசைகளையும் அழுத்திப் பிடித்திருக்கவும்"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"இரண்டு விரல்களால் திரையில் மூன்று முறை தட்டுதல்"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"இரண்டு விரல்களால் திரையில் மூன்று முறை தட்டுதல்"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"இரண்டு விரல்களால் திரையில் {0,number,integer} முறை விரைவாகத் தட்டுங்கள்"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"திரையில் மூன்று முறை தட்டுதல்"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"திரையில் மூன்று முறை தட்டவும்"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"திரையை விரைவாக {0,number,integer} முறை தட்டவும். இந்த ஷார்ட்கட் உங்கள் சாதனத்தின் வேகத்தைக் குறைக்கக்கூடும்"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"ஏதேனும் ஆப்ஸ் அல்லது வன்பொருள் சென்சாரின் உதவியுடன் உரையாடல்களைக் கண்காணித்து உங்கள் சார்பாக ஆப்ஸுடன் உரையாட இச்சேவையால் இயலும்."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"அனுமதி"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"நிராகரி"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"நிறுத்து"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ரத்துசெய்"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> சேவையை நிறுத்தவா?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> என்பதைத் தட்டினால் <xliff:g id="SERVICE">%2$s</xliff:g> நிறுத்தப்படும்."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"சேவைகள் எதுவும் நிறுவப்படவில்லை"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"சேவை எதையும் தேர்ந்தெடுக்கவில்லை"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"விளக்கம் எதுவும் வழங்கப்படவில்லை."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ஆப்ஸின் பின்னணி செயல்பாட்டைக் கட்டுப்படுத்தினால், சரியாக வேலை செய்யாது."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"பேட்டரியை மேம்படுத்த அமைக்கப்படவில்லை, எனவே கட்டுப்படுத்த முடியாது.\n\nஆப்ஸை கட்டுப்படுத்த, பேட்டரி மேம்படுத்தலை ஆன் செய்க."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"பேட்டரி உபயோகத்தை நிர்வகித்தல்"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"பின்னணி உபயோகத்தை அனுமதித்தல்"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"நிகழ்நேர அறிவிப்புகளுக்காக இயக்கலாம், பேட்டரியைச் சேமிக்க முடக்கலாம்"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"கட்டுப்பாடற்ற பேட்டரி"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"மேம்படுத்தப்பட்டது"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"வரம்பிடப்பட்டது"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"பெயர்"</string>
<string name="vpn_type" msgid="5533202873260826663">"வகை"</string>
<string name="vpn_server" msgid="2908816134941973935">"சேவையக முகவரி"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP என்க்ரிப்ட் (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP ரகசியம்"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec அடையாளங்காட்டி"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec முன் பகிர்வு விசை"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec பயனர் சான்றிதழ்"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA சான்றிதழ்"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec சேவையகச் சான்றிதழ்"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"மேம்பட்ட விருப்பங்களைக் காட்டு"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS தேடல் டொமைன்கள்"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS சேவையகங்கள் (எ.கா. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"முன்னனுப்பும் பாதைகள் (எ.கா. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"பயனர்பெயர்"</string>
<string name="vpn_password" msgid="1183746907642628127">"கடவுச்சொல்"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"கணக்கின் தகவலைச் சேமி"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(பயன்படுத்தப்படவில்லை)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(சேவையகத்தைச் சரிபார்க்க வேண்டாம்)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(சேவையகத்திலிருந்து பெறப்பட்டது)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"எல்லா நேரமும் இந்த VPN வகை இணைக்கப்பட்டிருக்காது"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"எப்போதும் VPNஐ இயக்கத்திலேயே வைக்கும் விருப்பமானது எண் வடிவச் சேவையக முகவரிகளை மட்டுமே ஆதரிக்கும்"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"எப்போதும் VPNஐ இயக்கத்திலேயே வைக்க, ஒரு DNS சேவையகத்தைக் குறிப்பிட வேண்டும்"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"எப்போதும் VPNஐ இயக்கத்திலேயே வைக்க, DNS சேவையக முகவரிகள் எண் வடிவில் இருக்க வேண்டும்"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"உள்ளிட்ட தகவலானது எப்போதும் VPNஐ இயக்கத்திலேயே வைப்பதை ஆதரிக்கவில்லை"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"ரத்துசெய்"</string>
<string name="vpn_done" msgid="5137858784289564985">"விலக்கு"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN இல்லாமல் இணைப்புகளைத் தடு"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN இணைப்பு வேண்டுமா?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"பாதுகாப்பற்றது. IKEv2 VPNனுக்குப் புதுப்பிக்கவும்"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"எப்போதும் இணைந்திருக்க வேண்டிய VPN சுயவிவரத்தைத் தேர்ந்தெடுக்கவும். இந்த VPN உடன் இணைந்திருக்கும்போது மட்டுமே நெட்வொர்க்கின் டிராஃபிக் அனுமதிக்கப்படும்."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"ஏதுமில்லை"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"எப்போதும் இயக்கத்தில் இருக்கும் VPN க்கு சேவையகங்கள் மற்றும் DNS ஆகியவற்றின் IP முகவரி தேவைப்படுகிறது."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"எல்லா அறிவிப்பு விவரத்தையும் காட்டு"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"பாதுகாக்க வேண்டியவற்றை அன்லாக்கில் மட்டும் காட்டு"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"அறிவிப்புகளை ஒருபோதும் காட்டாதே"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"லாக் ஸ்கிரீன் எப்படி இருக்க வேண்டும்?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"உங்கள் பூட்டுத் திரை எதைக் காட்ட வேண்டும் என விரும்புகிறீர்கள்?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"லாக் ஸ்கிரீன்"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"எல்லா பணி அறிவிப்பு விவரத்தையும் காட்டு"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"பாதுகாக்க வேண்டிய பணி உள்ளடக்கத்தை மறை"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"ஃபைல்கள் அனைத்தையும் நிர்வகிப்பதற்கு அனுமதி"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"இந்த சாதனத்திலோ இணைக்கப்பட்டுள்ள சேமிப்பகங்களிலோ உள்ள ஃபைல்கள் அனைத்தையும் படிக்கவும் நீக்கவும் அவற்றில் மாற்றங்களைச் செய்யவும் இந்த ஆப்ஸை அனுமதிக்கும். அனுமதி வழங்கப்படும் பட்சத்தில் உங்களுக்குத் தெரியாமலேயே ஃபைல்களை ஆப்ஸ் அணுகக்கூடும்."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"அனைத்து ஃபைல்களையும் அணுகமுடிந்த ஆப்ஸ்"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"குரல் மூலம் செயல்படுத்தக்கூடிய ஆப்ஸ்"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"\'குரல் மூலம் செயல்படுத்தலை\' அனுமதித்தல்"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"குரல் மூலம் செயல்படுத்தல் அம்சத்தின் மூலம், கைகளைப் பயன்படுத்தாமல் குரல் கட்டளையைப் பயன்படுத்தி அனுமதிக்கப்பட்ட ஆப்ஸை இயக்கலாம். சூழல் சார்ந்த உள்ளமைந்த சென்சார், தரவைத் தனிப்பட்டதாகவும் உங்களால் மட்டும் பார்க்கக்கூடியதாகவும் வைத்திருப்பதை உறுதிசெய்கிறது.\n\n"<a href="">"பாதுகாப்பான சூழல் சார்ந்த சென்சார் குறித்து மேலும் அறிக"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"முழுத்திரை அறிவிப்புகள்"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"இந்த ஆப்ஸிலிருந்து முழுத்திரை அறிவிப்புகளைக் காட்ட அனுமதித்தல்"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"சாதனம் பூட்டப்பட்டிருக்கும்போது முழுத்திரையில் அறிவிப்புகளைக் காட்ட இந்த ஆப்ஸை அனுமதிக்கும். அலாரங்கள், உள்வரும் அழைப்புகள் அல்லது பிற அவசர அறிவிப்புகளைத் தனிப்படுத்திக் காட்ட ஆப்ஸ் இவற்றைப் பயன்படுத்தக்கூடும்."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ஆப்ஸ் பின்னணியில் இயங்கும்போது வழக்கத்தைவிட பேட்டரியை அதிகமாக உபயோகிக்கிறது"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ஆப்ஸ் முன்புலத்தில் இயங்கும்போது பேட்டரியை அதிகமாக உபயோகிக்கிறது"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ஆப்ஸ் முன்புலத்தில் இயங்கும்போது வழக்கத்தைவிட பேட்டரியை அதிகமாக உபயோகிக்கிறது"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"பேட்டரி உபயோக முரண்பாடு"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"அதிக பேட்டரி உபயோகம்"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"பின்னணியில் அதிக பேட்டரி உபயோகம்"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"முன்புலத்தில் அதிக பேட்டரி உபயோகம்"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"சிஸ்டம் வழிசெலுத்தல், 2 பட்டன் வழிசெலுத்தல், 3 பட்டன் வழிசெலுத்தல், சைகை வழிசெலுத்தல், ஸ்வைப்"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"டிஜிட்டல் அசிஸ்டண்ட்"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"அசிஸ்டண்ட்டைத் துவக்க ஸ்வைப் செய்தல்"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"டிஜிட்டல் அசிஸ்டண்ட் ஆப்ஸைத் துவக்க, கீழ் மூலையிலிருந்து மேல்நோக்கி ஸ்வைப் செய்யலாம்."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"டிஜிட்டல் அசிஸ்டண்ட் ஆப்ஸைத் துவக்க, கீழ் மூலையிலிருந்து மேல்நோக்கி ஸ்வைப் செய்யலாம்"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistantடை இயக்க முகப்பு பட்டனை அழுத்திப் பிடித்தல்"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"டிஜிட்டல் அசிஸ்டண்ட் ஆப்ஸைத் துவக்க, முகப்புப் பட்டனை அழுத்திப் பிடிக்கவும்."</string>
<string name="low_label" msgid="6525629096999711220">"குறைவு"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"இலக்கணப் பாலினத்தைத் தேர்ந்தெடுத்தல்"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"ஏமாற்றுகின்ற ஆப்ஸிற்கு ஸ்கேன் செய்தல்"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"ஃபிஷிங்கிற்கான ஆப்ஸ் உபயோகத்தைப் பாருங்கள்"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"ஸ்கேனிங்கைப் பயன்படுத்துதல்"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"பணி ஆப்ஸிற்கு ஸ்கேனிங்கைப் பயன்படுத்துதல்"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ஏமாற்றக்கூடிய ஆப்ஸுக்கான ஸ்கேனிங்கை உபயோகித்தல்"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ஏமாற்றக்கூடிய பணி ஆப்ஸுக்கான ஸ்கேனிங்கை உபயோகித்தல்"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index ce60575..23f9c09 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"ఇతర పరికరాలు"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"సేవ్ చేసిన పరికరాలు"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"ఈ ఖాతాతో అనుబంధించబడిన పరికరాలు"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ఖాతాతో గతంలో ఉపయోగించబడింది"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ఈ ఖాతా ద్వారా గతంలో ఉపయోగించినవి"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"పెయిరింగ్ కోసం బ్లూటూత్ ఆన్ చేయబడుతుంది"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"కనెక్షన్ ప్రాధాన్యతలు"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ఇంతకు మునుపు కనెక్ట్ చేయబడినవి"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"స్టైలస్"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"ఆడియో షేరింగ్"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"ఆడియోను షేర్ చేయండి"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"కాల్స్, అలారాలు"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ఆడియో స్ట్రీమ్కు కనెక్ట్ చేయండి"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"సమీప ఆడియో స్ట్రీమ్లు"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"ఆడియో స్ట్రీమ్లు"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR కోడ్ను ఉపయోగించి ఆడియో స్ట్రీమ్కు కనెక్ట్ చేయండి"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"సమీప ఆడియో స్ట్రీమ్లు ఏవీ కనుగొనబడలేదు."</string>
<string name="date_and_time" msgid="1788358029823431692">"తేదీ & సమయం"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"ప్రాక్సీ"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"క్లియర్ చేయండి"</string>
@@ -539,7 +543,14 @@
<string name="work_profile_category_header" msgid="85707750968948517">"వర్క్ ప్రొఫైల్"</string>
<string name="private_space_title" msgid="7078627930195569767">"ప్రైవేట్ స్పేస్"</string>
<string name="private_space_summary" msgid="8237652417163408001">"యాప్లను ప్రైవేట్ ఫోల్డర్లో దాచండి"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"స్క్రీన్ లాక్ను ఉపయోగించి అన్లాక్ చేయండి"</string>
+ <string name="private_space_description" msgid="5494963647270826210">"మీరు మాత్రమే యాక్సెస్ చేయగల ప్రైవేట్ ఫోల్డర్లో యాప్లను దాచండి"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"ప్రైవేట్ స్పేస్ లాక్"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"మీరు మీ పరికరాన్ని ఎలా అయితే అన్లాక్ చేస్తారో, అలాగే ప్రైవేట్ స్పేస్ను అన్లాక్ చేయవచ్చు, లేదా వేరే లాక్ను ఎంచుకోవచ్చు"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"పరికర స్క్రీన్ లాక్ను ఉపయోగించండి"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"ముఖం & వేలిముద్ర అన్లాక్"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"సెటప్ చేయడానికి ట్యాప్ చేయండి"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"పరికర స్క్రీన్ లాక్ లాంటిది"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"ప్రైవేట్ స్పేస్ కోసం కొత్త లాక్ను ఎంచుకోవాలా?"</string>
<string name="private_space_hide_title" msgid="8687034008994037610">"లాక్ చేయబడినప్పుడు దాచండి"</string>
<string name="privatespace_hide_page_title" msgid="972581369094289386">"లాక్ చేయబడినప్పుడు ప్రైవేట్ స్పేస్ను దాచండి"</string>
<string name="privatespace_hide_page_summary" msgid="1052569521186403642">"మీ పరికరంలో ప్రైవేట్ స్పేస్ ఉందని ఇతర వ్యక్తులకు తెలియకుండా ఆపడానికి, మీరు దానిని మీ యాప్ల లిస్ట్లో దాచవచ్చు"</string>
@@ -550,11 +561,7 @@
<string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ఆఫ్లో ఉంది"</string>
<string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ఆన్లో ఉంది"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"సిస్టమ్"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"ప్రైవేట్ స్పేస్ను క్రియేట్ చేయండి"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"ప్రైవేట్ స్పేస్ను తొలగించండి"</string>
- <string name="private_space_created" msgid="2978055968937762232">"ప్రైవేట్ స్పేస్ విజయవంతంగా క్రియేట్ చేయబడింది"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"ప్రైవేట్ స్పేస్ ఇప్పటికే ఉంది"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"ప్రైవేట్ స్పేస్ను క్రియేట్ చేయడం సాధ్యం కాలేదు"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"ప్రైవేట్ స్పేస్ విజయవంతంగా తొలగించబడింది"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"ప్రైవేట్ స్పేస్ను తొలగించడం సాధ్యం కాలేదు"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"స్క్రీన్ లాక్ను సెట్ చేయండి"</string>
@@ -568,40 +575,32 @@
<string name="privatespace_how_title" msgid="8794102046435526065">"ఇది ఎలా పని చేస్తుంది"</string>
<string name="privatespace_access_bottom_text" msgid="1075244097441349030">"మీరు మీ యాప్ల జాబితా కింద నుండి ప్రైవేట్ స్పేస్ను యాక్సెస్ చేయవచ్చు"</string>
<string name="privatespace_protected_lock_text" msgid="7320604832432017423">"ప్రైవేట్ స్పేస్లోని యాప్లు లాక్ చేయడం ద్వారా రక్షించబడతాయి"</string>
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"ప్రైవేట్ స్పేస్ లాక్ అయ్యి ఉన్నప్పుడు, అందులోని యాప్ల నుండి నోటిఫికేషన్లు రావు"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"ప్రైవేట్ స్పేస్ లాక్ అయ్యి ఉన్నప్పుడు, అందులోని యాప్లు అనుమతి మేనేజర్లో, గోప్యతా డ్యాష్బోర్డ్లో, ఇతర సెట్టింగ్లలో కనిపించవు"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"ప్రైవేట్ స్పేస్ సెటప్ ప్రోగ్రెస్లో ఉంది…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"ప్రైవేట్ స్పేస్ లాక్ అయ్యి ఉన్నప్పుడు, అందులోని యాప్లకు సంబంధించిన వినియోగ సమాచారం దాచబడి ఉంటుంది"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"మీ యాప్ల లిస్ట్ నుండి ప్రైవేట్ స్పేస్ను యాక్సెస్ చేయండి"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"ప్రైవేట్ స్పేస్ను సెటప్ చేయడం సాధ్యపడలేదు"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"ఇప్పుడే మళ్లీ ట్రై చేయండి, లేదా తర్వాత తిరిగి రండి"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"మళ్లీ ట్రై చేయండి"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"అన్లాకింగ్కు స్క్రీన్ లాక్ వాడాలనుకుంటున్నారా?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"మీరు మీ పరికరాన్ని ఎలా అయితే అన్లాక్ చేస్తారో, అలాగే ప్రైవేట్ స్పేస్ను అన్లాక్ చేయవచ్చు, లేదా వేరే లాక్ను ఎంచుకోవచ్చు"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"స్క్రీన్ లాక్ను ఉపయోగించండి"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"కొత్త లాక్ను ఎంచుకోండి"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"సెటప్ పూర్తయింది!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"పూర్తయింది"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"ప్రైవేట్ స్పేస్ యాక్సెస్ చేయడానికి కిందికి స్క్రోల్ చేయండి"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"ప్రైవేట్ స్పేస్ను సెటప్ చేయడానికి సైన్ ఇన్ చేయండి"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"ప్రైవేట్ స్పేస్ను సెటప్ చేయడానికి మీరు ఖాతాకు సైన్ ఇన్ చేయాలి"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"ప్రైవేట్ స్పేస్ను చూపించడానికి (ఫైనల్ UX కాదు)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"సెట్టింగ్లు యాప్ను తెరవండి"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"సెక్యూరిటీ, గోప్యత, ప్రైవేట్ స్పేస్లను ట్యాప్ చేయండి; లాక్ చేయబడినప్పుడు ప్రైవేట్ స్పేస్ను దాచండి"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"టోగుల్ను లాక్ చేస్తే \'ప్రైవేట్ స్పేస్ చూపద్దు\'ను ఆఫ్ చేయండి"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google ఉద్యోగులకు గమనిక: ఈ ఫీచర్ను డెవలప్ చేయడం ఇంకా ప్రోగ్రెస్లో ఉంది"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"మీరు గరిష్ఠంగా <xliff:g id="COUNT">%d</xliff:g> వేలిముద్రలను జోడించవచ్చు"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"మీరు గరిష్ట సంఖ్యలో వేలిముద్రలను జోడించారు"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"మరిన్ని వేలిముద్రలను జోడించడం సాధ్యపడదు"</string>
@@ -765,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"కనెక్ట్ చేయండి"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"డిస్కనెక్ట్ చేయండి"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"పెయిర్ చేసి, కనెక్ట్ చేయండి"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"బ్లూటూత్ను ఆన్ చేసినప్పుడు, సమీపంలోని ఇతర బ్లూటూత్ పరికరాలతో మీ పరికరం కమ్యూనికేట్ చేయగలదు."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"బ్లూటూత్తో, బ్లూటూత్ పరికరాలకు మీది లింక్ కాగలదు"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"బ్లూటూత్ ఆన్ చేసినప్పుడు, సమీపంలోని ఇతర బ్లూటూత్ పరికరాలతో మీ పరికరం కమ్యూనికేట్ చేయగలదు.\n\nపరికర వినియోగ అనుభూతిని మెరుగుపరచడానికి, ఏ సమయంలోనైనా, బ్లూటూత్ ఆఫ్లో ఉన్నప్పుడు కూడా, సమీపంలోని పరికరాలను, యాప్లు, సర్వీస్లు ఇప్పటికీ స్కాన్ చేయగలవు. ఉదాహరణకు, లొకేషన్ ఆధారిత ఫీచర్లు, సర్వీస్లను మెరుగుపరచడానికి దీనిని ఉపయోగించవచ్చు. మీరు దీన్ని బ్లూటూత్ స్కానింగ్ సెట్టింగ్లలో మార్చవచ్చు."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"మార్చండి"</string>
<string name="device_details_title" msgid="1155622417516195481">"పరికర వివరాలు"</string>
@@ -818,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"డీబగ్ చేయదగిన యాప్ల బైట్కోడ్ చెక్ చేయడం కోసం ARTని అనుమతించండి"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"రిఫ్రెష్ రేటును చూపడం"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"ప్రస్తుత డిస్ప్లేకు చెందిన రిఫ్రెష్ రేట్ చూపండి"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR నిష్పత్తిని చూడండి"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"ప్రస్తుత HDR/SDR నిష్పత్తిని చూడండి"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC కోసం పరికరాన్ని అన్లాక్ చేయాలి"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1119,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"ఫోల్డ్లో ఉన్న యాప్లను ఉపయోగించడం కొనసాగించండి"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"స్మూత్ డిస్ప్లే"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"కొంత కంటెంట్ విషయంలో, రిఫ్రెష్ రేటును ఆటోమేటిక్గా <xliff:g id="ID_1">%1$d</xliff:g> Hz వరకు పెంచుతుంది. బ్యాటరీ వినియోగం పెరుగుతుంది."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ఫోర్స్ పీక్ రిఫ్రెష్ రేటు"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"మెరుగైన స్పర్శ ప్రతిస్పందన & యానిమేషన్ క్వాలిటీ కోసం అత్యధిక రిఫ్రెష్ రేటు. ఇది బ్యాటరీ వినియోగం పెరిగేలా చేస్తుంది."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"స్క్రీన్ అటెన్షన్"</string>
@@ -1356,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"కమ్యూనల్ సెట్టింగ్లు"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNలు"</string>
<string name="apn_edit" msgid="2003683641840248741">"యాక్సెస్ పాయింట్ను ఎడిట్ చేయండి"</string>
+ <string name="apn_add" msgid="9069613192201630934">"యాక్సెస్ పాయింట్ను జోడించండి"</string>
<string name="apn_not_set" msgid="8246646433109750293">"సెట్ చేయలేదు"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"సెట్ చేయలేదు"</string>
<string name="apn_name" msgid="6677695784108157953">"పేరు"</string>
@@ -1990,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"తెరవడానికి యాక్సెసిబిలిటీ బటన్ను ఉపయోగించండి"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"తెరవడానికి వాల్యూమ్ కీలను పట్టుకుని అలాగే ఉండండి"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"తెరవడానికి స్క్రీన్పై మూడు సార్లు ట్యాప్ చేయండి"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"తెరవడానికి రెండు వేళ్లతో స్క్రీన్ను మూడుసార్లు ట్యాప్ చేయండి"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"తెరవడానికి సంజ్ఞను ఉపయోగించండి"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"యాక్సెసిబిలిటీ సంజ్ఞను ఉపయోగించండి"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ఈ ఫీచర్ను ఉపయోగించడానికి, మీ స్క్రీన్ దిగువన ఉన్న యాక్సెసిబిలిటీ బటన్ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ను ట్యాప్ చేయండి.\n\nఫీచర్ల మధ్య స్విచ్ అవడానికి, యాక్సెసిబిలిటీ బటన్ను నొక్కి & పట్టుకోండి."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ఈ ఫీచర్ను ఉపయోగించడానికి, మీ స్క్రీన్ మీద ఉన్న యాక్సెసిబిలిటీ బటన్ను ట్యాప్ చేయండి."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ఈ ఫీచర్ను ఉపయోగించడానికి, రెండు వాల్యూమ్ కీలను నొక్కి, పట్టుకోండి."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"మ్యాగ్నిఫికేషన్ను ప్రారంభించడానికి అలాగే ఆపడానికి, మీ స్క్రీన్పై ఎక్కడైనా మూడు సార్లు ట్యాప్ చేయండి."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"మ్యాగ్నిఫికేషన్ను ప్రారంభించడానికి, ఆపడానికి స్క్రీన్పై ఎక్కడైనా 2 వేళ్లతో 3 సార్లు ట్యాప్ చేయండి."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ఈ ఫీచర్ను ఉపయోగించడానికి, స్క్రీన్ దిగువ నుండి 2 వేళ్లతో పైకి స్వైప్ చేయండి.\n\nఫీచర్ల మధ్య స్విచ్ అవడానికి, 2 వేళ్లతో పైకి స్వైప్ చేసి పట్టుకోండి."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ఈ ఫీచర్ను ఉపయోగించడానికి, స్క్రీన్ దిగువ నుండి 3 వేళ్లతో పైకి స్వైప్ చేయండి.\n\nఫీచర్ల మధ్య స్విచ్ అవడానికి, 3 వేళ్లతో పైకి స్వైప్ చేసి పట్టుకోండి."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"యాక్సెస్ సౌలభ్య ఫీచర్లను ఉపయోగించడానికి, స్క్రీన్ దిగువ నుండి 2 వేళ్లతో పైకి స్వైప్ చేయండి.\n\nఫీచర్ల మధ్య స్విచ్ అవడానికి, 2 వేళ్లతో పైకి స్వైప్ చేసి పట్టుకోండి."</string>
@@ -2017,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"వాల్యూమ్ కీలను నొక్కి ఉంచండి"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"వాల్యూమ్ కీలను పట్టుకుని అలాగే ఉండండి"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"వాల్యూమ్ కీలు రెండింటినీ నొక్కి పట్టుకోండి"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"రెండు వేళ్లతో స్క్రీన్ను మూడుసార్లు ట్యాప్ చేయండి"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"రెండు వేళ్లతో స్క్రీన్ను మూడుసార్లు ట్యాప్ చేయండి"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"రెండు వేళ్లతో స్క్రీన్ను {0,number,integer} సార్లు ఫాస్ట్గా ట్యాప్ చేయండి"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"స్క్రీన్పై మూడు సార్లు నొక్కండి"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"స్క్రీన్పై మూడు సార్లు ట్యాప్ చేయండి"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"స్క్రీన్ను {0,number,integer} సార్లు త్వరగా ట్యాప్ చేయండి. ఈ షార్ట్కట్ వల్ల మీ పరికరం పనితీరు నెమ్మదించవచ్చు"</string>
@@ -2247,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"మీరు ఒక యాప్తో చేసే ఇంటరాక్షన్లను లేదా హార్డ్వేర్ సెన్సార్ను ట్రాక్ చేస్తూ మీ తరఫున యాప్లతో ఇంటరాక్ట్ చేయగలదు."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"అనుమతించండి"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"వద్దు"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"ఆపివేయి"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"రద్దు చేయండి"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"\'<xliff:g id="SERVICE">%1$s</xliff:g>\'ను ఆపివేయాలా?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"\'<xliff:g id="STOP">%1$s</xliff:g>\'ను నొక్కడం ద్వారా, <xliff:g id="SERVICE">%2$s</xliff:g> నిలిపివేయబడుతుంది."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"సేవలు ఇన్స్టాల్ చేయబడలేదు"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"ఏ సేవను ఎంచుకోలేదు"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"వివరణ ఏదీ అందించబడలేదు."</string>
@@ -2320,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"మీరు యాప్ నేపథ్య యాక్టివిటీని పరిమితం చేస్తే, అది సరిగ్గా పని చేయకపోవచ్చు."</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ఈ యాప్ బ్యాటరీని ఆప్టిమైజ్ చేయికి సెట్ చేయబడలేదు కనుక, దీన్ని మీరు పరిమితం చేయలేరు.\n\nయాప్ను పరిమితం చేయడానికి, మొదట బ్యాటరీ ఆప్టిమైజేషన్ను ఆన్ చేయండి."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"బ్యాటరీ వినియోగాన్ని మేనేజ్ చేయండి"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"బ్యాక్గ్రౌండ్ వినియోగాన్ని అనుమతించండి"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"రియల్-టైమ్ అప్డేట్ల కోసం ఎనేబుల్ చేయండి, బ్యాటరీని సేవ్ చేయడానికి డిజేబుల్ చేయండి"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"అపరిమిత"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ఆప్టిమైజ్ చేయబడినది"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"పరిమితం చేయబడిన సెట్టింగ్లు"</string>
@@ -2728,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"పేరు"</string>
<string name="vpn_type" msgid="5533202873260826663">"రకం"</string>
<string name="vpn_server" msgid="2908816134941973935">"సర్వర్ అడ్రస్"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP ఎన్క్రిప్షన్ (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP రహస్యం"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ఐడెంటిఫైయర్"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec ప్రీ-షేర్డ్ కీ"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec వినియోగదారు సర్టిఫికెట్"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA సర్టిఫికెట్"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec సర్వర్ సర్టిఫికెట్"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"అధునాతన ఆప్షన్లను చూపు"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS సెర్చ్ డొమైన్లు"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS సర్వర్లు (ఉదా. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"ఫార్వర్డింగ్ రూట్లు (ఉదా. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"యూజర్ పేరు"</string>
<string name="vpn_password" msgid="1183746907642628127">"పాస్వర్డ్"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"ఖాతా సమాచారాన్ని సేవ్ చేయండి"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ఉపయోగించడం లేదు)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(సర్వర్ను ధృవీకరించదు)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(సర్వర్ నుండి స్వీకరించబడింది)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ఈ రకమైన VPNని ఎల్లప్పుడూ కనెక్ట్ చేసి ఉంచడం సాధ్యం కాదు"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"ఎల్లప్పుడూ ఆన్లో ఉండే VPNలో కేవలం సంఖ్యాత్మక సర్వర్ అడ్రస్లకు మాత్రమే మద్దతు ఉంటుంది"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ఎల్లప్పుడూ ఆన్లో ఉండే VPN కోసం DNS సర్వర్ని తప్పనిసరిగా పేర్కొనాలి"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"ఎల్లప్పుడూ ఆన్లో ఉండే VPN కోసం DNS సర్వర్ అడ్రస్లు తప్పనిసరిగా సంఖ్యలు అయి ఉండాలి"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ఎంటర్ చేసిన సమాచారానికి ఎల్లప్పుడూ ఆన్లో ఉండే VPN సపోర్ట్ చేయదు"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"రద్దు చేయండి"</string>
<string name="vpn_done" msgid="5137858784289564985">"తీసివేయండి"</string>
@@ -2784,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN లేని కనెక్షన్లను బ్లాక్ చేయండి"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN కనెక్షన్ అవసరమా?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"సురక్షితం కాదు. IKEv2 VPNకు అప్డేట్ చేయండి"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"ఎల్లప్పుడూ కనెక్ట్ చేయబడి ఉండటానికి VPN ప్రొఫైల్ను ఎంచుకోండి. ఈ VPNకి కనెక్ట్ అయి ఉన్నప్పుడు మాత్రమే నెట్వర్క్ ట్రాఫిక్ అనుమతించబడుతుంది."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"ఏదీ వద్దు"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"ఎల్లప్పుడూ-ఆన్లో ఉండే VPNకి సర్వర్ మరియు DNS రెండింటి IP అడ్రస్ అవసరం."</string>
@@ -3341,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"మొత్తం నోటిఫికేషన్ కంటెంట్ను చూపించండి"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"గోప్యమైన కంటెంట్ను అన్లాక్లో మాత్రమే చూపండి"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ఎలాంటి నోటిఫికేషన్లను చూపవద్దు"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"మీ లాక్ స్క్రీన్ ఎలా డిస్ప్లే కావాలనుకుంటున్నారు?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"మీ లాక్ స్క్రీన్ ఏమి చూపాలని మీరు కోరుకుంటున్నారు?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"లాక్ స్క్రీన్"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"మొత్తం వర్క్ నోటిఫికేషన్ కంటెంట్ను చూపు"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"గోప్యమైన వర్క్ ప్లేస్ కంటెంట్ను దాచండి"</string>
@@ -3830,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"అన్ని ఫైళ్లను మేనేజ్ చేయడానికి అనుమతించండి"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ఈ పరికరంలో, లేదా కనెక్ట్ చేయబడిన ఏవైనా స్టోరేజ్ వాల్యూమ్లలో, అన్ని ఫైళ్లను చదవడానికి, మార్చడానికి, తొలగించడానికి ఈ యాప్నకు అనుమతిని ఇవ్వండి. అటువంటి అనుమతిని మీరు మంజూరు చేస్తే, మీకు ప్రత్యేకంగా తెలియపరచకుండానే మీ ఫైళ్లను యాప్, యాక్సెస్ చేయవచ్చు."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"అన్ని ఫైళ్లను యాక్సెస్ చేయగలవు"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"వాయిస్ యాక్టివేషన్ యాప్లు"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"వాయిస్ యాక్టివేషన్ను అనుమతించండి"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"వాయిస్ యాక్టివేషన్, వాయిస్ కమాండ్ను ఉపయోగించి ఆమోదించబడిన యాప్లను హ్యాండ్స్-ఫ్రీగా ఆన్ చేస్తుంది. బిల్ట్-ఇన్ అడాప్టివ్ సెన్సింగ్, డేటా మీకు మాత్రమే ప్రైవేట్గా ఉండేలా చేస్తుంది.\n\n"<a href="">"సురక్షిత అడాప్టివ్ సెన్సింగ్ గురించి మరింత సమాచారం"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"ఫుల్ స్క్రీన్ నోటిఫికేషన్లు"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"ఈ యాప్ నుండి ఫుల్ స్క్రీన్ నోటిఫికేషన్లను అనుమతించండి"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"పరికరం లాక్లో ఉన్నప్పుడు నోటిఫికేషన్లను చూపడానికి ఈ యాప్ను అనుమతించండి. ఈ నోటిఫికేషన్లు ఫుల్ స్క్రీన్లో కనిపిస్తాయి. అలారాలు, ఇన్కమింగ్ కాల్స్ లేదా ఇతర అత్యవసర నోటిఫికేషన్లను హైలైట్ చేయడానికి యాప్లు వీటిని ఉపయోగించవచ్చు."</string>
@@ -3993,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> బ్యాక్గ్రౌండ్లో సాధారణం కంటే ఎక్కువ బ్యాటరీని ఉపయోగించింది"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ఫోర్గ్రౌండ్లో ఎక్కువ బ్యాటరీని ఉపయోగించింది"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ఫోర్గ్రౌండ్లో సాధారణం కంటే ఎక్కువ బ్యాటరీని ఉపయోగించింది"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"బ్యాటరీ వినియోగ అసాధారణత"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"అధిక బ్యాటరీ వినియోగం"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"బ్యాక్గ్రౌండ్లో అధిక బ్యాటరీ వినియోగం"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ఫోర్గ్రౌండ్లో అధిక బ్యాటరీ వినియోగం"</string>
@@ -4090,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"సిస్టమ్ నావిగేషన్, 2 బటన్ నావిగేషన్, 3 బటన్ నావిగేషన్, సంజ్ఞ నావిగేషన్, స్వైప్"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"డిజిటల్ అసిస్టెంట్"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"అసిస్టెంట్ను అమలు చేయడానికి స్వైప్ చేయండి"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"డిజిటల్ అసిస్టెంట్ యాప్ను అమలు చేయడానికి దిగువున మూల నుండి పైకి స్వైప్ చేయండి."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"డిజిటల్ అసిస్టెంట్ యాప్ను అమలు చేయడానికి దిగువున మూల నుండి పైకి స్వైప్ చేయండి"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistantను ప్రారంభించడం కోసం మొదటి ట్యాబ్ను నొక్కి పట్టుకోండి"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"డిజిటల్ అసిస్టెంట్ యాప్ను ప్రారంభించడానికి హోమ్ బటన్ను నొక్కి, పట్టుకోండి."</string>
<string name="low_label" msgid="6525629096999711220">"తక్కువ"</string>
@@ -4943,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"వ్యాకరణ లింగం ఎంచుకోండి"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"మోసపూరిత యాప్ల కోసం స్కాన్ చేస్తోంది"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"ఫిషింగ్ కోసం యాప్ యాక్టివిటీని చెక్ చేయండి"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"స్కానింగ్ను ఉపయోగించండి"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"వర్క్ యాప్ల కోసం స్కానింగ్ను ఉపయోగించండి"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"మోసపూరిత యాప్లను గుర్తించడానికి స్కానింగ్ను ఉపయోగించండి"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ఆఫీస్కు సంబంధించిన మోసపూరిత యాప్లను గుర్తించడానికి స్కానింగ్ను ఉపయోగించండి"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 356a6aa..7dbdd30 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"สไตลัส"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"การแชร์เสียง"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"แชร์เสียง"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"การโทรและการปลุก"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"เชื่อมต่อกับสตรีม LE Audio"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"สตรีมเสียงที่อยู่ใกล้เคียง"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"สตรีมเสียง"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"เชื่อมต่อกับสตรีมเสียงโดยใช้คิวอาร์โค้ด"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"ไม่พบสตรีมเสียงที่อยู่ใกล้เคียง"</string>
<string name="date_and_time" msgid="1788358029823431692">"วันที่และเวลา"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"พร็อกซี"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"ล้างข้อมูล"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"โปรไฟล์งาน"</string>
<string name="private_space_title" msgid="7078627930195569767">"พื้นที่ส่วนตัว"</string>
<string name="private_space_summary" msgid="8237652417163408001">"ซ่อนแอปในโฟลเดอร์ส่วนตัว"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"ปลดล็อกโดยใช้ล็อกหน้าจอ"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"ซ่อนแอปในโฟลเดอร์ส่วนตัวที่มีเพียงคุณเท่านั้นที่เข้าถึงได้"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"การล็อกพื้นที่ส่วนตัว"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"คุณจะปลดล็อกพื้นที่ส่วนตัวได้โดยใช้วิธีเดียวกับที่คุณปลดล็อกอุปกรณ์ หรือเลือกการล็อกอื่น"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ใช้การล็อกหน้าจออุปกรณ์"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"การปลดล็อกด้วยใบหน้าและลายนิ้วมือ"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"แตะเพื่อตั้งค่า"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"เหมือนกับล็อกหน้าจออุปกรณ์"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"เลือกการล็อกใหม่สำหรับพื้นที่ส่วนตัวไหม"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"ซ่อนเมื่อล็อก"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"ซ่อนพื้นที่ส่วนตัวเมื่อล็อกไว้"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"คุณซ่อนพื้นที่ส่วนตัวจากรายการแอปได้ เพื่อไม่ให้คนอื่นรู้ว่ามีพื้นที่ส่วนตัวอยู่ในอุปกรณ์ของคุณ"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"เข้าถึงพื้นที่ส่วนตัวเมื่อซ่อนไว้"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"ค้นหา \"พื้นที่ส่วนตัว\" ในแถบค้นหา"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"แตะการ์ดพื้นที่ส่วนตัว"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"ปลดล็อกพื้นที่ส่วนตัว"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ปิด"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"เปิด"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"ระบบ"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"สร้างพื้นที่ส่วนตัว"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"ลบพื้นที่ส่วนตัว"</string>
- <string name="private_space_created" msgid="2978055968937762232">"สร้างพื้นที่ส่วนตัวเรียบร้อยแล้ว"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"มีพื้นที่ส่วนตัวอยู่แล้ว"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"สร้างพื้นที่ส่วนตัวไม่ได้"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"ลบพื้นที่ส่วนตัวเรียบร้อยแล้ว"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"ลบพื้นที่ส่วนตัวไม่ได้"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"ตั้งการล็อกหน้าจอ"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"หากต้องการใช้พื้นที่ส่วนตัว ให้ตั้งการล็อกหน้าจอในอุปกรณ์นี้"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"ตั้งล็อกหน้าจอ"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"ยกเลิก"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"ยกเลิก"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"ตั้งค่า"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"ตั้งค่าพื้นที่ส่วนตัว"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"ซ่อนแอปส่วนตัวในพื้นที่ปลอดภัยที่มีเพียงคุณเท่านั้นที่เข้าถึงได้"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"วิธีการทำงาน"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"คุณเข้าถึงพื้นที่ส่วนตัวได้จากด้านล่างของรายชื่อแอป"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"แอปในพื้นที่ส่วนตัวได้รับการปกป้องโดยการล็อก"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"การแจ้งเตือนจากแอปในพื้นที่ส่วนตัวจะถูกซ่อนเมื่อมีการล็อกไว้"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"แอปพื้นที่ส่วนตัวจะไม่ปรากฏในเครื่องมือจัดการสิทธิ์ แดชบอร์ดความเป็นส่วนตัว และการตั้งค่าอื่นๆ เมื่อมีการล็อกพื้นที่ส่วนตัวไว้"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"กำลังตั้งค่าพื้นที่ส่วนตัว…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"ข้อมูลการใช้งานสำหรับแอปพื้นที่ส่วนตัวจะถูกซ่อนเมื่อมีการล็อกไว้"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"เข้าถึงพื้นที่ส่วนตัวจากรายชื่อแอป"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"ตั้งค่าพื้นที่ส่วนตัวไม่ได้"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"ลองอีกครั้งตอนนี้ หรือกลับมาภายหลัง"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"ลองอีกครั้ง"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"ใช้การล็อกหน้าจอเพื่อปลดล็อกใช่ไหม"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"คุณจะปลดล็อกพื้นที่ส่วนตัวได้โดยใช้วิธีเดียวกับที่คุณปลดล็อกอุปกรณ์ หรือเลือกการล็อกอื่น"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"ใช้การล็อกหน้าจอ"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"เลือกการล็อกใหม่"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"เรียบร้อยแล้ว"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"เสร็จสิ้น"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"เลื่อนลงเพื่อเข้าถึงพื้นที่ส่วนตัว"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"ลงชื่อเข้าใช้เพื่อตั้งค่าพื้นที่ส่วนตัว"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"คุณต้องลงชื่อเข้าใช้บัญชีเพื่อตั้งค่าพื้นที่ส่วนตัว"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"เพื่อแสดงพื้นที่ส่วนตัว (ไม่ใช่ UX สุดท้าย)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"เปิดแอปการตั้งค่า"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"แตะความปลอดภัยและความเป็นส่วนตัว > พื้นที่ส่วนตัว > ซ่อนพื้นที่ส่วนตัวเมื่อล็อกไว้"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"ปิดปุ่มสลับ \"ซ่อนพื้นที่ส่วนตัวเมื่อล็อกไว้\""</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"หมายเหตุถึง Googler: ฟีเจอร์นี้อยู่ระหว่างการพัฒนา"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"คุณสามารถเพิ่มได้ถึง <xliff:g id="COUNT">%d</xliff:g> ลายนิ้วมือ"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"คุณได้เพิ่มลายนิ้วมือถึงขีดจำกัดสูงสุดแล้ว"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"เพิ่มลายนิ้วมืออีกไม่ได้แล้ว"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"เชื่อมต่อ"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ยกเลิกการเชื่อมต่อ"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"จับคู่อุปกรณ์และเชื่อมต่อ"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"เมื่อเปิดบลูทูธ อุปกรณ์ของคุณจะสื่อสารกับอุปกรณ์บลูทูธที่อยู่ใกล้ๆ ได้"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"เมื่อเปิดบลูทูธ อุปกรณ์จะสื่อสารกับอุปกรณ์บลูทูธที่อยู่ใกล้ๆ ได้"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"เมื่อเปิดบลูทูธ อุปกรณ์ของคุณจะสื่อสารกับอุปกรณ์บลูทูธเครื่องอื่นในบริเวณใกล้เคียงได้\n\nแอปและบริการต่างๆ จะยังคงสแกนหาอุปกรณ์ที่อยู่ใกล้เคียงได้ทุกเมื่อแม้บลูทูธจะปิดอยู่เพื่อปรับปรุงประสบการณ์การใช้งานอุปกรณ์ การตั้งค่านี้ใช้เพื่อทำสิ่งต่างๆ เช่น ปรับปรุงฟีเจอร์และบริการที่อิงตามตำแหน่ง คุณเปลี่ยนตัวเลือกนี้ได้ในการตั้งค่าการสแกนหาบลูทูธ"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"เปลี่ยน"</string>
<string name="device_details_title" msgid="1155622417516195481">"รายละเอียดอุปกรณ์"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"อนุญาตให้ ART ตรวจสอบไบต์โค้ดแอปที่แก้ไขข้อบกพร่องได้"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"แสดงอัตราการรีเฟรช"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"แสดงอัตราการรีเฟรชจอแสดงผลล่าสุด"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"แสดงอัตราส่วน HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"แสดงอัตราส่วน HDR/SDR ปัจจุบัน"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"ต้องปลดล็อกอุปกรณ์เพื่อใช้งาน NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"ใช้แอปต่อได้เมื่อพับ"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"เพิ่มอัตราการรีเฟรชไปจนถึง <xliff:g id="ID_1">%1$d</xliff:g> Hz โดยอัตโนมัติสำหรับเนื้อหาบางรายการ เพิ่มการใช้งานแบตเตอรี่"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"บังคับอัตราการรีเฟรชเป็นสูงสุด"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"อัตราการรีเฟรชสูงสุดสำหรับการตอบสนองต่อการแตะและคุณภาพของภาพเคลื่อนไหวที่ดียิ่งขึ้น เพิ่มการใช้งานแบตเตอรี่"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"การจดจ่อที่หน้าจอ"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"การตั้งค่าส่วนกลาง"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"แก้ไขจุดเข้าใช้งาน"</string>
+ <string name="apn_add" msgid="9069613192201630934">"เพิ่มจุดเข้าใช้งาน"</string>
<string name="apn_not_set" msgid="8246646433109750293">"ไม่ได้ตั้งค่า"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"ไม่ได้ตั้งค่า"</string>
<string name="apn_name" msgid="6677695784108157953">"ชื่อ"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ใช้ปุ่มการช่วยเหลือพิเศษเพื่อเปิด"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"กดปุ่มปรับระดับเสียงค้างไว้เพื่อเปิด"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"แตะหน้าจอ 3 ครั้งเพื่อเปิด"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"ใช้ 2 นิ้วแตะหน้าจอ 3 ครั้งเพื่อเปิด"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ใช้ท่าทางสัมผัสเพื่อเปิด"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ใช้ท่าทางสัมผัสการช่วยเหลือพิเศษ"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"หากต้องการใช้ฟีเจอร์นี้ ให้แตะปุ่มการช่วยเหลือพิเศษ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ที่ด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้แตะปุ่มการช่วยเหลือพิเศษค้างไว้"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"หากต้องการใช้ฟีเจอร์นี้ ให้แตะปุ่มการช่วยเหลือพิเศษบนหน้าจอ"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"หากต้องการใช้ฟีเจอร์นี้ ให้กดปุ่มปรับระดับเสียงทั้ง 2 ปุ่มค้างไว้"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"หากต้องการเริ่มหรือหยุดการขยาย ให้แตะ 3 ครั้งที่ใดก็ได้บนหน้าจอ"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"หากต้องการเริ่มหรือหยุดการขยาย ให้ใช้ 2 นิ้วแตะ 3 ครั้งที่ใดก็ได้บนหน้าจอ"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"หากต้องการใช้ฟีเจอร์นี้ ให้ใช้ 2 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้ใช้ 2 นิ้วเลื่อนขึ้นแล้วค้างไว้"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"หากต้องการใช้ฟีเจอร์นี้ ให้ใช้ 3 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้ใช้ 3 นิ้วเลื่อนขึ้นแล้วค้างไว้"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"หากต้องการใช้ฟีเจอร์การช่วยเหลือพิเศษ ให้ใช้ 2 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้ใช้ 2 นิ้วเลื่อนขึ้นแล้วค้างไว้"</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"กดปุ่มปรับระดับเสียงค้างไว้"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"กดปุ่มปรับระดับเสียงค้างไว้"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"กดปุ่มปรับระดับเสียงทั้ง 2 ปุ่มค้างไว้"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"ใช้ 2 นิ้วแตะหน้าจอ 3 ครั้ง"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ใช้ 2 นิ้วแตะหน้าจอ 3 ครั้ง"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"ใช้ 2 นิ้วแตะหน้าจอ {0,number,integer} ครั้งเร็วๆ"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"แตะหน้าจอ 3 ครั้ง"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"แตะหน้าจอ 3 ครั้ง"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"แตะหน้าจอเร็วๆ {0,number,integer} ครั้ง ทางลัดนี้อาจทำให้อุปกรณ์ทำงานช้าลง"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"การควบคุมนี้สามารถติดตามการโต้ตอบของคุณกับแอปหรือกับเซ็นเซอร์ของฮาร์ดแวร์ และโต้ตอบกับแอปต่างๆ แทนคุณ"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"อนุญาต"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"ปฏิเสธ"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"หยุด"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ยกเลิก"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"หยุด \"<xliff:g id="SERVICE">%1$s</xliff:g>\" ไหม"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"การแตะ<xliff:g id="STOP">%1$s</xliff:g>จะหยุด <xliff:g id="SERVICE">%2$s</xliff:g>"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"ไม่ได้ติดตั้งบริการใดไว้"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"ไม่ได้เลือกบริการ"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"ไม่มีคำอธิบาย"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"แอปอาจทำงานผิดพลาดหากคุณจำกัดกิจกรรมในพื้นหลัง"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"เนื่องจากแอปนี้ไม่ได้ตั้งค่าให้เพิ่มประสิทธิภาพแบตเตอรี่ คุณจึงจำกัดการใช้งานไม่ได้\n\nหากต้องการจำกัด ให้เปิดการเพิ่มประสิทธิภาพแบตเตอรี่ก่อน"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"จัดการการใช้งานแบตเตอรี่"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"อนุญาตการใช้งานในเบื้องหลัง"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"เปิดใช้เพื่อให้อัปเดตแบบเรียลไทม์ ปิดใช้เพื่อประหยัดแบตเตอรี่"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ไม่จำกัด"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"เพิ่มประสิทธิภาพ"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"จำกัด"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"ชื่อ"</string>
<string name="vpn_type" msgid="5533202873260826663">"ประเภท"</string>
<string name="vpn_server" msgid="2908816134941973935">"ที่อยู่เซิร์ฟเวอร์"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"การเข้ารหัส PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"ข้อมูลลับ L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"ตัวระบุ IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"คีย์ IPSec ที่แชร์ไว้ล่วงหน้า"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"ใบรับรองผู้ใช้ IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"ใบรับรอง IPSec CA"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"ใบรับรองเซิร์ฟเวอร์ IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"แสดงตัวเลือกขั้นสูง"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"โดเมนการค้นหา DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"เซิร์ฟเวอร์ DNS (เช่น 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"เส้นทางการส่งต่อ (เช่น 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"ชื่อผู้ใช้"</string>
<string name="vpn_password" msgid="1183746907642628127">"รหัสผ่าน"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"บันทึกข้อมูลบัญชี"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ไม่ใช้)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ไม่ตรวจสอบเซิร์ฟเวอร์)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(ได้รับจากเซิร์ฟเวอร์)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"VPN ประเภทนี้ไม่สามารถเชื่อมต่อไว้ตลอดเวลา"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"การเชื่อมต่อ VPN ตลอดเวลารองรับที่อยู่เซิร์ฟเวอร์แบบตัวเลขเท่านั้น"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ต้องระบุเซิร์ฟเวอร์ DNS สำหรับการเชื่อมต่อ VPN ตลอดเวลา"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"ที่อยู่เซิร์ฟเวอร์ DNS ต้องเป็นตัวเลขสำหรับการเชื่อมต่อ VPN ตลอดเวลา"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ข้อมูลที่ป้อนไม่รองรับการเชื่อมต่อ VPN ตลอดเวลา"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"ยกเลิก"</string>
<string name="vpn_done" msgid="5137858784289564985">"ปิด"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"บล็อกการเชื่อมต่อโดยไม่ใช้ VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"ต้องใช้การเชื่อมต่อ VPN ไหม"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"ไม่ปลอดภัย อัปเดตเป็น IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"เลือกโปรไฟล์ VPN เพื่อคงการเชื่อมต่อเอาไว้ตลอดเวลา การเข้าใช้เครือข่ายจะได้รับอนุญาตเฉพาะเมื่อมีการเชื่อมต่อกับ VPN นี้เท่านั้น"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"ไม่มี"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN แบบเปิดตลอดเวลาจำเป็นต้องใช้ที่อยู่ IP ทั้งสำหรับเซิร์ฟเวอร์และ DNS"</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"แสดงเนื้อหาการแจ้งเตือนทั้งหมด"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"แสดงเนื้อหาที่ละเอียดอ่อนเฉพาะเมื่อปลดล็อก"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ไม่ต้องแสดงการแจ้งเตือน"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"คุณอยากให้หน้าจอล็อกแสดงในรูปแบบใด"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"คุณอยากให้หน้าจอล็อกแสดงอะไรบ้าง"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"หน้าจอล็อก"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"แสดงเนื้อหาการแจ้งเตือนงานทั้งหมด"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"ซ่อนเนื้อหางานที่ละเอียดอ่อน"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"อนุญาตให้เข้าถึงเพื่อจัดการไฟล์ทั้งหมด"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"อนุญาตให้แอปนี้อ่าน แก้ไข และลบไฟล์ทั้งหมดในอุปกรณ์นี้หรือวอลุ่มของพื้นที่เก็บข้อมูลใดๆ ที่เชื่อมต่อ หากได้รับอนุญาต แอปอาจเข้าถึงไฟล์ได้โดยที่คุณไม่ทราบอย่างชัดแจ้ง"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"เข้าถึงไฟล์ทั้งหมดได้"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"แอปการเปิดใช้งานด้วยเสียง"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"อนุญาตการเปิดใช้งานด้วยเสียง"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"การเปิดใช้งานด้วยเสียงจะเปิดแอปที่ได้รับอนุมัติแบบแฮนด์ฟรีโดยใช้คำสั่งเสียง การตรวจจับแบบปรับอัตโนมัติในตัวช่วยให้มั่นใจได้ว่าข้อมูลจะเป็นส่วนตัวสำหรับคุณเท่านั้น\n\n"<a href="">"ข้อมูลเพิ่มเติมเกี่ยวกับการตรวจจับแบบปรับอัตโนมัติที่มีการป้องกัน"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"การแจ้งเตือนแบบเต็มหน้าจอ"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"อนุญาตให้แอปนี้แสดงการแจ้งเตือนแบบเต็มหน้าจอ"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"อนุญาตให้แอปนี้แสดงการแจ้งเตือนได้เต็มหน้าจอเมื่ออุปกรณ์ล็อกอยู่ แอปอาจใช้การแจ้งเตือนเหล่านี้เพื่อให้เห็นการปลุก สายเรียกเข้า หรือการแจ้งเตือนอื่นๆ ที่เร่งด่วนได้อย่างเด่นชัด"</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ใช้แบตเตอรี่มากกว่าปกติเมื่อทำงานในเบื้องหลัง"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ใช้แบตเตอรี่มากขึ้นเมื่อทำงานในเบื้องหน้า"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ใช้แบตเตอรี่มากกว่าปกติเมื่อทำงานในเบื้องหน้า"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"การใช้งานแบตเตอรี่ผิดปกติ"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"การใช้งานแบตเตอรี่สูง"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ใช้งานแบตเตอรี่สูงเมื่อทำงานในเบื้องหลัง"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ใช้งานแบตเตอรี่สูงเมื่อทำงานในเบื้องหน้า"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"การนำทางของระบบ, การนำทางแบบ 2 ปุ่ม, การนำทางแบบ 3 ปุ่ม, การนำทางด้วยท่าทางสัมผัส, เลื่อน"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ผู้ช่วยดิจิทัล"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"ปัดเพื่อเรียกใช้ผู้ช่วย"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ปัดขึ้นจากมุมด้านล่างเพื่อเรียกใช้แอปผู้ช่วยดิจิทัล"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ปัดขึ้นจากมุมด้านล่างเพื่อเรียกใช้แอปผู้ช่วยดิจิทัล"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"กดปุ่มหน้าแรกค้างไว้เพื่อเรียกใช้ Assistant"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"กดปุ่มหน้าแรกค้างไว้เพื่อเรียกใช้แอปผู้ช่วยดิจิทัล"</string>
<string name="low_label" msgid="6525629096999711220">"ต่ำ"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"เลือกเพศทางไวยากรณ์"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"การสแกนหาแอปที่หลอกลวง"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"ตรวจสอบกิจกรรมบนแอปเพื่อหาฟิชชิง"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"ใช้การสแกน"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"ใช้การสแกนกับแอปงาน"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ใช้การสแกนหาแอปที่หลอกลวง"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ใช้การสแกนหาแอปที่หลอกลวงสำหรับการทำงาน"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index d4f457a..9812f5a 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Pagbabahagi ng audio"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Ibahagi ang Audio"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Mga tawag at alarm"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Kumonekta sa isang LE audio stream"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Mga audio stream sa malapit"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Mga audio stream"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Kumonekta sa isang audio stream gamit ang QR code"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Walang audio stream sa malapit."</string>
<string name="date_and_time" msgid="1788358029823431692">"Petsa at oras"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"I-clear"</string>
@@ -539,7 +543,14 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Profile sa trabaho"</string>
<string name="private_space_title" msgid="7078627930195569767">"Pribadong Space"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Itago ang mga app sa pribadong folder"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"I-unlock gamit ang lock ng screen"</string>
+ <string name="private_space_description" msgid="5494963647270826210">"Itago ang mga app sa pribadong folder na ikaw lang ang makaka-access"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Lock ng Pribadong Space"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Puwede mong i-unlock ang Pribadong Space sa parehong paraan kung paano mo i-unlock ang iyong device, o pumili ng ibang lock"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Gamitin ang lock ng screen ng device"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Pag-unlock Gamit ang Mukha at Fingerprint"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"I-tap para i-set up"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Kapareho ng lock ng screen ng device"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Pumili ng bagong lock para sa Pribadong Space?"</string>
<string name="private_space_hide_title" msgid="8687034008994037610">"Itago kapag naka-lock"</string>
<string name="privatespace_hide_page_title" msgid="972581369094289386">"Itago ang Pribadong Space kapag naka-lock"</string>
<string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Para hindi malaman ng iba na may Pribadong Space ka, puwede itong itago sa listahan ng mga app"</string>
@@ -550,11 +561,7 @@
<string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Naka-off"</string>
<string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Naka-on"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Gumawa ng Pribadong Space"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"I-delete ang Pribadong Space"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Nagawa ang Pribadong Space"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Mayroon nang Pribadong Space"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Hindi magawa ang Pribadong Space"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Na-delete ang Pribadong Space"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Hindi ma-delete ang Pribadong Space"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Magtakda ng lock ng screen"</string>
@@ -568,40 +575,30 @@
<string name="privatespace_how_title" msgid="8794102046435526065">"Paano ito gumagana"</string>
<string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Puwede mong i-access ang Pribadong Space mula sa ibaba ng iyong listahan ng mga app"</string>
<string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Pinoprotektahan ang mga app sa Pribadong Space ng isang lock"</string>
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Nakatago ang mga notification mula sa mga app sa Pribadong Space kapag naka-lock ito"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Hindi lalabas ang mga app sa Pribadong Space sa manager ng pahintulot, privacy dashboard, at iba pang setting kapag naka-lock ang Pribadong Space"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Sine-set up ang Pribadong Space…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Nakatago ang impormasyon ng paggamit para sa mga app sa Pribadong Space kapag naka-lock ito"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"I-access ang Pribadong Space mula sa listahan ng mga app mo"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"Naka-install na ang ilang system app sa Pribadong Space"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Hindi ma-set up ang Pribadong Space"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Subukan ulit ngayon, o bumalik sa ibang pagkakataon"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Subukan Ulit"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Gamitin ang lock ng screen para i-unlock?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Puwede mong i-unlock ang Pribadong Space sa parehong paraan kung paano mo i-unlock ang iyong device, o pumili ng ibang lock"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Gumamit ng lock ng screen"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Pumili ng bagong lock"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Handa na lahat!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"Maa-access mo ang Pribadong Space mula sa iyong listahan ng mga app"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Tapos na"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Mag-scroll pababa para ma-access ang Pribadong Space"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Mag-sign in para ma-set up ang Pribadong Space"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Kailangan mong mag-sign in sa isang account para ma-set up ang Pribadong Space"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Para ipakita ang Pribadong Space (Hindi final na UX)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Buksan ang App na Mga Setting"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Mag-tap sa Seguridad at privacy > Pribadong Space > I-hide ang Pribadong Space kapag naka-lock"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Toggle: I-off ang I-hide ang Pribadong Space kapag naka-lock"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Paalala sa mga Googler: Dine-develop pa ang feature na ito"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Puwede kang magdagdag ng hanggang <xliff:g id="COUNT">%d</xliff:g> (na) fingerprint"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Naidagdag mo na ang maximum na bilang ng mga fingerprint"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Hindi na makapagdagdag ng higit pang fingerprint"</string>
@@ -765,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Kumonekta"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Idiskonekta"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Ipares & kumonekta"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kapag naka-on ang Bluetooth, maaaring makipag-ugnayan ang device mo sa ibang kalapit na Bluetooth device."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kapag naka-on ang Bluetooth, magagawang makipag-ugnayan ng iyong device sa ibang kalapit na Bluetooth device"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Kapag naka-on ang Bluetooth, puwedeng makipag-ugnayan ang iyong device sa iba pang malapit na Bluetooth device.\n\nPara mapaganda ang experience sa device, puwede pa ring mag-scan ang mga app at serbisyo ng mga malapit na device anumang oras, kahit na naka-off ang Bluetooth. Magagamit ito, halimbawa, para pahusayin ang mga feature at serbisyong batay sa lokasyon. Mababago mo ito sa mga setting ng pag-scan ng Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Palitan"</string>
<string name="device_details_title" msgid="1155622417516195481">"Mga detalye ng device"</string>
@@ -818,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Payagan ang ART na i-verify ang bytecode para sa mga nade-debug na app"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Ipakita ang refresh rate"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Ipakita ang kasalukuyang refresh rate ng display"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Ipakita ang ratio ng HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Ipakita ang kasalukuyang ratio ng HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Hingin ang pag-unlock ng device para sa NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1119,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Magpatuloy sa paggamit ng mga app kapag naka-fold"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth na Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Awtomatikong tinataasan ang rate ng pag-refresh hanggang <xliff:g id="ID_1">%1$d</xliff:g> Hz para sa ilang content. Nakakadagdag sa paggamit ng baterya."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Puwersahin sa pinakamataas na rate ng pag-refresh"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Pinakamataas na rate ng pag-refresh para sa pinahusay na pagiging responsive ng pagpindot at kalidad ng animation. Pinapalakas ang paggamit ng baterya."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Atensyon sa screen"</string>
@@ -1356,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Mga communal setting"</string>
<string name="apn_settings" msgid="4295467389400441299">"Mga APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"I-edit ang access point"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Magdagdag ng access point"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Hindi nakatakda"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Hindi nakatakda"</string>
<string name="apn_name" msgid="6677695784108157953">"Pangalan"</string>
@@ -1990,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Gamitin ang button ng accessibility para buksan"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"I-hold ang mga volume key para buksan"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"I-triple tap ang screen para buksan"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"I-triple tap ang screen gamit ang dalawang daliri para buksan"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Gumamit ng galaw para buksan"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Gamitin ang galaw para sa accessibility"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Para magamit ang feature na ito, i-tap ang button ng accessibility <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> sa ibaba ng iyong screen.\n\nPara magpalipat-lipat sa mga feature, pindutin nang matagal ang button ng accessibility."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para gamitin ang feature na ito, i-tap ang button ng accessibility sa iyong screen."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Para magamit ang feature na ito, pindutin nang matagal ang parehong volume key."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para magsimula at huminto sa pag-magnify, mag-tap nang tatlong beses kahit saan sa iyong screen."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Para simulan at ihinto ang pag-magnify, mag-triple tap kahit saan sa screen mo gamit ang dalawang daliri."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para magamit ang feature na ito, mag-swipe pataas mula sa ibaba ng screen gamit ang 2 daliri.\n\nPara magpalipat-lipat sa mga feature, mag-swipe pataas gamit ang 2 daliri at i-hold ang mga ito."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para magamit ang feature na ito, mag-swipe pataas mula sa ibaba ng sceen gamit ang 3 daliri.\n\nPara magpalipat-lipat sa mga feature, mag-swipe pataas gamit ang 3 daliri at i-hold ang mga ito."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para gumamit ng feature ng pagiging naa-access, mag-swipe pataas mula sa ibaba ng screen gamit ang 2 daliri.\n\nPara magpalipat-lipat sa mga feature, mag-swipe pataas gamit ang 2 daliri at i-hold ang mga ito."</string>
@@ -2017,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"I-hold ang mga volume key"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"i-hold ang mga volume key"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Pindutin nang matagal ang parehong volume key"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"I-triple tap ang screen gamit ang dalawang daliri"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"i-triple tap ang screen gamit ang dalawang daliri"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Mabilis na i-tap ang screen nang {0,number,integer} (na) beses gamit ang dalawang daliri"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"I-triple tap ang screen"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"i-triple tap ang screen"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Mabilis na i-tap ang screen nang {0,number,integer} beses. Posibleng mapabagal ng shortcut na ito ang iyong device"</string>
@@ -2247,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Masusubaybayan nito ang iyong mga pakikipag-ugayan sa isang app o hardware na sensor, at puwede itong makipag-ugnayan sa mga app para sa iyo."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Payagan"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Tanggihan"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Ihinto"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Kanselahin"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Ihinto ang <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Kapag na-tap ang <xliff:g id="STOP">%1$s</xliff:g>, hihinto ang <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Walang mga serbisyong naka-install"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Walang serbisyong napili"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Walang ibinigay na paglalarawan."</string>
@@ -2320,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Kung lilimitahan mo ang aktibidad sa background ng app, maaari itong gumana nang hindi tama"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Hindi nakatakda ang app na mag-optimize ng baterya kaya hindi ito malilimitahan.\n\nPara malimitahan, i-on ang battery optimization."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Pamahalaan ang paggamit ng baterya"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Payagan ang paggamit sa background"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"I-enable para sa mga real-time na update, i-disable para makatipid sa baterya"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Hindi pinaghihigpitan"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Naka-optimize"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Limitado"</string>
@@ -2728,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Pangalan"</string>
<string name="vpn_type" msgid="5533202873260826663">"Uri"</string>
<string name="vpn_server" msgid="2908816134941973935">"Address ng server"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP encryption (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP na lihim"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifier"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec na paunang nabahaging key"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificate ng user ng IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"CA certificate ng IPSec"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"certificate ng server ng IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Ipakita ang mga advanced na pagpipilian"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Mga domain sa paghahanap ng DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Mga server ng DNS (e.g. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Mga pagpapasahang ruta (hal. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Username"</string>
<string name="vpn_password" msgid="1183746907642628127">"Password"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"I-save ang impormasyon ng account"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(hindi ginagamit)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(huwag i-verify ang server)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(natanggap mula sa server)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Hindi maaaring palaging manatiling nakakonekta ang uri ng VPN na ito"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Mga numeric na address ng server lang ang sinusuportahan ng VPN na palaging naka-on"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"May tinukoy dapat na server ng DNS para sa VPN na palaging naka-on"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Numeric dapat ang mga address ng server ng DNS para sa VPN na palaging naka-on"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Hindi sinusuportahan ng impormasyong inilagay ang VPN na palaging naka-on"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Kanselahin"</string>
<string name="vpn_done" msgid="5137858784289564985">"I-dismiss"</string>
@@ -2784,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"I-block ang mga koneksyong walang VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Gawing mandatoryo ang pagkonekta sa VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Hindi secure. Mag-update sa IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Pumili ng VPN profile kung saan palaging mananatiling nakakonekta. Papayagan lang ang trapiko ng network kapag nakakonekta sa VPN na ito."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Wala"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Nangangailangan ang Always-on VPN ng IP address para sa parehong server at DNS."</string>
@@ -3341,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Ipakita ang lahat ng content ng notification"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Ipakita lang ang sensitibong content kapag naka-unlock"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Huwag magpakita ng mga notification"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Paano mo gustong ipakita ang lock screen?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ano ang gusto mong ipakita ng iyong lock screen?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lock screen"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Ipakita, lahat ng content ng notification sa trabaho"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Itago ang sensitibong content ng trabaho"</string>
@@ -3830,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Payagan para mapamahalaan ang lahat ng file"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Payagan ang app na ito na basahin, baguhin, at i-delete ang lahat ng file sa device na ito o sa anumang nakakonektang storage volume. Kung pagbibigyan ito, puwedeng mag-access ng mga file ang app nang hindi mo nalalaman."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Makaka-access sa lahat ng file"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Mga app sa pag-activate gamit ang boses"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Payagan ang pag-activate gamit ang boses"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Ino-on ng voice activation ang mga naaprubahang app nang hands-free sa pamamagitan ng command gamit ang boses. Sa pamamagitan ng built-in na adaptive sensing, natitiyak na nananatiling pribado sa iyo lang ang data.\n\n"<a href="">"Higit pa tungkol sa protektadong adaptive sensing"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Mga full screen na notification"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Payagan ang mga full screen na notification mula sa app na ito"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Payagan ang app na ito na magpakita ng mga notification na sakop ang buong screen kapag naka-lock ang device. Puwedeng gamitin ng mga app ang mga ito para mag-highlight ng mga alarm, papasok na tawag, o iba pang agarang notification."</string>
@@ -3993,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Gumamit ang <xliff:g id="APP_LABEL">%1$s</xliff:g> ng mas maraming baterya kaysa sa karaniwan habang nasa background"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Gumamit ang <xliff:g id="APP_LABEL">%1$s</xliff:g> ng mas maraming baterya habang nasa foreground"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Gumamit ang <xliff:g id="APP_LABEL">%1$s</xliff:g> ng mas maraming baterya kaysa sa karaniwan habang nasa foreground"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomaly sa paggamit ng baterya"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Makonsumong paggamit ng baterya"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Makonsumong paggamit ng baterya sa background"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Makonsumong paggamit ng baterya sa foreground"</string>
@@ -4090,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"system navigation, 2 button na navigation, 3 button na navigation, navigation gamit ang galaw, pag-swipe"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital na assistant"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"I-swipe para i-invoke ang assistant"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Mag-swipe pataas mula sa isang sulok sa ibaba para i-invoke ang app ng digital na assistant."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Mag-swipe pataas mula sa isang sulok sa ibaba para i-invoke ang app ng digital na assistant"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Pindutin nang matagal ang Home para sa Assistant"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Pindutin nang matagal ang button ng Home para i-invoke ang digital na assistant app."</string>
<string name="low_label" msgid="6525629096999711220">"Mababa"</string>
@@ -4943,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Pumili ng Kasarian para sa grammar"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Nagsa-scan para sa mga mapanlinlang na app"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Suriin ang aktibidad sa app para mag-detect ng phishing"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Gamitin ang pag-scan"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Gamitin ang pag-scan para sa mga app pra sa trabaho"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Gumamit ng pag-scan para sa mga mapanlinlang na app"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Gumamit ng pag-scan para sa mga mapanlinlang na app para sa trabaho"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index ecfdc00..cc23f68 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"Diğer cihazlar"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"Kayıtlı cihazlar"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Hesapla ilişkili"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Hesapta daha önce kullanıldı"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Hesapta daha önce kullanılan"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth, eşleme işlemi için açılır"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"Bağlantı tercihleri"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Daha önce bağlanılmış cihazlar"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Ekran kalemi"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Ses paylaşımı"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Sesi paylaş"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Aramalar ve alarmlar"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE ses akışına bağlanın"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Yakındaki ses akışları"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Ses akışları"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR kodu kullanarak ses akışına bağlanın"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Yakında ses akışı bulunamadı."</string>
<string name="date_and_time" msgid="1788358029823431692">"Tarih ve saat"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Temizle"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"İş profili"</string>
<string name="private_space_title" msgid="7078627930195569767">"Gizli Alan"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Uygulamalar gizli klasörde gizlenir"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Ekran kilidini kullanarak kilidi aç"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Uygulamaları yalnızca sizin erişebileceğiniz gizli bir klasörde gizleyin"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Gizli alan kilidi"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Gizli alanın kilidini, cihazınızın kilidini açtığınız şekilde açabilir veya farklı bir kilit seçebilirsiniz"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Cihaz ekran kilidini kullanma"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Yüz Tanıma Kilidi ve Parmak İziyle Kilit Açma"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Kurmak için dokunun"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Cihaz ekranı kilidiyle aynı"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Gizli alan için yeni bir kilit seçilsin mi?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Kilitli olduğunda gizle"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Kilitli olduğunda gizli alanı gizle"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Başkalarının, cihazınızda gizli alan olduğunu bilmesini önlemek için bunu uygulama listenizde gizleyin"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Gizli olduğunda gizli alana erişin"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Arama çubuğuna \"Gizli alan\" yazın"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Gizli alan kutusuna dokunun"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Gizli alanınızın kilidini açın"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Kapalı"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Açık"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Gizli alan oluştur"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Gizli alanı sil"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Gizli alan oluşturuldu"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Gizli alan zaten mevcut"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Gizli alan oluşturulamadı"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Gizli alan silindi"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Gizli alan silinemedi"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Ekran kilidi ayarlayın"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Gizli alanı kullanmak için cihazda ekran kilidi ayarlayın."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Ekran kilidi ayarla"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"İptal"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"İptal"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Kurulum"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Gizli alanı kurun"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Özel uygulamaları yalnızca sizin erişebildiğiniz güvenli bir alanda gizleyin"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Nasıl çalışır?"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Gizli alana, uygulama listenizin alt tarafından erişebilirsiniz"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Gizli alandaki uygulamalar kilit ile korunur"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Kilitli olduğunda gizli alandaki uygulamaların gönderdiği bildirimler gizlenir"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Gizli alan kilitli olduğunda izin yöneticisi, gizlilik kontrol paneli ve diğer ayarlarda gizli alan uygulamaları görünmez"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Gizli alan kuruluyor…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Kilitli olduğunda gizli alan uygulamalarıyla ilgili kullanım bilgileri gizlenir"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Gizli alana, uygulama listenizden erişin"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Gizli alan kurulamadı"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Şimdi tekrar deneyin veya daha sonra tekrar gelin"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Tekrar Dene"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Kilidi açmak için ekran kilidi kullanılsın mı?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Gizli alanın kilidini, cihazınızın kilidini açtığınız şekilde açabilir veya farklı bir kilit seçebilirsiniz"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Ekran kilidi kullan"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Yeni kilit seç"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"İşlem tamam!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Bitti"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Gizli alana erişmek için aşağı kaydırın"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Gizli alan kurmak için oturum açın"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Gizli alan kurmak için bir hesapta oturum açmanız gerekir"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Gizli alanı göstermek için (Nihai kullanıcı deneyimi değil)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Ayarlar uygulamasını açın"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Güvenlik ve gizlilik > Gizli Alan > Kilitli olduğunda gizli alanı gizle\'ye dokunun"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"\"Kilitli olduğunda gizli alanı gizle\" ayarını kapat düğmesi"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google çalışanlarına not: Bu özellik hâlâ geliştirme aşamasındadır"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"<xliff:g id="COUNT">%d</xliff:g> adede kadar parmak izi ekleyebilirsiniz"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Maksimum sayıda parmak izi eklediniz"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Daha fazla parmak izi eklenemez"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Bağlan"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Bağlantıyı kes"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Eşle ve bağlan"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth açık olduğunda, cihazınız yakındaki Bluetooth cihazlarla iletişim kurabilir."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth açık olduğunda, cihazınız yakındaki Bluetooth cihazlarla iletişim kurabilir."</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth açıkken cihazınız yakındaki diğer Bluetooth cihazlarla iletişim kurabilir.\n\nUygulamalar ve hizmetler, cihaz deneyimini iyileştirmek için Bluetooth kapalıyken bile yakında cihaz olup olmadığını belirlemek amacıyla herhangi bir zamanda tarama yapabilir. Bu özellik, örneğin, konuma dayalı özellikleri ve hizmetleri iyileştirmek için kullanılabilir. Bunu Bluetooth tarama ayarlarından değiştirebilirsiniz."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Değiştir"</string>
<string name="device_details_title" msgid="1155622417516195481">"Cihaz ayrıntıları"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART\'ın, hata ayıklaması yapılabilecek uygulamaların bayt kodunu doğrulamasına izin ver"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Yenileme hızını göster"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mevcut ekranın yenileme hızını göster"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR oranını göster"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mevcut HDR/SDR oranını göster"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC için cihaz kilidinin açılmasını zorunlu kıl"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Cihaz katlıyken uygulamaları kullanmaya devam et"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Bazı içerikler için yenileme hızını otomatik olarak <xliff:g id="ID_1">%1$d</xliff:g> Hz\'e yükseltir. Pil kullanımını artırır."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Yoğun yenileme hızına zorla"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Geliştirilmiş dokunma duyarlılığı ve animasyon kalitesi için en yüksek yenileme hızı. Pil kullanımını artırır."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Ekrana dikkat verme"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Ortak ayarlar"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN\'ler"</string>
<string name="apn_edit" msgid="2003683641840248741">"Erişim noktasını düzenle"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Erişim noktası ekleyin"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Ayarlanmadı"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ayarlanmadı"</string>
<string name="apn_name" msgid="6677695784108157953">"Ad"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Açmak için erişilebilirlik düğmesini kullanın"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Açmak için ses düğmelerini basılı tutun"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Açmak için ekrana üç kez dokunun"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Açmak için ekrana iki parmağınızla üç kez dokunun"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Açmak için hareketi kullanın"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Erişilebilirlik hareketini kullan"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Bu özelliği kullanmak için ekranınızın alt kısmındaki erişilebilirlik düğmesine <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> dokunun.\n\nÖzellikler arasında geçiş yapmak için erişilebilirlik düğmesine dokunup basılı tutun."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Bu özelliği kullanmak için ekranınızdaki erişilebilirlik düğmesine dokunun."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Bu özelliği kullanmak için ses tuşlarının ikisine birden basın ve basılı tutun."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Büyütmeyi başlatıp durdurmak için ekranınızda herhangi bir yere üç kez dokunun."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Büyütmeyi başlatıp durdurmak için ekranınızda herhangi bir yere iki parmağınızla üç kez dokunun."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Bu özelliği kullanmak için 2 parmağınızla ekranın alt kısmından yukarı kaydırın.\n\nÖzellikler arasında geçiş yapmak için 2 parmağınızla yukarı kaydırıp basılı tutun."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Bu özelliği kullanmak için 3 parmağınızla ekranın alt kısmından yukarı kaydırın.\n\nÖzellikler arasında geçiş yapmak için 3 parmağınızla yukarı kaydırıp basılı tutun."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Bir erişilebilirlik özelliğini kullanmak için 2 parmağınızla ekranın alt kısmından yukarı kaydırın.\n\nÖzellikler arasında geçiş yapmak için 2 parmağınızla yukarı kaydırıp basılı tutun."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Ses seviyesi tuşlarını basılı tut"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ses tuşlarını basılı tut"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Ses seviyesi tuşlarının ikisini birden basılı tutun"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Ekrana iki parmağınızla üç kez dokunun"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ekrana iki parmağınızla üç kez dokunun"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"İki parmağınızla ekrana {0,number,integer} kez hızlıca dokunun"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekrana üç kez dokun"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ekrana üç kez dokun"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ekrana {0,number,integer} kez hızlıca dokunun. Bu kısayol cihazınızı yavaşlatabilir"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Bir uygulama veya donanım sensörüyle etkileşimlerinizi takip edebilir ve sizin adınıza uygulamalarla etkileşimde bulunabilir."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"İzin ver"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Reddet"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Durdur"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"İptal"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> durdurulsun mu?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> düğmesine dokunursanız <xliff:g id="SERVICE">%2$s</xliff:g> hizmeti durdurulur."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Hiçbir hizmet yüklenmedi"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Hizmet seçilmedi"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Hiçbir açıklama sağlanmadı."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Uygulama için arka plan etkinliğini sınırlarsanız hatalı davranabilir"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Uygulama, pili optimize etmek için ayarlanmadığından kısıtlanamaz.\n\nUygulamayı kısıtlamak için önce pil optimizasyonunu açın."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Pil kullanımını yönetme"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Arka planda kullanıma izin verin"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Etkinleştirerek gerçek zamanlı güncellemeler alın, pil tasarrufu yapmak için de devre dışı bırakın"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Kısıtlanmamış"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimize edilmiş"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Kısıtlı"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Ad"</string>
<string name="vpn_type" msgid="5533202873260826663">"Tür"</string>
<string name="vpn_server" msgid="2908816134941973935">"Sunucu adresi"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP şifreleme (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP gizli bilgisi"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec kimliği"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec önceden paylaşılan anahtar"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec kullanıcı sertifikası"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA sertifikası"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec sunucu sertifikası"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Gelişmiş seçenekleri göster"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS arama alan adları"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS sunucuları (ör. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Yönlendirme rotaları (ör. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Kullanıcı adı"</string>
<string name="vpn_password" msgid="1183746907642628127">"Şifre"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Hesap bilgilerini kaydet"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(kullanılmıyor)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(sunucuyu doğrulama)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(sunucudan alınır)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Bu VPN türü her zaman bağlı durumda kalamaz"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Her zaman açık durumda olan VPN yalnızca sayısal sunucu adreslerini destekliyor"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Her zaman açık durumda olan VPN için bir DNS sunucusu belirtilmelidir"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Her zaman açık durumda olan VPN için DNS sunucusu adresleri sayısal olmalıdır"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Girilen bilgiler her zaman açık durumda olan VPN\'yi desteklemiyor"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"İptal"</string>
<string name="vpn_done" msgid="5137858784289564985">"Kapat"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN\'si olmayan bağlantıları engelle"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN bağlantısı gerekiyor mu?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Güvenli değil. IKEv2 VPN\'e güncelle"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Her zaman bağlı kalacak bir VPN profili seçin. Ağ trafiğine yalnızca bu VPN\'ye bağlanıldığında izin verilir."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Yok"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Her zaman açık VPN seçeneğinde hem sunucu hem de DNS için bir IP adresi gerekir."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Tüm bildirim içeriğini göster"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Hassas içerikleri sadece kilitli değilken göster"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Bildirimleri hiç gösterme"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kilit ekranının nasıl görüntülenmesini istiyorsunuz?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Kilit ekranınızda nelerin görünmesini istiyorsunuz?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Kilit ekranı"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Tüm iş bildirimi içeriklerini göster"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Hassas iş içeriğini gizle"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Tüm dosyaları yönetme erişimine izin ver"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Bu uygulamanın, bu cihazdaki veya cihaza bağlı depolama birimlerindeki tüm dosyaları okumasına, değiştirmesine ve silmesine izin verin. İzin verilirse uygulama size açıkça bildirmeden dosyalara erişebilir."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Tüm dosyalara erişebilir"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Sesli etkinleştirilen uygulamalar"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Sesli etkinleştirmeye izin ver"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Sesli etkinleştirme özelliği, onaylı uygulamaları ellerinizi kullanmadan sesli komut vererek açmanızı sağlar. Yerleşik uyarlanabilir algılama özelliği, verilerin yalnızca size özel kalmasını sağlar.\n\n"<a href="">"Korumalı uyarlanabilir algılama hakkında daha fazla bilgi"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Tam ekran bildirimler"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Bu uygulamanın tam ekran bildirim göndermesine izin ver"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Cihaz kilitliyken bu uygulamanın tüm ekranı kaplayan bildirimler göstermesine izin verin. Uygulamalar bunu alarmları, gelen aramaları ve diğer acil bildirimleri göstermek için kullanabilir."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> arka plandayken normalden daha fazla pil kullandı"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ön plandayken daha fazla pil kullandı"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ön plandayken normalden daha fazla pil kullandı"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Pil kullanımında anormallik"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Yüksek pil kullanımı"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Arka planda yüksek pil kullanımı"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Ön planda yüksek pil kullanımı"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"sistemde gezinme, 2 düğmeli gezinme, 3 düğmeli gezinme, hareketle gezinme, kaydırma"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Dijital asistan"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Asistanı çağırmak için ekranı parmağınızla kaydırın"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Dijital asistan uygulamasını çağırmak için ekranı parmağınızla alt köşeden yukarı kaydırın."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Dijital asistan uygulamasını çağırmak için ekranı parmağınızla alt köşeden yukarı kaydırın."</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Asistan için ana sayfa düğmesini basılı tutun"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Dijital asistan uygulamasını çağırmak için Ana sayfa düğmesini basılı tutun."</string>
<string name="low_label" msgid="6525629096999711220">"Düşük"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Dil bilgisine uygun cinsiyet seçin"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Yanıltıcı uygulamaları tarama"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Uygulama etkinliğini kimlik avı açısından kontrol edin"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Taramayı kullan"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"İş uygulamaları için taramayı kullan"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Yanıltıcı uygulamaları tespit etmek için taramayı kullan"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"İş profilinde yanıltıcı uygulamaları tespit etmek için taramayı kullan"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index d0ca854..c53e553 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Стилус"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Надання доступу до аудіо"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Поділитись аудіо"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Дзвінки й будильники"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Підключитися до аудіопотоку LE"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Аудіопотоки поблизу"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Аудіопотоки"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Підключіться до аудіопотоку за допомогою QR-коду"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Аудіопотіків поблизу не знайдено."</string>
<string name="date_and_time" msgid="1788358029823431692">"Дата й час"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Проксі"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Очистити"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Робочий профіль"</string>
<string name="private_space_title" msgid="7078627930195569767">"Приватний простір"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Ховайте додатки в приватній папці"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Використовувати спосіб розблокування екрана"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Ховайте додатки в приватній папці, доступ до якої маєте лише ви"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Блокування приватного простору"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Ви можете розблоковувати приватний простір так само, як і свій пристрій, або вибрати інший спосіб розблокування"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Використовувати спосіб розблокування екрана пристрою"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Фейс-контроль і розблокування відбитком пальця"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Натисніть, щоб налаштувати"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Той самий спосіб розблокування, що й для екрана пристрою"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Вибрати нове блокування приватного простору?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Не показувати на заблокованому екрані"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Приховати приватний простір, коли його заблоковано"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Приховайте приватний простір зі списку додатків, щоб ніхто не дізнався про його наявність на пристрої"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Отримуйте доступ до приватного простору, коли його приховано"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"У рядку пошуку введіть \"приватний простір\""</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Натисніть панель \"Приватний простір\""</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Розблокуйте приватний простір"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Вимкнено"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Увімкнено"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Система"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Створити приватний простір"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Видалити приватний простір"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Приватний простір створено"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Приватний простір уже існує"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Не вдалося створити приватний простір"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Приватний простір видалено"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Не вдалося видалити приватний простір"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Налаштуйте блокування екрана"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Щоб застосовувати приватний простір, налаштуйте блокування."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Налаштувати блокування екрана"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Скасувати"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Скасувати"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Налаштувати"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Налаштуйте приватний простір"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Сховайте приватні додатки в безпечному місці, доступ до якого маєте лише ви"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Як це працює"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Ви можете отримати доступ до приватного простору внизу списку додатків"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Додатки в приватному просторі захищено блокуванням"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Сповіщення додатків у приватному просторі приховуються, коли його заблоковано"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Коли приватний простір заблоковано, його додатки не відображатимуться в менеджері дозволів, на панелі керування дозволами й в інших налаштуваннях."</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Налаштування приватного простору…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Коли приватний простір заблоковано, дані про використання його додатків приховуються"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Доступ до приватного простору зі списку додатків"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Не вдалося налаштувати приватний простір"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Повторіть спробу зараз або поверніться пізніше"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Повторити"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Використовувати спосіб розблокування екрана?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Ви можете розблоковувати приватний простір так само, як і свій пристрій, або вибрати інший спосіб розблокування"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Використовувати спосіб розблокування екрана"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Вибрати новий спосіб розблокування"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Готово."</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Готово"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Прокрутіть униз, щоб увійти в приватний простір"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Щоб налаштувати приватний простір, виконайте вхід"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Щоб налаштувати приватний простір, потрібно ввійти в обліковий запис"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Показувати приватний простір (неостаточна версія)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Відкрийте додаток Налаштування"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Виберіть \"Безпека й конфіденційність\" > \"Приватний простір\" > \"Приховати приватний простір, коли його заблоковано\""</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Вимкніть \"Приховати приватний простір, коли його заблоковано\""</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Примітка для працівників компанії Google: розробка цієї функції ще триває"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Можна додати максимум стільки відбитків: <xliff:g id="COUNT">%d</xliff:g>"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Ви додали максимальну кількість відбитків пальців"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Більше не можна додати відбитки пальців"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Підключити"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Відключити"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Створ. пару та підкл."</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Коли Bluetooth увімкнено, пристрій може обмінюватися даними з пристроями Bluetooth поблизу."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Коли ввімкнено Bluetooth, ваш пристрій може обмінюватися даними з іншими пристроями з цією технологією поблизу"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Коли ви вмикаєте Bluetooth, ваш пристрій може обмінюватися даними з іншими пристроями з цією технологією поблизу.\n\nДодатки й сервіси можуть шукати пристрої поруч, навіть якщо Bluetooth вимкнено. Завдяки цьому покращується робота пристрою, зокрема його функцій і сервісів, які використовують геодані. Таке налаштування можна змінити в параметрах пошуку пристроїв із Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Змінити"</string>
<string name="device_details_title" msgid="1155622417516195481">"Про пристрій"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Дозволити ART підтверджувати байт-код налагоджуваних додатків"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Частота оновлення"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Показати поточну частоту оновлення екрана"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Показувати співвідношення HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Показувати поточне співвідношення HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC лише після розблокування"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Передавання даних Android"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Далі користуватися додатками на складеному пристрої"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Плавне відображення"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Автоматично збільшує частоту оновлення до <xliff:g id="ID_1">%1$d</xliff:g> Гц для певного контенту. Збільшує використання заряду акумулятора."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Примусово найбільша частота оновлення"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Найвища частота оновлення для кращого реагування на дотики й вищої якості анімації. Підвищує використання заряду акумулятора."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Адаптивний сплячий режим"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Налаштування для спільного використання"</string>
<string name="apn_settings" msgid="4295467389400441299">"Точки доступу"</string>
<string name="apn_edit" msgid="2003683641840248741">"Змінити точку доступу"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Додати точку доступу"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Не встановлено"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Не задано"</string>
<string name="apn_name" msgid="6677695784108157953">"Назва"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Використайте кнопку функцій доступності"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Утримуйте клавіші гучності, щоб відкрити"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Тричі торкніться екрана, щоб відкрити"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Тричі торкніться екрана двома пальцями, щоб відкрити"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Використовуйте жест"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Використовувати жест функцій доступності"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Щоб використовувати цю функцію, натисніть кнопку спеціальних можливостей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> унизу екрана.\n\nЩоб переключитися між функціями, натисніть і утримуйте кнопку спеціальних можливостей."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Щоб використовувати цю функцію, натисніть кнопку функцій доступності на екрані."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Щоб використовувати цю функцію, натисніть і утримуйте обидві клавіші гучності."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Щоб почати або припинити збільшення, тричі натисніть будь-де на екрані."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Щоб почати або припинити збільшення, тричі натисніть будь-де на екрані двома пальцями."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Щоб використовувати цю функцію, проведіть двома пальцями вверх від низу екрана.\n\nЩоб переключитися між функціями, проведіть двома пальцями знизу вверх і утримуйте їх на екрані."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Щоб використовувати цю функцію, проведіть трьома пальцями вверх від низу екрана.\n\nЩоб переключитися між функціями, проведіть трьома пальцями знизу вверх і утримуйте їх на екрані."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Щоб використовувати спеціальні можливості, проведіть двома пальцями вверх від низу екрана.\n\nЩоб переключитися між функціями, проведіть двома пальцями знизу вверх і утримуйте їх на екрані."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Утримувати клавіші гучності"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"утримання клавіш гучності"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Утримуйте обидві клавіші гучності"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Потрійний дотик екрана двома пальцями"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"потрійний дотик екрана двома пальцями"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Швидко торкніться екрана {0,number,integer} рази двома пальцями"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Тричі торкнутися екрана"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"потрійний дотик"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Швидко натисніть екран стільки разів: {0,number,integer}. Призначена кнопка чи відповідний жест може сповільнити роботу пристрою."</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Цей сервіс може відстежувати вашу взаємодію з додатком чи апаратним датчиком, а також взаємодіяти з додатками від вашого імені."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Дозволити"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Заборонити"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Зупинити"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Скасувати"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Зупинити <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Натиснувши \"<xliff:g id="STOP">%1$s</xliff:g>\", ви зупините сервіс <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Не встановлено жодної служби"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Службу не вибрано"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Немає опису."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Якщо обмежити фонову активність, додаток може працювати неналежним чином"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Оскільки в додатку не передбачено економію заряду акумулятора, його не можна обмежити.\n\nУвімкніть оптимізацію споживання заряду."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Використання заряду"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Дозволити використання у фоновому режимі"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Увімкніть, щоб отримувати оновлення в реальному часі; вимкніть, щоб заощадити заряд акумулятора"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Без обмежень"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оптимізовано"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Обмежено"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Назва"</string>
<string name="vpn_type" msgid="5533202873260826663">"Тип"</string>
<string name="vpn_server" msgid="2908816134941973935">"Адреса сервера"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Шифрування PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Ключ L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Ідентифікатор IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Спільний ключ IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Сертифікат користувача IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Сертифікат IPSec від ЦС"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Сертифікат сервера IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Показати розширені параметри"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Домени DNS пошуку"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-сервери (напр., 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Маршрути пересилання (напр., 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Ім’я користувача"</string>
<string name="vpn_password" msgid="1183746907642628127">"Пароль"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Зберегти інформацію про обліковий запис"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(не використовується)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(не перевіряти сервер)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(отриманий із сервера)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Цей тип мережі VPN не може підтримувати постійне з’єднання"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Постійна мережа VPN підтримує лише числові адреси сервера"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Для постійної мережі VPN потрібно вказати DNS-сервер"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Для постійної мережі VPN адреси DNS-сервера мають складатися з цифр"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Введена інформація не підтримує постійну мережу VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Скасувати"</string>
<string name="vpn_done" msgid="5137858784289564985">"Закрити"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Блокувати підключення не через VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Вимагати з’єднання VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ненадійна мережа. Перейдіть на VPN-підключення за протоколом IKEv2."</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Виберіть профіль мережі VPN і не від’єднуйтесь від неї. Мережевий трафік дозволятиметься лише за умови під’єднання до цієї VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Не використовувати"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Для постійної мережі VPN потрібна IP-адреса як для сервера, так і для DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Показувати весь вміст сповіщень"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Приховувати приватну інформацію до розблокування"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Узагалі не показувати сповіщення"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Що показувати на заблокованому екрані?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Що має відображатися на заблокованому екрані?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Заблокований екран"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Показувати весь вміст робочих сповіщень"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ховати конфіденційний робочий вміст"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Надати доступ до керування всіма файлами"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Дозволити цьому додатку переглядати, змінювати та видаляти всі файли на цьому пристрої або інших підключених носіях пам\'яті. Після надання дозволу додаток може отримувати доступ до файлів без вашого відома."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Мають доступ до всіх файлів"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Додатки з активацією голосом"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Дозволити активацію голосом"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"За допомогою активації голосом ви можете вмикати схвалені додатки, використовуючи голосові команди. Вбудована функція адаптивного розпізнавання забезпечує конфіденційність даних (вони доступні лише вам).\n\n"<a href="">"Докладніше про захищене адаптивне розпізнавання"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Сповіщення на весь екран"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Дозволити сповіщення на весь екран із цього додатка"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Цьому додатку буде дозволено показувати сповіщення на весь екран, коли пристрій заблоковано. Додатки можуть використовувати це налаштування, щоб показувати будильники, сповіщення про вхідні дзвінки або інші термінові сповіщення."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Додаток <xliff:g id="APP_LABEL">%1$s</xliff:g> використав більше заряду акумулятора, ніж зазвичай, у фоновому режимі"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Додаток <xliff:g id="APP_LABEL">%1$s</xliff:g> використав більше заряду акумулятора в активному режимі"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Додаток <xliff:g id="APP_LABEL">%1$s</xliff:g> використав більше заряду акумулятора, ніж зазвичай, в активному режимі"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Відхилення у використанні заряду акумулятора"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Інтенсивне використання заряду акумулятора"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Інтенсивне використання заряду акумулятора у фоновому режимі"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Інтенсивне використання заряду акумулятора в активному режимі"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"навігація в системі, навігація за допомогою двох кнопок, навігація за допомогою трьох кнопок, навігація за допомогою жестів, проведення пальцем по екрану"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Цифровий помічник"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Провести пальцем, щоб викликати цифрового помічника"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Щоб викликати цифрового помічника, проведіть пальцем угору від нижнього кута екрана."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Щоб викликати цифрового помічника, проведіть пальцем угору від нижнього кута екрана"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Виклик помічника утриманням кнопки гол. екрана"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Щоб викликати цифрового помічника, натисніть і утримуйте кнопку головного екрана."</string>
<string name="low_label" msgid="6525629096999711220">"Низька"</string>
@@ -4961,8 +4946,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Виберіть граматичний рід"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Сканування на предмет оманливих додатків"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Перевірка дій у додатках на предмет фішингу"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Використовувати сканування"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Використовувати сканування для робочих додатків"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Використовувати сканування на предмет оманливих додатків"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Використовувати сканування на предмет оманливих робочих додатків"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index d06ed09..56a776e 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"اسٹائلس"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"آڈیو کا اشتراک"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"آڈیو کا اشتراک کریں"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"کالز اور الارمز"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE آڈیو سلسلہ سے منسلک کریں"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"قریبی آڈیو سلسلے"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"آڈیو سلسلے"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR کوڈ استعمال کر کے آڈیو سلسلہ سے منسلک کریں"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"کوئی قریبی آڈیو سلسلے نہیں ملے۔"</string>
<string name="date_and_time" msgid="1788358029823431692">"تاریخ اور وقت"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"پراکسی"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"صاف کریں"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"دفتری پروفائل"</string>
<string name="private_space_title" msgid="7078627930195569767">"نجی اسپیس"</string>
<string name="private_space_summary" msgid="8237652417163408001">"ایپس کو نجی فولڈر میں چھپائیں"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"اسکرین لاک کا استعمال کرتے ہوئے غیر مقفل کریں"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"ایپس کو ایک نجی فولڈر میں چھپائیں جس تک صرف آپ ہی رسائی حاصل کر سکتے ہیں"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"نجی اسپیس لاک"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"آپ نجی اسپیس کو اسی طرح غیر مقفل کر سکتے ہیں جس طرح آپ اپنے آلے کو غیر مقفل کرتے ہیں یا ایک مختلف قفل کا انتخاب سکتے ہیں"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"آلے کا اسکرین لاک استعمال کریں"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"چہرہ اور فنگر پرنٹ اَن لاک"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"سیٹ اپ کرنے کیلئے تھپتھپائیں"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"آلہ کے اسکرین لاک جیسا"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"نجی اسپیس کے لیے نیا لاک منتخب کریں؟"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"مقفل ہونے پر چھپائیں"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"مقفل ہونے پر نجی اسپیس چھپائیں"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"دیگر لوگوں کو معلوم نہ ہوں کہ آپ کے آلے پر نجی اسپیس ہے، آپ اسے اپنی ایپس کی فہرست سے چھپا سکتے ہیں"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"پوشیدہ ہونے پر نجی اسپیس تک رسائی حاصل کریں"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"تلاش بار میں \'نجی اسپیس\' تلاش کریں"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"نجی اسپیس ٹائل پر تھپتھپائیں"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"اپنی نجی اسپیس کو غیر مقفل کریں"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"آف ہے"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"آن ہے"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"سسٹم"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"نجی اسپیس بنائیں"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"نجی اسپیس حذف کریں"</string>
- <string name="private_space_created" msgid="2978055968937762232">"نجی اسپیس کامیابی کے ساتھ بنائی گئی"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"نجی اسپیس پہلے سے موجود ہے"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"نجی اسپیس نہیں بنائی جا سکی"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"نجی اسپیس کامیابی کے ساتھ حذف ہو گئی"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"نجی اسپیس کو حذف نہیں کیا جا سکا"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"اسکرین لاک سیٹ کریں"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"نجی اسپیس استعمال کرنے کیلئے، اس آلہ پر سکرین لاک سیٹ کریں۔"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"اسکرین لاک سیٹ کریں"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"منسوخ کریں"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"منسوخ کریں"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"سیٹ اپ کریں"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"نجی اسپیس سیٹ اپ کریں"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"نجی ایپس کو اس محفوظ اسپیس میں چھپائیں جس تک صرف آپ رسائی حاصل کر سکتے ہیں"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"اس کے کام کرنے کا طریقہ"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"آپ اپنی ایپس کی فہرست کے نچلے حصے سے نجی اسپیس تک رسائی حاصل کر سکتے ہیں"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"نجی اسپیس میں موجود ایپس کو بذریعہ لاک محفوظ کیا جاتا ہے"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"نجی اسپیس میں موجود ایپس کے مقفل ہونے پر ان کی اطلاعات پوشیدہ ہو جاتی ہیں"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"نجی اسپیس کے مقفل ہونے پر، نجی اسپیس ایپس اجازتوں کے مینیجر، پرائیویسی ڈیش بورڈ اور دیگر ترتیبات میں ظاہر نہیں ہوں گی"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"نجی اسپیس سیٹ اپ کی جا رہی ہے…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"نجی اسپیس ایپس کے استعمال کی معلومات اس وقت پوشیدہ ہوتی ہے جب یہ مقفل ہوتی ہے"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"اپنی ایپس کی فہرست سے نجی اسپیس تک رسائی حاصل کریں"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"نجی اسپیس سیٹ اپ نہیں کی جا سکی"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"ابھی دوبارہ کوشش کریں یا بعد میں واپس آئیں"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"دوبارہ کوشش کریں"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"غیر مقفل کرنے کے لیے اسکرین لاک استعمال کریں؟"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"آپ نجی اسپیس کو اسی طرح غیر مقفل کر سکتے ہیں جس طرح آپ اپنے آلے کو غیر مقفل کرتے ہیں یا ایک مختلف قفل کا انتخاب سکتے ہیں"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"اسکرین لاک استعمال کریں"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"نیا قفل منتخب کریں"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"سب کچھ تیار ہے!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"ہو گیا"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"نجی اسپیس تک رسائی حاصل کرنے کے لیے نیچے اسکرول کریں"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"نجی اسپیس سیٹ اپ کرنے کے لیے سائن ان کریں"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"نجی اسپیس سیٹ اپ کرنے کے لیے آپ کو اکاؤنٹ میں سائن ان کرنے کی ضرورت ہے"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"نجی اسپیس دکھانے کے لیے (حتمی UX نہیں)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"ترتیبات ایپ کھولیں"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"سیکیورٹی & رازداری > نجی اسپیس > مقفل ہونے پر نجی اسپیس چھپائیں پر تھپتھپائیں"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"مقفل ہونے پر نجی اسپیس کو چھپائیں ٹوگل کو آف کریں"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Googlers کے لیے نوٹ: اس خصوصیت کی ڈویلپمنٹ ابھی بھی پیشرفت میں ہے"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"آپ <xliff:g id="COUNT">%d</xliff:g> فنگر پرنٹس شامل کر سکتے ہیں"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"آپ فنگر پرنٹس کی زیادہ سے زیادہ تعداد شامل کر چکے ہیں"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"مزید فنگر پرنٹس شامل نہیں کر سکتے"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"منسلک کریں"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"غیر منسلک کریں"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"جوڑا بنائیں اور مربوط کریں"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"بلوٹوتھ آن ہونے پر، آپ کا آلہ دیگر قریبی بلوٹوتھ آلات کے ساتھ مواصلت کر سکتا ہے۔"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"بلوٹوتھ آن ہونے پر، آپ کا آلہ دیگر قریبی بلوٹوتھ آلات سے مواصلت کر سکتا ہے"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"بلوٹوتھ آن ہونے پر آپ کا آلہ دیگر قریبی بلوٹوتھ آلات کے ساتھ مواصلت کر سکتا ہے۔\n\nآلے کے تجربے کو بہتر بنانے کے لیے، ایپس اور سروسز بلوٹوتھ کے آف ہونے پر بھی کسی بھی وقت قریبی آلات کو اسکین کر سکتی ہیں۔ مثال کے طور، مقام پر مبنی خصوصیات اور سروسز کو بہتر بنانے کے لیے اس کا استعمال کیا جا سکتا ہے۔ آپ بلوٹوتھ اسکیننگ کی ترتیبات میں اسے تبدیل کر سکتے ہیں۔"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"تبدیل کریں"</string>
<string name="device_details_title" msgid="1155622417516195481">"آلہ کی تفصیلات"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"قابل ڈیبگ اپپس کے بائٹ کوڈ کی توثیق کے لیے ART کو اجازت دیں"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"ریفریش کی شرح دکھائیں"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"موجودہ ڈسپلے کی ریفریش کی شرح دکھائیں"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR تناسب دکھائیں"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"موجودہ HDR/SDR تناسب دکھائیں"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC کے لیے آلہ کو غیر مقفل کرنے کی ضرورت ہے"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"فولڈ پر ایپس کا استعمال جاری رکھیں"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"ہموار ڈسپلے"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"کچھ مواد کے لیے <xliff:g id="ID_1">%1$d</xliff:g> Hz تک ریفریش ریٹ خودکار طور پر بڑھ جاتی ہے۔ بیٹری کے استعمال میں کرتی اضافہ ہیں"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"زیادہ سے زیادہ ریفریش کی شرح پر مجبور کریں"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"اعلی ترین ریفریش کرنے کی بہتر شرح کے ليے ٹچ کی کارکردگی اور اینیمیشن کوالٹی۔ بیٹری کے استعمال میں اضافہ کرتا ہے۔"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"اسکرین پر توجہ"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"کمیونل ترتیبات"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"رسائی کے مقام میں ترمیم کریں"</string>
+ <string name="apn_add" msgid="9069613192201630934">"رسائی پوائنٹ شامل کریں"</string>
<string name="apn_not_set" msgid="8246646433109750293">"سیٹ نہيں ہے"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"سیٹ نہیں ہے"</string>
<string name="apn_name" msgid="6677695784108157953">"نام"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"کھولنے کے لیے ایکسیسبیلٹی بٹن کا استعمال کریں"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"کھولنے کے لیے والیوم کی کلیدوں کو دبائے رکھیں"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"کھولنے کے لیے اسکرین پر تین بار تھپتھپائیں"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"کھولنے کے لیے دو انگلیوں سے تین بار تھپتھپائیں"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"کھولنے کے لیے اشارہ استعمال کریں"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ایکسیسبیلٹی اشارے کا استعمال کریں"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"یہ خصوصیت استعمال کرنے کیلئے، اپنی اسکرین کے سب سے نیچے<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ایکسیسبیلٹی بٹن پر تھپتھپائیں۔\n\nخصوصیات کے درمیان سوئچ کرنے کے لیے ایکسیسبیلٹی بٹن کو ٹچ کریں اور دبائے رکھیں۔"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"اس خصوصیت کا استعمال کرنے کے لیے، اپنی اسکرین پر ایکسیسبیلٹی بٹن پر تھپتھپائیں۔"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"یہ خصوصیت استعمال کرنے کیلئے، والیوم کی دونوں کلیدوں کو دبائے رکھیں۔"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"میگنیفکیشن شروع یا بند کرنے کے لیے، اپنی اسکرین پر کہیں بھی تین بار تھپتھپائیں۔"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"میگنیفکیشن شروع یا اسٹاپ کرنے کے لیے، اپنی اسکرین پر کہیں بھی دو انگلیوں سے تین بار تھپتھپائیں۔"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"یہ خصوصیت استعمال کرنے کیلئے، 2 انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nخصوصیات کے درمیان سوئچ کرنے کے لیے، 2 انگلیوں سے اوپر کی طرف سوائپ کریں اور دبائے رکھیں۔"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"یہ خصوصیت استعمال کرنے کیلئے، 3 انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nخصوصیات کے درمیان سوئچ کرنے کے لیے، 3 انگلیوں سے اوپر کی طرف سوائپ کریں اور دبائے رکھیں۔"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ایکسیسبیلٹی خصوصیت استعمال کرنے کیلئے، 2 انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nخصوصیات کے درمیان سوئچ کرنے کے لیے، 2 انگلیوں سے اوپر کی طرف سوائپ کریں اور دبائے رکھیں۔"</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"والیوم کی کلیدوں کو دبائیں رکھیں"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"والیوم کی کلیدوں کو دبائے رکھیں"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"والیوم کی دونوں کلیدوں کو دبائے رکھیں"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"دو انگلیوں سے اسکرین پر تین بار تھپتھپائیں"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"دو انگلیوں سے اسکرین پر تین بار تھپتھپائیں"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"دو انگلیوں سے اسکرین پر تیزی سے {0,number,integer} بار تھپتھپائیں"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"اسکرین پر تین بار تھپتھپائیں"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"اسکرین پر تین بار تھپتھپائیں"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"اسکرین پر فوری طور پر {0,number,integer} بار تھپتھپائیں۔ اس شارٹ کٹ سے آپ کا آلہ سست ہو سکتا ہے"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"یہ کسی ایپ یا ہارڈویئر سینسر کے ساتھ آپ کے تعاملات کو ٹریک کر سکتا ہے، اور آپ کی طرف سے ایپس کے ساتھ تعامل کر سکتا ہے۔"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"اجازت دیں"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"مسترد کریں"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"روکیں"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"منسوخ کریں"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> روکیں؟"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> پر تھپتھپانے سے <xliff:g id="SERVICE">%2$s</xliff:g> اسٹاپ ہو جائے گی۔"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"کوئی سروسز انسٹال کردہ نہيں ہیں"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"کوئی سروس منتخب نہیں ہے"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"کوئی تفصیل فراہم نہيں کی گئی۔"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"اگر آپ کسی ایپ کی پس منظر کی سرگرمی کو محدود کرتے ہیں تو یہ غلط برتاؤ کر سکتی ہے"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"چونکہ یہ ایپ بیٹری کی کارکردگی کو بہتر بنانے کیلئے نہیں ہے، لہذا آپ اسے محدود نہیں کر سکتے ہیں۔\n\nایپ کو محدود کرنے کیلئے، پہلے بیٹری کی کارکردگی کو بہتر بنانے کو آن کریں۔"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"بیٹری کے استعمال کا نظم کریں"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"پس منظر کے استعمال کی اجازت دیں"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ریئل ٹائم اپ ڈیٹس کے لیے فعال کریں، بیٹری بچانے کے لیے غیر فعال کریں"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"(پابندی کے بغیر)"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"بہتر کردہ"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"محدود کردہ"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"نام"</string>
<string name="vpn_type" msgid="5533202873260826663">"قسم"</string>
<string name="vpn_server" msgid="2908816134941973935">"سرور کا پتہ"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP مرموز کاری (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP راز"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec شناخت کنندہ"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec پہلے سے اشتراک کردہ کلید"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec صارف سرٹیفیکیٹ"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA سرٹیفیکیٹ"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec سرور سرٹیفیکیٹ"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"جدید ترین اختیارات دکھائیں"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS تلاش ڈومینز"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS سرورز (مثلاً 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"فارورڈنگ روٹس (مثلاً 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"صارف نام"</string>
<string name="vpn_password" msgid="1183746907642628127">"پاس ورڈ"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"اکاؤنٹ کی معلومات کو محفوظ کریں"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(استعمال نہیں ہوا)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(سرور کی توثیق نہ کریں)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(سرور سے موصول ہوا)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"اس قسم کا VPN ہر وقت منسلک نہیں رہ سکتا"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"ہمیشہ آن VPN صرف عددی سرور کے پتوں کو سپورٹ کرتا ہے"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ہمیشہ آن VPN کیلئے DNS سرور کا تعین ہونا ضروری ہے"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"ہمیشہ آن VPN کیلئے DNS سرور پتوں کا عددی ہونا ضروری ہے"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"درج شدہ معلومات ہمیشہ آن VPN کو سپورٹ نہیں کرتی ہیں"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"منسوخ کریں"</string>
<string name="vpn_done" msgid="5137858784289564985">"برخاست کریں"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"بنا VPN والے کنکشنز کو مسدود کریں"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN کنکشن درکار ہے؟"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"محفوظ نہیں ہے۔ IKEv2 VPN میں اپ ڈیٹ کریں"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"ہمیشہ مربوط رہنے کیلئے ایک VPN پروفائل منتخب کریں۔ صرف اس VPN سے مربوط ہونے پر ہی نیٹ ورک ٹریفک کی اجازت ہو گی۔"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"کوئی نہیں"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"ہمیشہ آن VPN کو سرور اور DNS دونوں کیلئے ایک IP پتہ کی ضرورت ہے۔"</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"سبھی اطلاعی مواد دکھائیں"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"غیر مقفل ہونے پر صرف حساس مواد دکھائیں"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"اطلاعات بالکل بھی نہ دکھائیں"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"آپ کس طرح مقفل اسکرین کو ڈسپلے کرنا چاہتے ہیں؟"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"آپ اپنی مقفل اسکرین کو کیا دکھانا چاہتے ہیں؟"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"مقفل اسکرین"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"تمام دفتری اطلاعی مواد دکھائیں"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"دفتر کا حساس مواد چھپائیں"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"سبھی فائلز کا نظم کرنے کیلئے رسائی کی اجازت دیں"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"اس ایپ کو اس آلہ یا کسی منسلک اسٹوریج والیوم کی تمام فائلز کو پڑھنے، اس میں ترمیم کرنے اور حذف کرنے کی اجازت دیں۔ اگر اجازت دی گئی تو ایپ آپ کو بتائے بغیر فائلز تک رسائی حاصل کر سکتی ہے۔"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"سبھی فائلز تک رسائی حاصل کی جا سکتی ہے"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"آواز کی فعالیت کی ایپس"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"آواز کی فعالیت کی اجازت دیں"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"آواز کی فعالیت صوتی کمانڈ کا استعمال کر کے منظور شدہ ایپس، ہینڈز فری کو آن کرتی ہے۔ بلٹ ان اڈاپٹیو سینسنگ یقینی بناتی ہے کہ ڈیٹا صرف آپ کے لیے نجی رہے۔\n\n"<a href="">"محفوظ اڈاپٹیو سینسنگ کے بارے میں مزید"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"پوری اسکرین کی اطلاعات"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"اس ایپ سے پوری اسکرین کی اطلاعات کی اجازت دیں"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"اس ایپ کو وہ اطلاعات دکھانے کی اجازت دیں جو آلے کے مقفل ہونے پر پوری اسکرین پر ظاہر ہوتی ہیں۔ ایپس ان کا استعمال الارمز، اِن کمنگ کالز یا دیگر فوری اطلاعات کو نمایاں کرنے کے لیے کر سکتی ہیں۔"</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> نے پس منظر میں رہتے ہوئے معمول سے زیادہ بیٹری استعمال کی"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> نے پیش منظر میں رہتے ہوئے زیادہ بیٹری استعمال کی"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> نے پیش منظر میں رہتے ہوئے معمول سے زیادہ بیٹری استعمال کی"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"بیٹری کا غیر معمولی استعمال"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"بیٹری کا زیادہ استعمال"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"پس منظر میں بیٹری کا زیادہ استعمال"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"پیش منظر میں بیٹری کا زیادہ استعمال"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"سسٹم نیویگیشن، 2 بٹن والی نیویگیشن، 3 بٹن والی نیویگیشن، اشاروں والی نیویگیشن، سوائپ"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"ڈیجیٹل اسسٹنٹ"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"اسسٹنٹ کو طلب کرنے کے لیے سوائپ کریں"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ڈیجیٹل اسسٹنٹ ایپ کو طلب کرنے کے لیے نچلے کونے سے اوپر سوائپ کریں۔"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ڈیجیٹل اسسٹنٹ ایپ کو طلب کرنے کے لیے نچلے کونے سے اوپر سوائپ کریں"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"اسسٹنٹ کے لیے ہوم بٹن کو دبائے رکھیں"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ڈیجیٹل اسسٹنٹ ایپ کو شروع کرنے کے لیے ہوم بٹن کو چھوئیں اور دبائے رکھیں۔"</string>
<string name="low_label" msgid="6525629096999711220">"کم"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"قواعد سے متعلق صنف منتخب کریں"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"جعلسازی کی ایپس کو اسکین کیا جا رہا ہے"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"فریب دہی کے لیے ایپ کی سرگرمی چیک کریں"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"اسکیننگ کا استعمال کریں"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"ورک ایپس کے لیے اسکیننگ کا استعمال کریں"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"مغالطہ آمیز ایپس کے لیے اسکین کرنے کی خصوصیت استعمال کریں"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"مغالطہ آمیز دفتری ایپس کے لیے اسکین کرنے کی خصوصیت استعمال کریں"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 6830035..d84f76f 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Audio ulashuvi"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Audioni ulashish"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Chaqiruvlar va signallar"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"LE audio oqimiga ulanish"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Atrofdagi audio oqimlar"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Audio oqimlar"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Audio oqimga QR kod orqali ulanish"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Yaqin-atrofda audio oqimlar majvud."</string>
<string name="date_and_time" msgid="1788358029823431692">"Sana va vaqt"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proksi-server"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Tozalash"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Ish profili"</string>
<string name="private_space_title" msgid="7078627930195569767">"Maxfiy joy"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Maxfiy jilddagi ilovalarni yashirish"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Ekran qulfi bilan qulfni ochish"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Faqat siz kira oladigan maxfiy jilddagi ilovalarni berkitish"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Maxfiy joy qulfi"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Maxfiy joyni qurilmangizniki bilan ayni usulda qulfdan chiqarishingiz mumkin yoki boshqa qulf tanlang"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Qurilmaning ekran qulfidan foydalanish"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Yuz va barmoq izi bilan ochish"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Sozlash uchun bosing"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Qurilmaning qulflash usulidan foydalanish"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Maxfiy joy uchun yangi qulf yaratilsinmi?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Qulflanganida berkitilsin"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Qulflanganida Maxfiy joyni berkitish"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Qurilmada Xavfsiz joy borligini boshqalar bilmasligi uchun ilovalar roʻyxatidan yashirish mumkin"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Berkitilganida Maxfiy joyga kirish"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Qidiruv satrida \"Maxfiy joy\"ni qidiring"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Maxfiy joy katakchaisni bosing"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Maxfiiy joyni ochish"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Oʻchiq"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Yoniq"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Tizim"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Maxfiy joy yaratish"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Maxfiy joyni oʻchirish"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Maxfiy joy yaratildi"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Maxfiy joy allaqachon mavjud"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Maxfiy joy yaratilmadi"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Maxfiy joy oʻchirildi"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Maxfiy joy oʻchmadi"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Ekran qulfini sozlash"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Maxfiy joy ishlatish uchun bu qurilma ekran qulfini sozlang"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Ekran qulfini sozlash"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Bekor qilish"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Bekor qilish"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Sozlash"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Maxfiy joyni sozlash"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Shaxsiy ilovalarni faqat siz kira oladigan xavfsiz joyda yashiring"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Bu qanday ishlaydi"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Ilovalar roʻyxatining pastki qismidan Maxfiy joyga kirish mumkin"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Maxfiy joydagi ilovalar qulf bilan himoyalangan"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Qulflanganida Maxfiy joydagi ilovalardan bildirishnomalar berkitiladi"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Maxfiy joy qulflanganida Maxfiy joy ilovalari ruxsat menejeri, maxfiylik boshqaruv paneli va boshqa sozlamalarda koʻrinmaydi."</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Maxfiy joy sozlanmoqda…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Maxfiy joy ilovalari uchun foydalanish axboroti qulflanganida berkitiladi"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Ilovalar roʻyxatidan shaxsiy joy oching"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Maxfiy joy sozlanmadi"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Hozir qaytadan urining yoki keyinroq qaytadan keling"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Qayta urinish"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Ochish uchun ekran qulfidan foydalanilsinmi?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Maxfiy joyni qurilmangizniki bilan ayni usulda qulfdan chiqarishingiz mumkin yoki boshqa qulf tanlang"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Ekran qulfi"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Yangi qulf tanlash"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Hammasi tayyor!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Tayyor"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Maxfiy joyga kirish uchun pastga aylantiring"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Maxfiy joyni sozlash uchun hisobingizga kiring"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Maxfiy joyni sozlash uchun hisobingizga kirishingiz kerak"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Maxfiy joyni chiqarish uchun (yakuniy interfeys emas)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Sozlamalar ilovasini ochish"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Sozlamalar > Maxfiylik > Maxfiy joy > Qulflanganda Maxfiy joyni berkitish ustiga bosing"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Quflanganda Maxfiy joyni berkitish sozlamasini faolsizlantirish"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Googlerlar diqqatiga: Bu funksiya hali ham ishlab chiqish jarayonida"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Ko’pi bilan <xliff:g id="COUNT">%d</xliff:g> ta barmoq izi qo’shish mumkin"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Barmoq izlari maksimal miqdorda qo‘shildi"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Boshqa barmoq izini qo‘shib bo‘lmaydi"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Ulanish"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Uzish"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Juftlash va ulash"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Yaqin-atrofdagi Bluetooth qurilmalarga ulanish uchun Bluetooth aloqasini yoqing."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Yaqin-atrofdagi Bluetooth qurilmalarga ulanish uchun Bluetooth aloqasini yoqing"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Yaqin-atrofdagi Bluetooth qurilmalarga ulanish uchun Bluetooth aloqasini yoqing.\n\nQurilmadan foydalanishni yaxshilash uchun istalgan vaqt ilova va xizmatlar hatto Bluetooth oʻchiq boʻlsa ham Wi-Fi tarmoqlarni qidirishi mumkin. Bundan joylashuv axborotiga asoslangan funksiya va xizmatlarni yaxshilashda foydalanish mumkin. Bu funksiyani Bluetooth qidiruv sozlamalari orqali oʻzgartirish mumkin."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Oʻzgartirish"</string>
<string name="device_details_title" msgid="1155622417516195481">"Qurilma tafsilotlari"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART taʼminotiga debug imkoniyatli ilova bayt-kodlarini tekshirishga ruxsat berish"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Yangilash chastotasi"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Joriy yangilash chastotasini chiqarish"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR nisbatini koʻrsatish"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Joriy HDR/SDR nisbatini koʻrsatish"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC ishlatish uchun qurilma qulfini ochishni talab qilish"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Ilovalarni buklanganda davom ettirish"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Ayrim kontent uchun ekranning yangilanish chastotasi <xliff:g id="ID_1">%1$d</xliff:g> Hz gacha almashib turadi. Batareya tezroq sarflanadi."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Eng yuqori majburiy yangilanish chastotasi"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Ekran sensorining javob qaytarishi va animatsiyalar sifati uchun eng yuqori yangilanish chastotasi Batareya tezroq sarflanadi."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Moslashuvchan kutish rejimi"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Umumiy sozlamalar"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Ulanish nuqtasini tahrirlash"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Ulanish nuqtasini kiritish"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Kiritilmagan"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Berilmagan"</string>
<string name="apn_name" msgid="6677695784108157953">"Nomi"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Qulayliklar tugmasi bilan ochish"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Ochish uchun ikkala tovush tugmasini bosib turing."</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Ochish uchun ekranga uch marta bosing"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Ochish uchun ekranni ikki barmoq bilan uch marta tegining"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Imo-ishoralardan foydalaning"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Qulaylik ishorasidan foydalanish"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Bu funksiyadan foydalanish uchun ekraningiz pastidagi <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> maxsus imkoniyatlar tugmasi ustiga bosing.\n\nFunksiyalarni almashtirish uchun maxsus imkoniyatlar tugmasini bosib turing."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Bu funksiyadan foydalanish uchun ekrandagi Qulayliklar tugmasini bosing."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Bu funksiyadan foydalanish uchun ikkala tovush tugmasini bosib turing."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Kattalashtirishni boshlash yoki toʻxtatish uchun ekranning istalgan joyiga uch marta bosing."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Kattalashtirishni boshlash yoki toʻxtatish uchun ekranning istalgan joyiga ikki barmoq bilan uch marta bosing."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Bu funksiyadan foydalanish uchun 2 ta barmoq bilan ekran pastidan tepaga suring.\n\nFunksiyalarni almashtirish uchun 2 ta barmoq bilan tepaga suring va ushlab turing."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Bu funksiyadan foydalanish uchun 3 ta barmoq bilan ekran pastidan tepaga suring.\n\nFunksiyalarni almashtirish uchun 3 ta barmoq bilan tepaga suring va ushlab turing."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Maxsus imkoniyatlardan foydalanish uchun 2 ta barmoq bilan ekran pastidan tepaga suring.\n\nFunksiyalarni almashtirish uchun 2 ta barmoq bilan tepaga suring va ushlab turing."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Tovush tugmalarini bosib turish"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"tovush tugmalarini bosib turish"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Ikkala tovush tugmalarini bosib turing."</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Ekranni ikki barmoq bilan uch marta teginish"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"ekranni ikki barmoq bilan uch marta teginish"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Ekranni ikki barmoq bilan {0,number,integer} marta tez-tez tegining"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekran ustiga uch marta bosing"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"ekran ustiga uch marta bosish"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Ekranga tez-tez {0,number,integer} marta bosing. Bu qurilmangizni sekinlashtirishi mumkin"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Ilova yoki qurilma sensori bilan munosabatlaringizni kuzatishi hamda sizning nomingizdan ilovalar bilan ishlashi mumkin."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Ruxsat"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Rad etish"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Stop"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Bekor qilish"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> xizmati to‘xtatilsinmi?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="SERVICE">%2$s</xliff:g> xizmatini toʻxtatish uchun <xliff:g id="STOP">%1$s</xliff:g> tugmasini bosing."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Hech qanday xizmat o‘rnatilmagan"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Hech qanday xizmat tanlanmagan"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Hech qanday tavsif berilmagan."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Bu ilovaning ishlashiga ta’sir ko‘rsatishi mumkin"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Bu ilova batareya sarfini optimallashtirish uchun sozlanmagani sababli uni cheklash imkonsiz.\n\nIlovani cheklash uchun avval batareya sarfini optimallashtirish funksiyasini yoqing."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Batareya sarfini boshqarish"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Fonda ishlashiga ruxsat berish"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Real vaqtda yangilanishini yoqish (batareya tejalishi oʻchiriladi)"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Cheklanmagan"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimallangan"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Cheklangan"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Tarmoq nomi"</string>
<string name="vpn_type" msgid="5533202873260826663">"Turi"</string>
<string name="vpn_server" msgid="2908816134941973935">"Server manzili"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP shifrlash (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP kaliti"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifikatori"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec umumiy kaliti"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec foydalanuvchi sertifikati"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec SM sertifikati"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec serveri sertifikati"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Kengaytirilgan sozlamalar"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS qidiruvi uchun domenlar"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS serverlar (m-n, 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Uzatish marshrutlari (m-n, 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Foydalanuvchi nomi"</string>
<string name="vpn_password" msgid="1183746907642628127">"Parol"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Hisob ma’lumotini saqlash"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ishlatilmagan)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(server tekshirilmasin)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(serverdan olingan)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Bu VPN tarmoq turi doim ulanib tura olmaydi"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Doimiy VPN faqat raqamli server manzillari bilan ishlaydi"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Doimiy VPN uchun DNS serveri ko‘rsatilishi kerak"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Doimiy VPN uchun DNS server manzillari raqamdan iborat bo‘lishi lozim"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Kiritilgan ma’lumot doimiy VPN tarmoqni qo‘llab-quvvatlamaydi"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Bekor qilish"</string>
<string name="vpn_done" msgid="5137858784289564985">"Yopish"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"VPN tarmoqsiz ulanishlarni bloklash"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN aloqasi talab qilinsinmi?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Xavfsiz emas. IKEv2 VPN tarmoqqa yangilang"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Doimiy VPN tarmog‘ini tanlang: faqat ushbu tarmoqqa ulanganda trafik sarflanishiga ruxsat beriladi."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Ishlatilmasin"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Server va DNS uchun IP manzilini ko‘rsating."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Bildirishnomalar butun chiqsin"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Maxfiy axborotlar faqat qulf ochilganda chiqsin"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Bildirishnomalar chiqmasin"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Ekran qulfida nimalar chiqsin?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ekran qulfida nimalar chiqishini xohlaysiz?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Ekran qulfi"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Ish bildirishnomalarini toʻliq chiqarish"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ish profili ma’lumotlari berkitilsin"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Barcha fayllarni boshqarishga ruxsat"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Bu ilovaga mazkur qurilmadagi yoki ulangan xotira qurilmalaridagi barcha fayllarni oʻqish, tahrirlash va oʻchirib tashlash uchun ruxsat beriladi. Ruxsat berilgandan keyin ilova fayllardan sizning xabaringizsiz foydalana oladi."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Barcha fayllarga ruxsati bor ilova"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Ovoz bilan ishga tushadigan ilovalar"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Ovoz bilan ishga tushirishga ruxsat"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Ovozli buyruqlar yordamida tanlangan ilovalarni ishga tushirishingiz mumkin. Ichki moslashuvchan sensor tufayli maʼlumotlaringizga faqat siz kirishingiz mumkin boʻladi.\n\n"<a href="">"Himoyali moslashuvchan sensor haqida batafsil"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Butun ekranda bildirishnomalar"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Bu ilova bildirishnomalarini butun ekranda chiqishiga ruxsat berish"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Bu ilovaga qurilma qulflanganida butun ekranni egallaydigan bildirishnoma chiqarishga ruxsat berish. Ilovalar uning yordamida signallar, kiruvchi chaqiruv yoki boshqa shoshilinch bildirishnomalarni ajratib koʻrsatishi mumkin."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> orqa fonda odatdagidan koʻproq batareya sarfladi"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> faol rejimda koʻproq batareya sarfladi"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> faol rejimda odatdagidan koʻproq batareya sarfladi"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Batareya noodatiy sarflanmoqda"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Yuqori batareya sarfi"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Orqa fonda yuqori batareya sarfi"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Faol rejimda yuqori batareya sarfi"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"tizim navigatsiyasi, 2 tugmali navigatsiya, 3 tugmali navigatsiya, ishorali navigatsiya"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Raqamli assistent"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Assistentni chaqirish uchun suring"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Raqamli assistent ilovasini chaqirish uchun pastki burchakdan tepaga qaratib suring."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Raqamli assistent ilovasini chaqirish uchun pastki burchakdan tepaga qaratib suring"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistentni chaqirish uchun Asosiy tugmani bosib turing"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Raqamli assistent ilovasini chaqirish uchun Asosiy tugmani bosib turing."</string>
<string name="low_label" msgid="6525629096999711220">"Past"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Grammatik jinsni tanlang"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Aldovchi ilovalar uchun tekshirish"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Fishing uchun ilovadagi faoliyatni tekshirish"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Tekshirish"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Ishga oid ilovalar uchun tekshiruvdan foydalaning"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Aldovchi ilovalar uchun tekshiring"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Ishga oid aldovchi ilovalar uchun tekshiring"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index d37e816..f8e0574 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"Bút cảm ứng"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Chia sẻ âm thanh"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Chia sẻ âm thanh"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Cuộc gọi và chuông báo"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Kết nối với luồng Âm thanh năng lượng thấp"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Luồng âm thanh ở gần"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Luồng âm thanh"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Kết nối với một luồng âm thanh bằng mã QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Không tìm thấy luồng âm thanh ở gần nào."</string>
<string name="date_and_time" msgid="1788358029823431692">"Ngày và giờ"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Xóa"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Hồ sơ công việc"</string>
<string name="private_space_title" msgid="7078627930195569767">"Không gian riêng tư"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Ẩn ứng dụng trong thư mục riêng tư"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Mở khoá bằng phương thức khoá màn hình"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Ẩn các ứng dụng trong một thư mục riêng tư mà chỉ bạn mới có thể truy cập vào được"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Khoá không gian riêng tư"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Bạn có thể mở khoá Không gian riêng tư giống như cách mở khoá thiết bị của mình, hoặc chọn một phương thức khoá khác"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Sử dụng phương thức khoá màn hình thiết bị"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Mở khoá bằng khuôn mặt và vân tay"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Nhấn để thiết lập"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Giống như phương thức khoá màn hình thiết bị"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Chọn một khoá mới cho Không gian riêng tư?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Ẩn khi khoá"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Ẩn Không gian riêng tư khi khoá"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Ẩn Không gian riêng tư khỏi các ứng dụng để không ai biết"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Truy cập Không gian riêng tư khi tính năng này đang ẩn"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Tìm kiếm \"Không gian riêng tư\" trong thanh tìm kiếm"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Nhấn vào ô Không gian riêng tư"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Mở khoá Không gian riêng tư"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Tắt"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Bật"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Hệ thống"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Tạo Không gian riêng tư"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Xoá Không gian riêng tư"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Đã tạo xong Không gian riêng tư"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Đã có Không gian riêng tư"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Không tạo được Không gian riêng tư"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Đã xoá xong Không gian riêng tư"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Không xoá được Không gian riêng tư"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Đặt phương thức khoá màn hình"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Để dùng Không gian riêng tư, hãy đặt một phương thức khoá màn hình trên thiết bị này."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Đặt phương thức khoá màn hình"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Huỷ"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Huỷ"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Thiết lập"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Thiết lập Không gian riêng tư"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Ẩn các ứng dụng riêng tư trong một không gian an toàn chỉ có bạn mới truy cập được"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Cách thức hoạt động"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Bạn có thể truy cập Không gian riêng tư từ cuối danh sách ứng dụng"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Ứng dụng trong Không gian riêng tư được bảo vệ bởi cơ chế khoá"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Thông báo của các ứng dụng trong Không gian riêng tư sẽ ẩn khi tính năng này đang khoá"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Các ứng dụng trong Không gian riêng tư sẽ không xuất hiện trong Trình quản lý quyền, Bảng tổng quan về quyền riêng tư, cũng như các chế độ cài đặt khác khi Không gian riêng tư đang khoá"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Đang thiết lập Không gian riêng tư…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Thông tin về mức độ sử dụng của các ứng dụng trong Không gian riêng tư sẽ ẩn khi tính năng này đang khoá"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Truy cập Không gian riêng tư từ danh sách ứng dụng"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Không thiết lập được Không gian riêng tư"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Thử lại ngay bây giờ, hoặc để khi khác."</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Thử lại"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Dùng phương thức khoá màn hình để mở khoá?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Bạn có thể mở khoá Không gian riêng tư theo cùng cách mở khoá thiết bị của mình, hoặc chọn một phương thức khoá khác"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Dùng phương thức khoá màn hình"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Chọn phương thức khoá mới"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Đã hoàn tất!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Xong"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Di chuyển xuống để truy cập Không gian riêng tư"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Đăng nhập để thiết lập Không gian riêng tư"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Bạn cần đăng nhập vào một tài khoản để thiết lập Không gian riêng tư"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Cách cho hiện Không gian riêng tư (Không phải UX chính thức)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Mở ứng dụng Cài đặt"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Nhấn vào Bảo mật và quyền riêng tư > Không gian riêng tư > Ẩn Không gian riêng tư khi khoá"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Chuyển nút \"Ẩn Không gian riêng tư khi khoá\" sang tắt"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Ghi chú dành cho nhân viên của Google: Tính năng này vẫn đang trong quá trình phát triển"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Bạn có thể thêm tối đa <xliff:g id="COUNT">%d</xliff:g> vân tay"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Bạn đã thêm số vân tay tối đa"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Không thể thêm dấu vân tay khác"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Kết nối"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Ngắt kết nối"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Ghép nối và kết nối"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Khi Bluetooth bật, thiết bị của bạn có thể kết nối với thiết bị Bluetooth khác ở gần."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bật Bluetooth để kết nối với thiết bị khác ở gần"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Khi bạn bật Bluetooth, thiết bị của bạn có thể kết nối với các thiết bị Bluetooth khác ở gần.\n\nĐể cải thiện trải nghiệm sử dụng thiết bị, các ứng dụng và dịch vụ vẫn có thể quét tìm những thiết bị ở gần bất cứ lúc nào, ngay cả khi Bluetooth tắt. Chế độ này có thể được dùng để cải thiện các tính năng và dịch vụ dựa trên vị trí. Bạn có thể thay đổi chế độ này trong phần cài đặt tính năng Quét tìm Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Thay đổi"</string>
<string name="device_details_title" msgid="1155622417516195481">"Chi tiết thiết bị"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Cho phép ART xác minh bytecode cho các ứng dụng có thể gỡ lỗi"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Hiện tốc độ làm mới"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Hiện tốc độ làm mới trên màn hình hiện tại"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Hiện tỷ lệ HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Hiện tỷ lệ HDR/SDR hiện tại"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Yêu cầu mở khóa thiết bị để sử dụng NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Tiếp tục dùng ứng dụng sau khi gập điện thoại"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Hình ảnh mượt"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Tự động tăng tốc độ làm mới từ 60 lên đến <xliff:g id="ID_1">%1$d</xliff:g> Hz đối với một số nội dung. Chế độ cài đặt này sẽ làm tăng mức sử dụng pin."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Buộc chuyển sang tốc độ làm mới cao nhất"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Tốc độ làm mới cao nhất giúp cải thiện khả năng phản hồi khi chạm và chất lượng ảnh động. Tính năng này làm tăng mức sử dụng pin."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Phát hiện ánh mắt"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Các chế độ cài đặt dùng chung"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"Chỉnh sửa điểm truy cập"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Thêm điểm truy cập"</string>
<string name="apn_not_set" msgid="8246646433109750293">"Chưa đặt"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Chưa đặt"</string>
<string name="apn_name" msgid="6677695784108157953">"Tên"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Dùng nút hỗ trợ tiếp cận để mở"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Giữ các phím âm lượng để mở"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Nhấn 3 lần vào màn hình để mở"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Hãy dùng 2 ngón tay nhấn 3 lần vào màn hình để mở"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Dùng cử chỉ để mở"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Sử dụng cử chỉ hỗ trợ tiếp cận"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Để sử dụng tính năng này, hãy nhấn vào nút hỗ trợ tiếp cận <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ở cuối màn hình.\n\nĐể chuyển đổi giữa các tính năng, hãy chạm và giữ nút hỗ trợ tiếp cận."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Để sử dụng tính năng này, hãy nhấn vào nút hỗ trợ tiếp cận trên màn hình."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Để sử dụng tính năng này, hãy nhấn và giữ cả hai phím âm lượng."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Để bắt đầu và dừng phóng to, hãy nhấn 3 lần vào bất cứ đâu trên màn hình."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Để bắt đầu và dừng phóng to, hãy dùng 2 ngón tay nhấn 3 lần vào bất cứ đâu trên màn hình."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Để sử dụng tính năng này, hãy dùng 2 ngón tay vuốt lên từ cuối màn hình.\n\nĐể chuyển đổi giữa các tính năng, hãy dùng 2 ngón tay vuốt lên và giữ."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Để sử dụng tính năng này, hãy dùng 3 ngón tay vuốt lên từ cuối màn hình.\n\nĐể chuyển đổi giữa các tính năng, hãy dùng 3 ngón tay vuốt lên và giữ."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Để sử dụng tính năng hỗ trợ tiếp cận, hãy dùng 2 ngón tay vuốt lên từ cuối màn hình.\n\nĐể chuyển đổi giữa các tính năng, hãy dùng 2 ngón tay vuốt lên và giữ."</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Giữ phím âm lượng"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"giữ các phím âm lượng"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Nhấn và giữ cả 2 phím âm lượng"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Dùng 2 ngón tay nhấn 3 lần vào màn hình"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"dùng 2 ngón tay nhấn 3 lần vào màn hình"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Nhanh tay nhấn vào màn hình {0,number,integer} lần bằng 2 ngón tay"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Nhấn 3 lần vào màn hình"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"nhấn 3 lần vào màn hình"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Nhấn nhanh vào màn hình {0,number,integer} lần. Phím tắt này có thể làm chậm thiết bị"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Dịch vụ này có thể theo dõi các hoạt động tương tác của bạn với một ứng dụng hoặc bộ cảm biến phần cứng, cũng như có thể thay mặt bạn tương tác với các ứng dụng."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Cho phép"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Từ chối"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Dừng"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Hủy"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Dừng <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Tính năng <xliff:g id="SERVICE">%2$s</xliff:g> sẽ dừng khi bạn nhấn <xliff:g id="STOP">%1$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Chưa có dịch vụ nào được cài đặt"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Không có dịch vụ nào được chọn"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Không có mô tả nào được cung cấp."</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Nếu bạn giới hạn hoạt động nền cho một ứng dụng, ứng dụng đó có thể hoạt động không đúng cách"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Không thể hạn chế ứng dụng này vì bạn chưa đặt để tối ưu hóa pin.\n\nĐể hạn chế ứng dụng, trước tiên hãy bật tối ưu hóa pin."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Quản lý mức sử dụng pin"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Cho phép sử dụng ở chế độ nền"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Bật để cập nhật theo thời gian thực, tắt để tiết kiệm pin"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Không hạn chế"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Tối ưu hóa"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Bị hạn chế"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Tên"</string>
<string name="vpn_type" msgid="5533202873260826663">"Loại"</string>
<string name="vpn_server" msgid="2908816134941973935">"Địa chỉ máy chủ"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"Mã hóa PPP (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Bảo mật L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Số nhận dạng IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Khóa chia sẻ trước IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Chứng chỉ người dùng IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Chứng chỉ IPSec CA"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Chứng chỉ máy chủ IPSec"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Hiện tùy chọn nâng cao"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Miền tìm kiếm DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"Máy chủ DNS (ví dụ: 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Các tuyến chuyển tiếp (vd: 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Tên người dùng"</string>
<string name="vpn_password" msgid="1183746907642628127">"Mật khẩu"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Lưu thông tin tài khoản"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(không được sử dụng)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(không xác minh máy chủ)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(đã nhận từ máy chủ)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Loại VPN này không thể duy trì kết nối mọi lúc"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN luôn bật chỉ hỗ trợ địa chỉ máy chủ dạng số"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Máy chủ DNS phải được chỉ định cho VPN luôn bật"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Địa chỉ máy chủ DNS phải có dạng số cho VPN luôn bật"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Thông tin đã nhập không hỗ trợ tính năng VPN luôn bật"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Hủy"</string>
<string name="vpn_done" msgid="5137858784289564985">"Loại bỏ"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Chặn các đường kết nối không qua VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Yêu cầu kết nối VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Không an toàn. Hãy cập nhật lên VPN IKEv2"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Chọn một cấu hình VPN để luôn giữ kết nối. Lưu lượng truy cập mạng sẽ chỉ được cho phép khi kết nối với VPN này."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Không có"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN luôn bật yêu cầu có địa chỉ IP cho cả máy chủ và DNS."</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Hiện mọi nội dung thông báo"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Chỉ hiện nội dung nhạy cảm khi mở khóa"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Không hiện thông báo nào"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Bạn muốn màn hình khóa hiện những nội dung gì?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Bạn muốn thông báo hiển thị trên màn hình khoá như thế nào?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Màn hình khóa"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Hiện mọi nội dung thông báo công việc"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ẩn nội dung công việc nhạy cảm"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Cho phép truy cập để quản lý tất cả các tệp"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Cho phép ứng dụng này đọc, sửa đổi và xóa tất cả các tệp trên thiết bị này hoặc bất kỳ thiết bị lưu trữ nào đã kết nối. Nếu bạn cho phép, ứng dụng có thể truy cập vào các tệp mà không cần thông báo rõ ràng cho bạn."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Có thể truy cập vào tất cả các tệp"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Ứng dụng kích hoạt bằng giọng nói"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Cho phép kích hoạt bằng giọng nói"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Tính năng kích hoạt bằng giọng nói sẽ bật các ứng dụng được phê duyệt bằng lệnh thoại mà không dùng tay. Cảm biến thích ứng tích hợp sẵn giúp bảo mật dữ liệu cho bạn.\n\n"<a href="">"Xem thêm thông tin về cảm biến thích ứng được bảo vệ"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Thông báo toàn màn hình"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Cho phép ứng dụng này hiển thị thông báo toàn màn hình"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Cho phép ứng dụng hiển thị các thông báo chiếm toàn màn hình khi thiết bị đang khoá. Các ứng dụng có thể dùng những thông báo này để làm nổi bật chuông báo, cuộc gọi đến hoặc thông báo khẩn cấp khác."</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> dùng nhiều pin hơn thường lệ khi ở chế độ nền"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> dùng nhiều pin hơn khi ở chế độ nền trước"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> dùng nhiều pin hơn thường lệ khi ở chế độ nền trước"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Mức sử dụng pin không bình thường"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Mức sử dụng pin cao"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Mức sử dụng pin cao trong nền"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Mức sử dụng pin cao trong nền trước"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"thao tác trên hệ thống, thao tác bằng 2 nút, thao tác bằng 3 nút, thao tác bằng cử chỉ, vuốt"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Trợ lý kỹ thuật số"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Vuốt để gọi trợ lý"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Vuốt lên từ góc dưới cùng để gọi ứng dụng trợ lý kỹ thuật số."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Vuốt lên từ góc dưới cùng để gọi ứng dụng trợ lý kỹ thuật số"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Giữ nút Màn hình chính để mở ứng dụng Trợ lý"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Nhấn và giữ nút Màn hình chính để gọi ứng dụng trợ lý kỹ thuật số."</string>
<string name="low_label" msgid="6525629096999711220">"Thấp"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Chọn giống trong ngữ pháp"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Đang quét tìm ứng dụng lừa đảo"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Kiểm tra hoạt động trong ứng dụng để phát hiện hành vi lừa đảo"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Sử dụng tính năng quét"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Sử dụng tính năng quét cho các ứng dụng công việc"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Dùng tính năng quét tìm ứng dụng lừa đảo"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Dùng tính năng quét tìm ứng dụng (dùng cho công việc) lừa đảo"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 795a3b9..51679dd 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"其他设备"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"保存的设备"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"与账号相关联"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"之前曾与账号配对"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"曾与账号配对过的设备"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"系统将开启蓝牙以进行配对"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"连接偏好设置"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"之前连接的设备"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"触控笔"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"音频分享"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"分享音频"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"来电和闹钟"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"连接到 LE 音频流"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"附近的音频流"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"音频流"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"使用二维码连接到音频流"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"在附近未发现音频流。"</string>
<string name="date_and_time" msgid="1788358029823431692">"日期和时间"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"代理"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"清除"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"工作资料"</string>
<string name="private_space_title" msgid="7078627930195569767">"私密空间"</string>
<string name="private_space_summary" msgid="8237652417163408001">"将应用隐藏到私人文件夹中"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"使用屏幕解锁方式解锁"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"将应用隐藏在只有您能访问的私人文件夹中"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"私密空间锁定"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"您可以像解锁设备一样解锁私密空间,也可以选择其他锁定方式"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"使用设备屏幕锁定方式"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"人脸解锁和指纹解锁"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"点按即可设置"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"与设备的屏幕锁定方式相同"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"选择用于锁定私密空间的新方式?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"在锁定时隐藏"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"隐藏锁定的私密空间"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"如要防止其他人知道您的设备上有私密空间,您可以从应用列表中隐藏该空间"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"访问隐藏的私密空间"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"在搜索栏中搜索“私密空间”"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"点按私密空间功能块"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"解锁您的私密空间"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"关闭"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"开启"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"系统"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"创建私密空间"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"删除私密空间"</string>
- <string name="private_space_created" msgid="2978055968937762232">"已成功创建私密空间"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"私密空间已存在"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"无法创建私密空间"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"已成功删除私密空间"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"无法删除私密空间"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"设置屏锁"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"若要使用“私密空间”功能,请在此设备上设置屏锁。"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"设置屏锁"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"取消"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"取消"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"设置"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"设置私密空间"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"将私密应用隐藏在只有您可以访问的安全空间中"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"运作方式"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"您可以从应用列表底部访问私密空间"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"系统会通过锁定功能来保护私密空间中的应用"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"私密空间锁定后,系统会隐藏私密空间中应用的通知"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"私密空间锁定后,私密空间应用不会出现在权限管理器、隐私信息中心和其他设置中"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"设置私密空间…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"私密空间应用锁定后,其使用情况信息处于隐藏状态"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"从应用列表访问私密空间"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"无法设置私密空间"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"立即重试,或稍后重试"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"重试"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"使用屏锁解锁凭据?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"您可以像解锁设备一样解锁私密空间,也可以选择其他锁定方式"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"使用屏锁"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"选择新的锁定方式"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"一切就绪!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"完成"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"向下滚动,访问私密空间"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"登录账号才能设置私密空间"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"您需要登录账号,才能设置私密空间"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"显示私密空间(非最终用户体验)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"打开“设置”应用"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"依次点按“安全和隐私”>“私密空间”>“隐藏锁定的私密空间”"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"关闭“隐藏锁定的私密空间”切换开关"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google 员工请注意:此功能的开发仍在进行中"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"您最多可以添加 <xliff:g id="COUNT">%d</xliff:g> 个指纹"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"您添加的指纹数量已达到上限"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"无法添加更多的指纹"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"连接"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"断开连接"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"配对和连接"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"开启蓝牙后,您的设备可以与附近的其他蓝牙设备通信。"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"开启蓝牙后,您的设备可以与附近的其他蓝牙设备通信"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"蓝牙功能处于开启状态时,您的设备可以与附近的其他蓝牙设备通信。\n\n为了提升设备的使用体验,即使蓝牙功能已关闭,应用和服务仍可以随时扫描附近的设备。例如,此功能可用于改进需要使用位置信息的功能和服务。您可以在蓝牙扫描设置中更改此功能。"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"更改"</string>
<string name="device_details_title" msgid="1155622417516195481">"设备详细信息"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"允许 ART 验证可调试应用的字节码"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"显示刷新频率"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"显示当前的显示屏刷新频率"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"显示 HDR/SDR 比率"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"显示当前的 HDR/SDR 比率"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"必须解锁设备才能使用 NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"折叠时继续使用应用"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"流畅画面"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"自动将某些内容的刷新频率调高到 <xliff:g id="ID_1">%1$d</xliff:g> Hz。使用这一设置会增加耗电量。"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"强制使用峰值刷新频率"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"使用最高刷新频率可提升按触操作响应和动画质量,但会增加耗电量。"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"屏幕感知"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"通用设置"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"修改接入点"</string>
+ <string name="apn_add" msgid="9069613192201630934">"添加接入点"</string>
<string name="apn_not_set" msgid="8246646433109750293">"未设置"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"未设置"</string>
<string name="apn_name" msgid="6677695784108157953">"名称"</string>
@@ -2006,12 +1991,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"使用“无障碍”按钮打开"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"按住两个音量键即可打开"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"点按屏幕 3 次即可打开"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"用两指点按屏幕三次即可打开"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"使用手势打开"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"使用无障碍功能启动手势"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"如需使用此功能,请点按屏幕底部的“无障碍”按钮 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。\n\n轻触并按住“无障碍”按钮,即可在多项功能之间切换。"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"如需使用此功能,请点按屏幕上的“无障碍”按钮。"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"如需使用此功能,请同时按住两个音量键。"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"要启动和停止放大功能,请在屏幕上的任意位置点按三次。"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"要启动或停止放大功能,请在屏幕上的任意位置用两指点按三次。"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"如需使用此功能,请用两根手指从屏幕底部向上滑动。\n\n用两根手指向上滑动并按住,即可在多项功能之间切换。"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"如需使用此功能,请用三根手指从屏幕底部向上滑动。\n\n用三根手指向上滑动并按住,即可在多项功能之间切换。"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"如需使用无障碍功能,请用两根手指从屏幕底部向上滑动。\n\n用两根手指向上滑动并按住,即可在多项功能之间切换。"</string>
@@ -2033,12 +2020,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"按住两个音量键"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"按住两个音量键"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"同时按住两个音量键"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"用两指点按屏幕三次"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"用两指点按屏幕三次"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"用两指快速点按屏幕{0,number,integer}次"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"点按屏幕三次"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"点按屏幕三次"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"在屏幕上快速点按 {0,number,integer} 次。此快捷方式可能会减慢设备的运行速度"</string>
@@ -2263,10 +2247,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"此功能可以跟踪您与应用或硬件传感器的互动,并代表您与应用互动。"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"允许"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"拒绝"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"停止"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"取消"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"要停用“<xliff:g id="SERVICE">%1$s</xliff:g>”吗?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"点按“<xliff:g id="STOP">%1$s</xliff:g>”即可停止“<xliff:g id="SERVICE">%2$s</xliff:g>”。"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"未安装任何服务"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"未选择任何服务"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"没有提供说明。"</string>
@@ -2336,6 +2322,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"如果您限制某个应用的后台活动,可能会导致该应用出现异常"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"由于此应用未设置为优化电池用量,因此您无法对其加以限制。\n\n要限制该应用,请先开启电池优化功能。"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"管理电池用量"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"允许后台使用"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"启用可接收实时更新,停用可节省电池电量"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"无限制"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"优化"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"受限"</string>
@@ -2744,27 +2732,18 @@
<string name="vpn_name" msgid="3806456074909253262">"名称"</string>
<string name="vpn_type" msgid="5533202873260826663">"类型"</string>
<string name="vpn_server" msgid="2908816134941973935">"服务器地址"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP 加密 (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP 密钥"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec 标识符"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec 预共享密钥"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec 用户证书"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA 证书"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec 服务器证书"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"显示高级选项"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS 搜索网域"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS 服务器(例如 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"转发路线(例如 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"用户名"</string>
<string name="vpn_password" msgid="1183746907642628127">"密码"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"保存账号信息"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(未使用)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(不验证服务器)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(来自服务器)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"此类型的 VPN 无法随时保持连接"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"始终开启的 VPN 仅支持数字格式的服务器地址"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"必须为始终开启的 VPN 指定 DNS 服务器"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS 服务器地址必须为数字才能使用始终开启的 VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"输入的信息不支持始终开启的 VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"取消"</string>
<string name="vpn_done" msgid="5137858784289564985">"关闭"</string>
@@ -2800,6 +2779,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"屏蔽未使用 VPN 的所有连接"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"需要连接 VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"不安全。请更新为 IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"选择要始终保持连接的VPN配置文件。只有在连接到此VPN之后才可以使用网络。"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"无"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"始终开启的 VPN 需要服务器和 DNS 的 IP 地址。"</string>
@@ -3357,7 +3338,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"显示所有通知内容"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"仅在解锁状态下显示敏感内容"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"完全不显示通知"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"屏幕锁定时您想要如何显示通知?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"您希望锁定的屏幕显示什么内容?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"锁定屏幕"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"显示所有工作通知内容"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"隐藏敏感工作内容"</string>
@@ -3846,6 +3827,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"授予管理所有文件的权限"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"允许此应用读取、修改和删除此设备或任何已连接存储卷上的所有文件。如果您授予该权限,应用无需明确通知您即可访问文件。"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"可以访问所有文件"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"语音启动应用"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"允许使用语音启动"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"语音启动功能可使用语音指令开启批准的应用,而无需手动操作。内置的自适应传感功能会确保您的数据不外泄。\n\n"<a href="">"详细了解受保护的自适应传感功能"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"全屏通知"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"允许此应用显示全屏通知"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"允许此应用在设备锁定时显示占据整个屏幕空间的通知。应用可以利用全屏通知显示闹钟、来电或其他紧急通知。"</string>
@@ -4009,6 +3993,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> 后台电池用量比平时高"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> 前台电池用量较高"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> 前台电池用量比平时高"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"电池用量异常"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"电池用量高"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"后台电池用量高"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"前台电池用量高"</string>
@@ -4106,7 +4091,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"系统导航, “双按钮”导航, “三按钮”导航, 手势导航, 滑动"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"数字助理"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"滑动即可调用助理"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"从底部角落向上滑动即可调用数字助理应用。"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"从底部角落向上滑动即可调用数字助理应用"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"按住主屏幕按钮可调用 Google 助理"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"按住主屏幕按钮即可调用数字助理应用。"</string>
<string name="low_label" msgid="6525629096999711220">"低"</string>
@@ -4959,8 +4944,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"选择语法性别"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"扫描是否存在欺骗性应用"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"检查应用活动是否存在钓鱼式攻击"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"使用扫描功能"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"针对工作应用使用扫描功能"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"使用扫描功能来查找欺骗性应用"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"使用扫描功能来查找你工作资料区的欺骗性应用"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index d4c43ae..2e28789 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -120,7 +120,7 @@
<string name="connected_device_other_device_title" msgid="4652120430615729193">"其他裝置"</string>
<string name="connected_device_saved_title" msgid="5607274378851905959">"已儲存的裝置"</string>
<string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"與帳戶建立關聯"</string>
- <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"先前與帳戶配合使用"</string>
+ <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"登入帳戶用過"</string>
<string name="connected_device_add_device_summary" msgid="8671009879957120802">"系統將開啟藍牙以配對裝置"</string>
<string name="connected_device_connections_title" msgid="4164120115341579170">"連接偏好設定"</string>
<string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"之前已連接的裝置"</string>
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"觸控筆"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"音訊分享功能"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"分享音訊"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"通話及鬧鐘"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"連接 LE Audio 音訊串流"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"附近的音訊串流"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"音訊串流"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"使用 QR 碼連接音訊串流"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"找不到附近的音訊串流。"</string>
<string name="date_and_time" msgid="1788358029823431692">"日期和時間"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"清除"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"工作設定檔"</string>
<string name="private_space_title" msgid="7078627930195569767">"私人空間"</string>
<string name="private_space_summary" msgid="8237652417163408001">"將應用程式隱藏在私人資料夾"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"使用螢幕鎖定功能解鎖"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"將應用程式隱藏在私人資料夾,只有你可存取"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"「私人空間」鎖定"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"你可使用解鎖裝置的方式來解鎖「私人空間」,或選擇其他鎖定方式"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"使用裝置的螢幕鎖定"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"面孔和指紋解鎖"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"輕按即可設定"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"與裝置的螢幕鎖定相同"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"要為「私人空間」選擇新的鎖定方式嗎?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"在鎖定時隱藏"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"在鎖定時隱藏「私人空間」"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"如要防止其他使用者知道裝置上有「私人空間」,可以從應用程式清單中隱藏該空間"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"存取隱藏的「私人空間」"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"在搜尋列中搜尋「私人空間」"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"輕按「私人空間」圖塊"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"解鎖「私人空間」"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"關閉"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"開啟"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"系統"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"建立「私人空間」"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"刪除「私人空間」"</string>
- <string name="private_space_created" msgid="2978055968937762232">"已成功建立「私人空間」"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"「私人空間」已存在"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"無法建立「私人空間」"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"已成功刪除「私人空間」"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"無法刪除「私人空間」"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"設定螢幕鎖定功能"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"如要使用「私人空間」,請在此裝置上設定螢幕鎖定功能。"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"設定螢幕鎖定功能"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"取消"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"取消"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"設定"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"設定「私人空間」"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"將私人應用程式隱藏在只有你能存取的安全空間"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"運作方式"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"你可從應用程式清單底部存取「私人空間」"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"「私人空間」中的應用程式受鎖定功能保護"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"「私人空間」處於鎖定狀態時,系統會隱藏「私人空間」應用程式的通知"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"「私人空間」處於鎖定狀態時,當中的應用程式就不會在權限管理工具、私隱資訊主頁和其他設定中顯示"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"正在設定「私人空間」…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"「私人空間」處於鎖定狀態時,系統會隱藏當中的應用程式使用情況資料"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"從應用程式清單存取「私人空間」"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"部分系統應用程式已安裝在私人空間中"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"無法設定「私人空間」"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"請立即重試,或稍後再返回查看"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"再試一次"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"要透過螢幕鎖定功能解鎖嗎?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"你可使用解鎖裝置的方式來解鎖「私人空間」,或選擇其他鎖定設定"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"使用螢幕鎖定方式"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"選擇新的鎖定設定"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"大功告成!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"你可以從應用程式清單存取私人空間"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"完成"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"向下捲動即可存取「私人空間」"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"登入即可設定「私人空間」"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"你需要登入帳戶,才能設定「私人空間」"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"顯示「私人空間」(不是最終版本的使用者體驗)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"開啟「設定」應用程式"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"輕按 [安全性和私隱權] > [私人空間] > [在鎖定時「隱藏私人空間」]"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"關閉「在鎖定時隱藏『私人空間』」切換按鈕"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google 員工注意事項:此功能仍在開發中"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"你最多可以加入 <xliff:g id="COUNT">%d</xliff:g> 個指紋"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"你加入指紋的數目已達上限"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"無法加入更多指紋"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"連線"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"中斷連線"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"配對並連線"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"當啟用藍牙功能後,你的裝置可以與其他附近的藍牙裝置通訊。"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"藍牙開啟後,裝置即可與其他附近的藍牙裝置通訊"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"啟用藍牙功能後,你的裝置可與附近的其他藍牙裝置通訊。\n\n為改善裝置的使用體驗,應用程式和服務仍可隨時掃瞄附近的裝置 (即使藍牙功能已關閉)。此操作可用來改善定位功能和服務。你可在藍牙掃瞄設定中變更此設定。"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"變更"</string>
<string name="device_details_title" msgid="1155622417516195481">"裝置詳情"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"允許 ART 驗證可偵錯應用程式的位元組碼"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"顯示重新整理頻率"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"顯示現時的顯示屏重新整理頻率"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"顯示 HDR/SDR 比例"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"顯示目前的 HDR/SDR 比例"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"必須解鎖裝置才能使用 NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"在摺疊模式下繼續使用應用程式"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"流暢顯示"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"自動將部分內容的更新率調高至 <xliff:g id="ID_1">%1$d</xliff:g> Hz。電池用量會因而增加。"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"強制使用最高重新整理頻率"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"最高的重新整理頻率,帶來更靈敏的觸控反應和更高畫質的動畫。這會增加電池用量。"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"螢幕感知"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"共用設定"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"編輯接入點"</string>
+ <string name="apn_add" msgid="9069613192201630934">"新增存取點"</string>
<string name="apn_not_set" msgid="8246646433109750293">"未設定"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"未設定"</string>
<string name="apn_name" msgid="6677695784108157953">"名稱"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"使用無障礙功能按鈕開啟"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"㩒住兩個音量鍵就可以打開"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"㩒螢幕 3 下就可以開"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"用兩隻手指喺螢幕上面㩒 3 下就可以打開"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"使用手勢即可開啟"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"使用無障礙手勢"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"要使用這項功能,請輕按螢幕底部的無障礙功能按鈕 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。\n\n如要切換不同的功能,按住無障礙功能按鈕即可。"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"要使用這項功能,請輕按螢幕上的無障礙功能按鈕。"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"如果要使用呢項功能,請同時㩒住兩個音量鍵。"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"如果要啟用同停用放大功能,請喺螢幕上面嘅任何一個地方㩒三下。"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"如果要啟用同停用放大功能,請用兩隻手指喺螢幕上面嘅任何一個地方㩒 3 下。"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"如果要使用呢項功能,請用 2 隻手指由螢幕底部向上掃。\n\n用 2 隻手指向上掃然後㩒住,就可以切換唔同功能。"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"如果要使用呢項功能,請用 3 隻手指由螢幕底部向上掃。\n\n用 3 隻手指向上掃然後㩒住,就可以切換唔同功能。"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"如果要使用無障礙功能,請用 2 隻手指由螢幕底部向上掃。\n\n用 2 隻手指向上掃然後㩒住,就可以切換唔同功能。"</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"按住音量鍵"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"按住音量鍵"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"同時按住兩個音量鍵"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"兩指輕按螢幕三下"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"兩指輕按螢幕三下"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"用兩隻手指快速喺螢幕上面㩒 {0,number,integer} 下"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"輕按螢幕三下"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"輕按螢幕三下"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"快速㩒螢幕 {0,number,integer} 下。呢個快速鍵可能會減慢裝置運作速度"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"這項功能會追蹤你與應用程式或硬件感應器的互動,並代表你直接與應用程式互動。"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"允許"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"拒絕"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"停止"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"取消"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"停止「<xliff:g id="SERVICE">%1$s</xliff:g>」?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"輕按 [<xliff:g id="STOP">%1$s</xliff:g>] 將會停止 <xliff:g id="SERVICE">%2$s</xliff:g>。"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"未安裝任何服務"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"未選取任何服務"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"未提供說明。"</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"如果你限制應用程式的背景活動,應用程式可能無法正常運作"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"由於此應用程式並未設定為優化電池,你無法限制其使用。\n\n如要限制應用程式,請先開啟電池優化功能。"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"管理電池用量"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"允許在背景使用"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"啟用即可掌握即時動態,停用則可節省電力"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"無限制"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"優化"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"限制"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"名稱"</string>
<string name="vpn_type" msgid="5533202873260826663">"類型"</string>
<string name="vpn_server" msgid="2908816134941973935">"伺服器位址"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP 加密 (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP 密碼"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec 識別碼"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec 預先共用金鑰"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec 使用者憑證"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA 憑證"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec 伺服器憑證"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"顯示進階選項"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS 搜尋網域"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS 伺服器 (如 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"轉寄路徑 (如 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"使用者名稱"</string>
<string name="vpn_password" msgid="1183746907642628127">"密碼"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"儲存帳戶資訊"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(未使用)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(不要驗證伺服器)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(從伺服器接收)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"此 VPN 類型無法隨時保持連線"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"永久連線的 VPN 只支援數字格式的伺服器位址"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"必須為永久連線的 VPN 指定網域名稱系統 (DNS) 伺服器"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"網域名稱系統 (DNS) 伺服器位址必須為數字,才能使用永久連線的 VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"輸入的資料不支援永久連線的 VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"取消"</string>
<string name="vpn_done" msgid="5137858784289564985">"關閉"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"封鎖沒有使用 VPN 的所有連線"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"需要 VPN 連線嗎?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"此 VPN 不安全,請更新至 IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"選取要永久保持連線的 VPN 設定檔。只在連線至這個 VPN 時才允許網絡流量。"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"無"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"永久連線的 VPN 需要同時具備伺服器和 DNS 的 IP 位址。"</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"顯示所有通知內容"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"只限在解鎖時顯示敏感內容"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"不顯示任何通知"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"你想上鎖畫面顯示什麼通知?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"想在上鎖畫面上顯示什麼內容?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"上鎖畫面"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"顯示所有工作通知內容"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"隱藏敏感的工作內容"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"允許存取以管理所有檔案"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"允許此應用程式讀取、修改和刪除此裝置或任何已連接的儲存空間卷宗上的所有檔案。如獲得權限,應用程式可能會在你不知情的情況下存取檔案。"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"可存取所有檔案"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"透過語音啟動的應用程式"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"允許使用語音啟動功能"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"語音啟動功能讓你可以透過語音指令,開句聲便啟動已核准的應用程式。內置的自動調整感應功能則可確保資料不外洩。\n\n"<a href="">"進一步瞭解受保護的自動調整感應功能"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"全螢幕通知"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"允許此應用程式的全螢幕通知"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"允許此應用程式在裝置上鎖時顯示全螢幕通知。應用程式可能會利用這些通知突顯鬧鐘、來電或其他緊急通知。"</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"「<xliff:g id="APP_LABEL">%1$s</xliff:g>」在背景執行時比平時耗電"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"「<xliff:g id="APP_LABEL">%1$s</xliff:g>」在前景執行時比較耗電"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"「<xliff:g id="APP_LABEL">%1$s</xliff:g>」在前景執行時比平時耗電"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"電池用量異常情況"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"耗電量高"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"在背景執行時耗電量高"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"在前景執行時耗電量高"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"系統導覽, 雙按鈕導覽, 3 按鈕導覽, 手勢導覽, 輕掃"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"數碼助理"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"滑動即可調用數碼助理應用程式"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"如要調用數碼助理應用程式,請從底部角落向上滑動。"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"如要啟動數碼助理應用程式,請從底部的任何一個角落向上滑動"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"按住主畫面按鈕即可使用「Google 助理」"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"按住主按鈕即可調用數碼助理應用程式。"</string>
<string name="low_label" msgid="6525629096999711220">"低"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"選取語法性別"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"透過掃瞄找出欺詐應用程式"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"檢查應用程式活動是否有仿冒詐騙行為"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"使用掃瞄功能"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"掃瞄工作應用程式"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"使用掃瞄功能找出欺詐性應用程式"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"使用掃瞄功能找出欺詐性工作應用程式"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index d488c74..3c6f2c0 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"觸控筆"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"音訊分享功能"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"分享音訊"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"通話與鬧鐘"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"連線至 LE 音訊串流"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"附近的音訊串流"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"音訊串流"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"使用 QR code 連線至音訊串流"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"未偵測到附近有音訊串流。"</string>
<string name="date_and_time" msgid="1788358029823431692">"日期和時間"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"清除"</string>
@@ -539,85 +543,62 @@
<string name="work_profile_category_header" msgid="85707750968948517">"工作資料夾"</string>
<string name="private_space_title" msgid="7078627930195569767">"私人空間"</string>
<string name="private_space_summary" msgid="8237652417163408001">"將應用程式隱藏在私人資料夾中"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"使用螢幕鎖定功能解鎖"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"將應用程式隱藏在只有你可存取的私人資料夾中"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"私人空間鎖定"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"你可以用解鎖裝置的方式來解鎖私人空間,或選擇其他鎖定設定"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"使用裝置螢幕鎖定"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"人臉和指紋解鎖"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"輕觸即可設定"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"與裝置的螢幕鎖定一致"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"要選擇鎖定私人空間的新設定嗎?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"在鎖定時隱藏"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"隱藏鎖定的私人空間"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"如要防止其他使用者知道裝置上有私人空間,可以從應用程式清單中隱藏該空間"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"存取隱藏的私人空間"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"在搜尋列中搜尋「私人空間」"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"輕觸私人空間設定方塊"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"解鎖私人空間"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"已關閉"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"已開啟"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"系統"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"建立私人空間"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"刪除私人空間"</string>
- <string name="private_space_created" msgid="2978055968937762232">"成功建立私人空間"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"私人空間已存在"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"無法建立私人空間"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"成功刪除私人空間"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"無法刪除私人空間"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"設定螢幕鎖定功能"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"如要使用私人空間,請在這部裝置上設定螢幕鎖定功能。"</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"設定螢幕鎖定功能"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"取消"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
- <skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
- <skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"取消"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"設定"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"設定私人空間"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"將私人應用程式隱藏在只有你能存取的安全空間"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"運作方式"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"你可以從應用程式清單底部存取私人空間"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"私人空間中的應用程式會受到鎖定保護"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"私人空間處於鎖定狀態時,如果其中的應用程式發出通知,會遭到系統隱藏"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"私人空間處於鎖定狀態時,其中的應用程式就不會顯示在權限管理工具、隱私資訊主頁和其他設定中"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"正在設定私人空間…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"私人空間處於鎖定狀態時,系統會隱藏其中應用程式的用量資訊"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"透過應用程式清單存取私人空間"</string>
+ <string name="privatespace_system_apps_installed_title" msgid="4782295812052574626">"部分系統應用程式已安裝在私人空間中"</string>
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"無法設定私人空間"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"請立即重試,或稍後再返回查看"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"再試一次"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"要透過螢幕鎖定功能解鎖嗎?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"你可以用解鎖裝置的方式來解鎖私人空間,或選擇其他鎖定設定"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"使用螢幕鎖定功能"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"選擇新的鎖定設定"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"大功告成!"</string>
+ <string name="privatespace_access_text" msgid="1253541577173303723">"你可以從應用程式清單存取私人空間"</string>
+ <string name="privatespace_done_label" msgid="5534818213879562387">"完成"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"向下捲動即可存取私人空間"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"登入即可設定私人空間"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"必須登入帳戶,才能設定私人空間"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"顯示私人空間 (非最終使用者體驗版本)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"開啟「設定」應用程式"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"依序輕觸「安全性與隱私權」>「私人空間」>「隱藏鎖定的私人空間」"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"關閉「隱藏鎖定的私人空間」切換按鈕"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Google 員工注意事項:這項功能仍在開發中"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"你最多可以新增 <xliff:g id="COUNT">%d</xliff:g> 個指紋"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"你新增的指紋數量已達上限"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"無法新增其他指紋"</string>
@@ -781,7 +762,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"連線"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"中斷連線"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"配對並連線"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"開啟藍牙功能後,你的裝置即可與其他鄰近的藍牙裝置相互傳輸資料。"</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"藍牙開啟後,裝置即可與其他鄰近的藍牙裝置互傳資料"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"藍牙功能開啟後,裝置即可與附近的其他藍牙裝置通訊。\n\n為改善裝置的使用體驗,即使藍牙功能未開啟,應用程式和服務仍可隨時掃描鄰近裝置。舉例來說,這項功能可用來改善適地性功能和服務。你可以在藍牙掃描設定中變更這項功能。"</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"變更"</string>
<string name="device_details_title" msgid="1155622417516195481">"裝置詳細資料"</string>
@@ -834,6 +815,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"允許 ART 驗證可偵錯應用程式的位元碼"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"顯示刷新率"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"顯示目前的螢幕重新整理頻率"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"顯示 HDR/SDR 比率"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"顯示目前的 HDR/SDR 比率"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"必須解鎖裝置才能使用 NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -1135,8 +1118,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"在摺疊狀態下繼續使用應用程式"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"流暢顯示"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"自動將某些內容的刷新率調高到 <xliff:g id="ID_1">%1$d</xliff:g> Hz。請注意,開啟這項設定會增加電池用量。"</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"強制使用最高重新整理頻率"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"強制使用最高重新整理頻率可提升觸控回應和動畫品質。請注意,開啟這項設定會增加電池用量。"</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"螢幕感知"</string>
@@ -1372,6 +1354,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"共通設定"</string>
<string name="apn_settings" msgid="4295467389400441299">"APN"</string>
<string name="apn_edit" msgid="2003683641840248741">"編輯存取點"</string>
+ <string name="apn_add" msgid="9069613192201630934">"新增存取點"</string>
<string name="apn_not_set" msgid="8246646433109750293">"未設定"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"未設定"</string>
<string name="apn_name" msgid="6677695784108157953">"名稱"</string>
@@ -2006,12 +1989,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"使用無障礙按鈕開啟"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"按住音量調高鍵和調低鍵即可開啟"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"輕觸螢幕三下即可開啟"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"用兩指輕觸螢幕三下即可開啟"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"使用手勢啟用無障礙服務"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"使用無障礙手勢"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"如要使用這項功能,請輕觸螢幕底部的無障礙工具按鈕 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。\n\n如要切換不同的功能,請按住無障礙工具按鈕。"</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"如要使用這項功能,請輕觸畫面上的無障礙工具按鈕。"</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"如要使用這項功能,請同時按住音量調高鍵和調低鍵。"</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"如要啟用及停用放大功能,請在螢幕上的任何地方輕觸三下。"</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"如要啟用及停用放大功能,請在螢幕上的任何地方用兩指輕觸三下。"</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"如要使用這項功能,請用 2 指從螢幕底部向上滑動。\n\n如要切換不同的功能,請用 2 指向上滑動並按住。"</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"如要使用這項功能,請用 3 指從螢幕底部向上滑動。\n\n如要切換不同的功能,請用 3 指向上滑動並按住。"</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"如要使用無障礙功能,請用 2 指從螢幕底部向上滑動。\n\n如要切換不同的功能,請用 2 指向上滑動並按住。"</string>
@@ -2033,12 +2018,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"按住音量調高鍵和調低鍵"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"按住音量調高鍵和調低鍵"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"同時按住音量調高鍵和調低鍵"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"用兩指輕觸螢幕三下"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"用兩指輕觸螢幕三下"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"用兩指快速輕觸螢幕 {0,number,integer} 下"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"輕觸螢幕三下"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"輕觸螢幕三下"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"快速輕觸螢幕 {0,number,integer} 下。這個手勢可能會影響裝置的運作效能"</string>
@@ -2263,10 +2245,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"可追蹤你與應用程式或硬體感應器的互動,並代表你與應用程式進行互動。"</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"允許"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"拒絕"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"停止"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"取消"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"停止「<xliff:g id="SERVICE">%1$s</xliff:g>」?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"輕觸「<xliff:g id="STOP">%1$s</xliff:g>」會讓「<xliff:g id="SERVICE">%2$s</xliff:g>」停止運作。"</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"未安裝任何服務"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"未選取任何服務"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"未提供說明。"</string>
@@ -2336,6 +2320,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"如果你限制應用程式的背景活動,應用程式可能無法正常運作"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"由於這個應用程式並未設為最佳化電池用量,因此你無法加以限制。\n\n如要限制應用程式,請先開啟電池效能最佳化功能。"</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"管理電池用量"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"允許在背景使用"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"啟用即可掌握即時動態,停用則可節省電力"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"無限制"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"最佳化"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"受限制"</string>
@@ -2744,27 +2730,18 @@
<string name="vpn_name" msgid="3806456074909253262">"名稱"</string>
<string name="vpn_type" msgid="5533202873260826663">"類型"</string>
<string name="vpn_server" msgid="2908816134941973935">"伺服器位址"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP 加密 (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP 密碼"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec 識別碼"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec 預先共用金鑰"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec 使用者憑證"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA 憑證"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec 伺服器憑證"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"顯示進階選項"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"DNS 搜尋網域"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS 伺服器 (例如 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"轉寄路徑 (例如 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"使用者名稱"</string>
<string name="vpn_password" msgid="1183746907642628127">"密碼"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"儲存帳戶資訊"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(未使用)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(不要驗證伺服器)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(從伺服器接收)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"這個 VPN 類型無法隨時保持連線"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"永久連線的 VPN 僅支援數值格式的伺服器地址"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"必須為永久連線的 VPN 指定 DNS 伺服器"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS 伺服器地址必須為數字才能使用永久連線的 VPN"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"輸入的資訊不支援永久連線的 VPN"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"取消"</string>
<string name="vpn_done" msgid="5137858784289564985">"關閉"</string>
@@ -2800,6 +2777,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"封鎖沒有 VPN 的連線"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"需要 VPN 連線嗎?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"這個 VPN 不安全,請更新為 IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"選取要永久連線的 VPN 設定檔。只有在連線到這個 VPN 後才能使用網路。"</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"無"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"永久連線的 VPN 需要同時具備伺服器和 DNS 的 IP 位址。"</string>
@@ -3357,7 +3336,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"顯示所有通知內容"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"僅在解鎖狀態下顯示敏感內容"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"完全不顯示通知"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"螢幕鎖定時,你希望如何顯示通知訊息?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"想在螢幕鎖定畫面上顯示什麼內容?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"螢幕鎖定"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"顯示所有工作通知內容"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"隱藏敏感的工作內容"</string>
@@ -3846,6 +3825,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"授予管理所有檔案的權限"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"允許這個應用程式讀取、修改及刪除這部裝置或任何已連結儲存空間上的所有檔案。如果應用程式獲得授權,可能會在你不知情的情況下存取檔案。"</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"可以存取所有檔案"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"透過語音啟動的應用程式"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"允許使用語音啟動功能"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"語音啟動功能可透過語音指令開啟已核准的應用程式,不需手動操作。內建的自動調節感應功能則可確保資料不外洩。\n\n"<a href="">"進一步瞭解受保護的自動調節感應功能"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"全螢幕通知"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"允許這個應用程式顯示全螢幕通知"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"允許這個應用程式在裝置鎖定時顯示全螢幕通知。應用程式可能會在這類通知中顯示鬧鐘、來電或其他緊急通知。"</string>
@@ -4009,6 +3991,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"「<xliff:g id="APP_LABEL">%1$s</xliff:g>」在背景執行時比平常耗電"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"「<xliff:g id="APP_LABEL">%1$s</xliff:g>」在前景執行時比較耗電"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"「<xliff:g id="APP_LABEL">%1$s</xliff:g>」在前景執行時比比平常耗電"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"電池用量異常狀況"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"高電池用量"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"在背景執行時耗用大量電池電力"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"在前景執行時耗用大量電池電力"</string>
@@ -4106,7 +4089,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"系統操作機制, 雙按鈕操作, 三按鈕操作, 手勢操作, 滑動"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"數位助理"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"滑動即可啟動數位助理應用程式"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"如要啟動數位助理應用程式,請從底部的任一角落向上滑動。"</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"如要啟動數位助理應用程式,請從底部的任一角落向上滑動"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"按住主畫面按鈕即可使用 Google 助理"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"按住主畫面按鈕即可叫用數位助理應用程式。"</string>
<string name="low_label" msgid="6525629096999711220">"低"</string>
@@ -4959,8 +4942,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"選取語法性別"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"透過掃描找出欺騙性應用程式"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"檢查應用程式活動,找出網路釣魚"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"使用掃描功能"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"掃描工作應用程式"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"使用掃描功能找出欺騙性應用程式"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"使用掃描功能找出欺騙性工作應用程式"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index ad80255..6dc3ccb 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -135,8 +135,12 @@
<string name="stylus_connected_devices_title" msgid="2823967577941359812">"I-Stylus"</string>
<string name="audio_sharing_title" msgid="4144157137502923821">"Ukwabelana ngomsindo"</string>
<string name="audio_sharing_switch_title" msgid="7052827328670825701">"Yabelana ngomsindo"</string>
- <!-- no translation found for calls_and_alarms_device_title (6993559028175454198) -->
- <skip />
+ <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Izingcingo nama-alamu"</string>
+ <string name="audio_streams_category_title" msgid="4878022761829895463">"Xhuma ekusakazeni komsindo we-LE"</string>
+ <string name="audio_streams_pref_title" msgid="6320485086288646209">"Ukusakaza komsindo okuseduze"</string>
+ <string name="audio_streams_title" msgid="6617990880383079165">"Ukusakaza komsindo"</string>
+ <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Xhuma ekusakazeni komsindo usebenzisa ikhodi ye-QR"</string>
+ <string name="audio_streams_empty" msgid="8803517701437394982">"Akukho ukusakazwa komsindo okuseduze okutholiwe."</string>
<string name="date_and_time" msgid="1788358029823431692">"Idethi nesikhathi"</string>
<string name="proxy_settings_title" msgid="4201866858226087066">"Ummeleli"</string>
<string name="proxy_clear_text" msgid="6529658759984031149">"Sula"</string>
@@ -539,85 +543,64 @@
<string name="work_profile_category_header" msgid="85707750968948517">"Iphrofayela yomsebenzi"</string>
<string name="private_space_title" msgid="7078627930195569767">"Isikhala Esiyimfihlo"</string>
<string name="private_space_summary" msgid="8237652417163408001">"Fihla ama-app kufolda eyimfihlo"</string>
- <string name="private_space_one_lock_title" msgid="7306547190751832568">"Vula usebenzisa ukukhiya isikrini"</string>
- <!-- no translation found for private_space_hide_title (8687034008994037610) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_title (972581369094289386) -->
- <skip />
- <!-- no translation found for privatespace_hide_page_summary (1052569521186403642) -->
- <skip />
- <!-- no translation found for privatespace_access_header (982809349769470185) -->
- <skip />
- <!-- no translation found for privatespace_search_description (983837656432484282) -->
- <skip />
- <!-- no translation found for privatespace_tap_tile_description (4146608898639668340) -->
- <skip />
- <!-- no translation found for privatespace_unlock_description (4132755357482447360) -->
- <skip />
- <!-- no translation found for privatespace_hide_off_summary (7227778747159633671) -->
- <skip />
- <!-- no translation found for privatespace_hide_on_summary (6136704537527640183) -->
- <skip />
+ <string name="private_space_description" msgid="5494963647270826210">"Fihla ama-app kufolda eyimfihlo ongafinyelela kuyo kuphela"</string>
+ <string name="private_space_lock_title" msgid="3006539720164938296">"Ukhiye Wesikhala Esigodliwe"</string>
+ <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Ungakwazi ukuvula Isikhala Esigodliwe ngendlela efanayo ovula ngayo idivayisi yakho, noma ukhethe ukhiye ohlukile"</string>
+ <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Sebenzisa ukukhiya isikrini sedivayisi"</string>
+ <string name="private_space_biometric_title" msgid="3934339826674553174">"Ukuvula Ngobuso Nangesigxivizo Somunwe"</string>
+ <string name="private_space_biometric_summary" msgid="4403837276018724581">"Thepha ukuze usethe"</string>
+ <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Ifana nokukhiya isikrini sedivayisi"</string>
+ <string name="private_space_new_lock_title" msgid="7306873010565337671">"Khetha isikhiya esisha Kusikhala Esigodliwe?"</string>
+ <string name="private_space_hide_title" msgid="8687034008994037610">"Fihla uma ikhiyiwe"</string>
+ <string name="privatespace_hide_page_title" msgid="972581369094289386">"Fihla Isikhala Esiyifihlo uma ikhiyile"</string>
+ <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Ukuvimbela abantu ukuthi bazi Isikhala Esiyimfihlo kwidivayisi yakho ungasifihla ohlwini lwama-app wakho"</string>
+ <string name="privatespace_access_header" msgid="982809349769470185">"Finyelela IsIkhala Esiyimfihlo uma sifihliwe"</string>
+ <string name="privatespace_search_description" msgid="983837656432484282">"Sesha \'Isikhala Esiyimfihlo\' ndaweni yokusesha"</string>
+ <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Thepha indawo Yesikhala Esiyimfihlo"</string>
+ <string name="privatespace_unlock_description" msgid="4132755357482447360">"Vula Isikhala sakho Esiyimfihlo"</string>
+ <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Valiwe"</string>
+ <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Vuliwe"</string>
<string name="private_space_category_system" msgid="1286843321867285700">"Isistimu"</string>
- <string name="private_space_create_title" msgid="47273568884806726">"Sungula Isikhala Esiyimfihlo"</string>
<string name="private_space_delete_title" msgid="3075645119800272800">"Sula Isikhala Esiyimfihlo"</string>
- <string name="private_space_created" msgid="2978055968937762232">"Isikhala Esiyimfihlo sisungulwe ngokuphumelelayo"</string>
- <string name="private_space_already_exists" msgid="1253034947621867419">"Isikhala Esiyimfihlo sesikhona kakade"</string>
- <string name="private_space_create_failed" msgid="4908100791174213808">"Isikhala Esiyimfihlo asikwazanga ukusungulwa"</string>
<string name="private_space_deleted" msgid="7825768516955610897">"Isikhala Esiyimfihlo sidilithwe ngokuphumelelayo"</string>
<string name="private_space_delete_failed" msgid="8500755484258565011">"Isikhala Esiyimfihlo asikwazanga ukudilithwa"</string>
<string name="no_device_lock_title" msgid="1078223464721029954">"Setha ukukhiya isikrini"</string>
<string name="no_device_lock_summary" msgid="7653477413589207824">"Ukuze usebenzise Isikhala Esigodliwe, setha ukukhiya kwesikrini kule divayisi."</string>
<string name="no_device_lock_action_label" msgid="2640487005629001288">"Setha ukukhiya isikrini"</string>
<string name="no_device_lock_cancel" msgid="4412602160321228863">"Khansela"</string>
- <!-- no translation found for privatespace_cancel_label (362351004019511784) -->
+ <string name="privatespace_cancel_label" msgid="362351004019511784">"Khansela"</string>
+ <string name="privatespace_setup_button_label" msgid="3696372546231047258">"Setha"</string>
+ <string name="privatespace_setup_title" msgid="177623114624330394">"Setha Isikhala Esiyimfihlo"</string>
+ <string name="privatespace_hide_apps_summary" msgid="4016518749055602268">"Fihla ama-app ayimfihlo esikhaleni esivikelekile ukuze afinyelelwe nguwe kuphela"</string>
+ <string name="privatespace_how_title" msgid="8794102046435526065">"Indlela esebenza ngayo"</string>
+ <string name="privatespace_access_bottom_text" msgid="1075244097441349030">"Ungafinyelela Esikhaleni Esiyimfihlo ekugcineni koluhlu lama-app wakho"</string>
+ <string name="privatespace_protected_lock_text" msgid="7320604832432017423">"Ama-app Asesikhaleni Esiyimfihlo avikelwe ngokhiya"</string>
+ <string name="privatespace_hidden_notifications_text" msgid="8121285743543004812">"Izaziso ezisuka kuzinhlelo zokusebenza eziku-Private Space ziyafihlwa uma sikhiyiwe"</string>
+ <string name="privatespace_apps_permission_text" msgid="4418511924151828812">"Ama-app ayimfihlo e-Space ngeke zivele kumphathi wemvume, kudeshibhodi yobumfihlo, nezinye izilungiselelo lapho i-Private Space ikhiyiwe"</string>
+ <string name="privatespace_setting_up_text" msgid="8532777749891406509">"Isetha Isikhala Esiyimfihlo…"</string>
+ <string name="privatespace_apps_hidden_title" msgid="6146605677591599107">"Ulwazi lokusetshenziswa lwama-app e-Private Space luyafihlwa uma lukhiyiwe"</string>
+ <string name="privatespace_access_from_apps_title" msgid="6787000636686810564">"Finyelela ku-Private Space ohlwini lwakho lwama-app"</string>
+ <!-- no translation found for privatespace_system_apps_installed_title (4782295812052574626) -->
<skip />
- <!-- no translation found for privatespace_setup_button_label (3696372546231047258) -->
+ <string name="privatespace_error_screen_title" msgid="8658511165913662275">"Ayikwazanga ukumisa i-Private Space"</string>
+ <string name="privatespace_error_screen_summary" msgid="5679626031159521676">"Zama futhi manje, noma ubuye kamuva"</string>
+ <string name="privatespace_tryagain_label" msgid="4091466165724929876">"Zama Futhi"</string>
+ <string name="privatespace_lockscreen_title" msgid="7459425150560213662">"Sebenzisa ukukhiya isikrini ukuze uvule?"</string>
+ <string name="privatespace_lockscreen_summary" msgid="980268845497843861">"Ungakwazi ukuvula i-Private Space ngendlela efanayo ovula ngayo idivayisi yakho, noma ukhethe ukhiye ohlukile"</string>
+ <string name="privatespace_use_screenlock_label" msgid="2775404941450049991">"Sebenzisa ukukhiya isikrini"</string>
+ <string name="privatespace_set_lock_label" msgid="6277529807188602545">"Khetha isikhiya esisha"</string>
+ <string name="privatespace_success_title" msgid="4854425684898602993">"Usulungile!"</string>
+ <!-- no translation found for privatespace_access_text (1253541577173303723) -->
<skip />
- <!-- no translation found for privatespace_setup_title (177623114624330394) -->
- <skip />
- <!-- no translation found for privatespace_hide_apps_summary (4016518749055602268) -->
- <skip />
- <!-- no translation found for privatespace_how_title (8794102046435526065) -->
- <skip />
- <!-- no translation found for privatespace_access_bottom_text (1075244097441349030) -->
- <skip />
- <!-- no translation found for privatespace_protected_lock_text (7320604832432017423) -->
- <skip />
- <!-- no translation found for privatespace_hidden_notifications_text (8121285743543004812) -->
- <skip />
- <!-- no translation found for privatespace_apps_permission_text (4418511924151828812) -->
- <skip />
- <!-- no translation found for privatespace_setting_up_text (8532777749891406509) -->
- <skip />
- <!-- no translation found for privatespace_lock_protected_title (7409801274869666860) -->
- <skip />
- <!-- no translation found for privatespace_apps_hidden_title (6146605677591599107) -->
- <skip />
- <!-- no translation found for privatespace_access_from_apps_title (6787000636686810564) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_title (8658511165913662275) -->
- <skip />
- <!-- no translation found for privatespace_error_screen_summary (5679626031159521676) -->
- <skip />
- <!-- no translation found for privatespace_tryagain_label (4091466165724929876) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_title (7459425150560213662) -->
- <skip />
- <!-- no translation found for privatespace_lockscreen_summary (980268845497843861) -->
- <skip />
- <!-- no translation found for privatespace_use_screenlock_label (2775404941450049991) -->
- <skip />
- <!-- no translation found for privatespace_set_lock_label (6277529807188602545) -->
- <skip />
- <!-- no translation found for privatespace_success_title (4854425684898602993) -->
- <skip />
- <!-- no translation found for privatespace_access_text (8756118686974614618) -->
- <skip />
- <!-- no translation found for privatespace_done_label (5534818213879562387) -->
- <skip />
- <!-- no translation found for scrolldown_to_access (5160743933093369151) -->
- <skip />
+ <string name="privatespace_done_label" msgid="5534818213879562387">"Kwenziwe"</string>
+ <string name="scrolldown_to_access" msgid="5160743933093369151">"Skrolela phansi ukuze ufinyelele Indawo Eyimfihlo"</string>
+ <string name="privatespace_retry_signin_title" msgid="495054309243289223">"Ngena ngemvume ukuze usethe Isikhala Esigodliwe"</string>
+ <string name="privatespace_retry_summary" msgid="1508253540053006284">"Udinga ukungena ngemvume ku-akhawunti ukuze usethe Isikhala Esigodliwe"</string>
+ <string name="privatespace_unhide_header" msgid="1192011539687584004">"Ukubonisa Isikhala Esiyimfihlo (Hhayi i-UX yokugcina)"</string>
+ <string name="privatespace_open_settings" msgid="5038101805604421393">"Vula i-App Yamasethingi"</string>
+ <string name="privatespace_tap_settings" msgid="928932826450238276">"Thepha Kwezokuphepha & ubumfihlo > Isikhala Esiyimfihlo > Fihla Isikhala Esigodliwe uma ikhiyiwe"</string>
+ <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Vala Ukufihla Isikhala Esiyimfihlo lapho ukuguqula kukhiyiwe"</string>
+ <string name="privatespace_development_note" msgid="2999992301558700721">"Isaziso esiya kosebenza kwa-Google: Ukuthuthukiswa kwalesi sakhi kusaqhubeka"</string>
<string name="fingerprint_add_max" msgid="8639321019299347447">"Ungangeza izigxivizo zeminwe ezingafika kwezingu-<xliff:g id="COUNT">%d</xliff:g>"</string>
<string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Ungeze inombolo ephezulu yezigxivizo zeminwe"</string>
<string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Ayikwazi ukwengeza izingxovizo zeminwe eziningi"</string>
@@ -781,7 +764,7 @@
<string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Xhuma kwi-inthanethi"</string>
<string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Nqamula"</string>
<string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Bhangqa; uxhume"</string>
- <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Uma i-Bluetooth ivuliwe, idivayisi yakho ingakwazi ukuxhumana namanye amadivayisi aseduze we-Bluetooth."</string>
+ <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Uma i-Bluetooth ivuliwe, idivayisi yakho ingakwazi ukuxhumana namanye amadivayisi aseduze we-Bluetooth"</string>
<string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Uma i-Bluetooth ivuliwe, idivayisi yakho ingaxhumana namanye amadivayisi e-Bluetooth aseduze.\n\nUkuze uthuthukise umuzwa wedivayisi, ama-app namasevisi asengaskena amadivayisi aseduze noma kunini, ngisho noma i-Bluetooth ivaliwe. Lokhu, ngokwesibonelo, kungasetshenziswa ukuthuthukisa izakhi namasevisi asuselwa endaweni. Ungakuguqula lokhu kumasethingi okuskena e-Bluetooth."</string>
<string name="bluetooth_scan_change" msgid="1744636222637390367">"Shintsha"</string>
<string name="device_details_title" msgid="1155622417516195481">"Imininingwane yedivayisi"</string>
@@ -834,6 +817,8 @@
<string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Vumela i-ART ukuze iqinisekise i-bytecode yezinhlelo zokusebenza ezingasusa iphutha"</string>
<string name="show_refresh_rate" msgid="5742688821872354973">"Bonisa isilinganiso sokuvuselela"</string>
<string name="show_refresh_rate_summary" msgid="3558118122374609663">"Bonisa isilinganisi sokuvuselela sesibonisi samanje"</string>
+ <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Bonisa isilinganiso se-HDR/SDR"</string>
+ <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Bonisa isilinganiso samanje se-HDR/SDR"</string>
<string name="nfc_quick_toggle_title" msgid="3607620705230351666">"i-NFC"</string>
<string name="nfc_secure_settings_title" msgid="4906958426927741485">"Idinga ukuvula idivayisi ye-NFC"</string>
<string name="android_beam_settings_title" msgid="2797963824490671295">"i-Android Beam"</string>
@@ -1135,8 +1120,7 @@
<string name="display_white_balance_summary" msgid="7625456704950209050"></string>
<string name="fold_lock_behavior_title" msgid="786228803694268449">"Qhubeka usebenzisa kuma-app agoqiwe"</string>
<string name="peak_refresh_rate_title" msgid="1878771412897140903">"Isibonisi esibushelelezi"</string>
- <!-- no translation found for peak_refresh_rate_summary (3212309985294885790) -->
- <skip />
+ <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Ikhuphula ngokuzenzakalelayo izinga lokuvuselela lifike ku-<xliff:g id="ID_1">%1$d</xliff:g> Hz kokunye okuqukethwe. Ikhuphula ukusetshenziswa kwebhethri."</string>
<string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Phoqelela isilinganiso sokuvuselela esiphakeme"</string>
<string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Inani lokuvuselela eliphezulu kakhulu lokuphendula kokuthinta okuthuthukisiwe nekhwalithi yokugqwayiza. Ikhuphula ukusetshenziswa kwebhethri."</string>
<string name="adaptive_sleep_title" msgid="2987961991423539233">"Ukunaka isikrini"</string>
@@ -1372,6 +1356,7 @@
<string name="communal_settings_summary" msgid="4923914136953940317">"Amasethingi omphakathi"</string>
<string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
<string name="apn_edit" msgid="2003683641840248741">"Hlela indawo yokungena"</string>
+ <string name="apn_add" msgid="9069613192201630934">"Faka iphoyinti lokufinyelela"</string>
<!-- unknown quoting pattern: original -1, translation 1 -->
<string name="apn_not_set" msgid="8246646433109750293">"&lt;Ayisethiwe&gt;"</string>
<string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ayisethiwe"</string>
@@ -2007,12 +1992,14 @@
<string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Sebenzisa inkinobho yokufinyelela ukuze uvule"</string>
<string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Bamba okhiye bevolumu ukuze uvule"</string>
<string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Thepha kathathu isikrini ukuvula"</string>
+ <string name="accessibility_tutorial_dialog_title_two_finger_triple" msgid="1090593773487065541">"Isikrini sokuthepha esiphindwe kathathu seminwe emibili ukuze uvule"</string>
<string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Sebenzisa ukuthinta ukuze uvule"</string>
<string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Sebenzisa ukufinyeleleka kokuthinta"</string>
<string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Ukuze usebenzise lesi sici, thepha inkinobho yokufinyeleleka <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ngezansi kwesikrini.\n\nUkushintsha phakathi kwezici, thinta futhi ubambe inkinobho yokufinyeleleka."</string>
<string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Ukuze usebenzise lesi sici, thepha inkinobho yokufinyeleleka kusikrini sakho."</string>
<string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Ukuze usebenzise lesi sici, cindezela futhi ubambe bobabili okhiye bevolumu."</string>
<string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Ukuqala nokumisa ukukhuliswa, thepha kathathu noma kuphi kusikrini."</string>
+ <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="6205072282308562361">"Ukuze uqale futhi umise ukukhuliswa, thepha kathathu noma yikuphi esikrinini sakho ngeminwe emibili."</string>
<string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Ukuze usebenzise lesi sici, swayiphela phezulu kusuka ezansi esikrinini ngeminwe emi-2.\n\nUkuze ushintshe phakathi kwezici, swayiphela phezulu ngeminwe emi-2 bese ubambe."</string>
<string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Ukuze usebenzise lesi sici, swayiphela phezulu kusuka ezansi esikrinini ngeminwe emi-3.\n\nUkuze ushintshe phakathi kwezici, swayiphela phezulu ngeminwe emi-3 bese ubambe."</string>
<string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Ukuze usebenzise isici sokufinyelela, swayiphela phezulu kusuka ezansi esikrinini ngeminwe emi-2.\n\nUkuze ushintshe phakathi kwezici, swayiphela phezulu ngeminwe emi-2 bese ubambe."</string>
@@ -2034,12 +2021,9 @@
<string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Bamba okhiye bevolomu"</string>
<string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"bamba okhiye bevolomu"</string>
<string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Cindezela futhi ubambe bobabili okhiye bevolumu"</string>
- <!-- no translation found for accessibility_shortcut_edit_dialog_title_two_finger_triple_tap (6687765191490040899) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_two_finger_triple_tap_keyword (4200744613585702430) -->
- <skip />
- <!-- no translation found for accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap (2631127444247448793) -->
- <skip />
+ <string name="accessibility_shortcut_edit_dialog_title_two_finger_triple_tap" msgid="6687765191490040899">"Isikrini sokuthepha kathathu ngeminwe emibili"</string>
+ <string name="accessibility_shortcut_two_finger_triple_tap_keyword" msgid="4200744613585702430">"isikrini sokuthepha kathathu ngeminwe emibili"</string>
+ <string name="accessibility_shortcut_edit_dialog_summary_two_finger_triple_tap" msgid="2631127444247448793">"Thepha ngokushesha isikrini izikhathi ezingu-{0,number,integer} ngeminwe emibili"</string>
<string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Isikrini sokuthepha kathathu"</string>
<string name="accessibility_shortcut_triple_tap_keyword" msgid="6863958573135995927">"isikrini sokuthepha kathathu"</string>
<string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Thepha ngokushesha isikrini izikhathi ezingu-{0,number,integer}. Lesi sinqamuleli singase sehlise isivinini sedivayisi yakho"</string>
@@ -2264,10 +2248,12 @@
<string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Ingalandela ukusebenzisana kwakho nohlelo lokusebenza noma inzwa yehadiwe, nokusebenzisana nezinhlelo zokusebenza engxenyeni yakho."</string>
<string name="accessibility_dialog_button_allow" msgid="8274918676473216697">"Vumela"</string>
<string name="accessibility_dialog_button_deny" msgid="2037249860078259284">"Phika"</string>
- <string name="accessibility_dialog_button_stop" msgid="7295448112784528196">"Misa"</string>
- <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Khansela"</string>
- <string name="disable_service_title" msgid="2909108731776956167">"Misa i-<xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
- <string name="disable_service_message" msgid="4814173941688548016">"Ukuthepha u-<xliff:g id="STOP">%1$s</xliff:g> kuzomisa i-<xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+ <!-- no translation found for accessibility_dialog_button_stop (7584815613743292151) -->
+ <skip />
+ <!-- no translation found for accessibility_dialog_button_cancel (8625997437316659966) -->
+ <skip />
+ <!-- no translation found for disable_service_title (8178020230162342801) -->
+ <skip />
<string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ayikho isevisi efakiwe"</string>
<string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ayikho isevisi ekhethiwe"</string>
<string name="accessibility_service_default_description" msgid="7801435825448138526">"Akukho ncazelo enikeziwe."</string>
@@ -2337,6 +2323,8 @@
<string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Uma ukhawulela umsebenzi wangasemuva wohlelo lokusebenza, lungahle lungasebenzi kahle"</string>
<string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Njengoba lolu hlelo lokusebenza lungasethiwe ukuze kulungiselelwe ibhethri, awukwazi ukulikhawulela.\n\nUkuze ukhawulele uhlelo lokusebenza, qala uvule ukulungiselelwa kwebhethri."</string>
<string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Phatha ukusetshenziswa kwebhethri"</string>
+ <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Vumela ukusetshenziswa kwengemuva"</string>
+ <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Nika amandla ezibuyekezweni zesikhathi sangempela, khubaza ukuze wonge amandla"</string>
<string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Akunamkhawulo"</string>
<string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Kulungisiwe"</string>
<string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Kuvinjelwe"</string>
@@ -2745,27 +2733,18 @@
<string name="vpn_name" msgid="3806456074909253262">"Igama"</string>
<string name="vpn_type" msgid="5533202873260826663">"Uhlobo"</string>
<string name="vpn_server" msgid="2908816134941973935">"Ikheli leseva"</string>
- <string name="vpn_mppe" msgid="7366657055055114239">"PPP ukubethela (MPPE)"</string>
- <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Imfihlo ye-L2TP"</string>
<string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Isiqaphelisi se-IPSec"</string>
<string name="vpn_ipsec_secret" msgid="532007567355505963">"Ukhiye owabelene ngaphambili we-IPSec"</string>
<string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Isitifiketi somsebenzisi we-IPSec"</string>
<string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Izitifiketi ze-IPSec CA"</string>
<string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec izitifiketi se-server"</string>
<string name="vpn_show_options" msgid="6105437733943318667">"Bonisa okukhethwa kukho okuseqophelweni"</string>
- <string name="vpn_search_domains" msgid="1973799969613962440">"Izizinda zokusesha ze-DNS"</string>
- <string name="vpn_dns_servers" msgid="6505263074417737107">"amaseva e-DNS (e.g. 8.8.8.8)"</string>
- <string name="vpn_routes" msgid="1218707725375594862">"Ukudlulisa imizila (e.g. 10.0.0.0/8)"</string>
<string name="vpn_username" msgid="8671768183475960068">"Igama lomsebenzisi"</string>
<string name="vpn_password" msgid="1183746907642628127">"Iphasiwedi"</string>
<string name="vpn_save_login" msgid="5986762519977472618">"Lolondoloza ulwazi lwe-akhawunti"</string>
<string name="vpn_not_used" msgid="7229312881336083354">"(ayisetshenziswa)"</string>
<string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ungaqinisekisi iseva)"</string>
<string name="vpn_no_server_cert" msgid="8106540968643125407">"(itholakale kwi-server)"</string>
- <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Lolu hlobo lwe-VPN alikwazi ukuhlala lixhumekile ngazo zonke izikhathi"</string>
- <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"I-VPN ehlala ivuliwe isekela kuphela ikheli leseva yezinombolo"</string>
- <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Iseva ye-DNS kufanele icaciswe ku-VPN ehlala ivulekile"</string>
- <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Ikheli leseva le-DNS kufanele libe yizinombolo ze-VPN ehlala ivulekile"</string>
<string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Ulwazi olufakiwe alisekeli i-VPN ehlala ivulekile"</string>
<string name="vpn_cancel" msgid="5929410618112404383">"Khansela"</string>
<string name="vpn_done" msgid="5137858784289564985">"Cashisa"</string>
@@ -2801,6 +2780,8 @@
<string name="vpn_require_connection" msgid="1027347404470060998">"Vimbela uxhumo ngaphandle kwe-VPN"</string>
<string name="vpn_require_connection_title" msgid="4186758487822779039">"Kudingeka uxhumo lwe-VPN?"</string>
<string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Akuphephile. Buyekezela ku-IKEv2 VPN"</string>
+ <!-- no translation found for vpn_start_unsupported (7139925503292269904) -->
+ <skip />
<string name="vpn_lockdown_summary" msgid="4700625960550559029">"Khetha iphrofayela ye-VPN ukuhlala uxhumekile. I-traffic yenethiwekhi izovunyelwa kuphela uma ixhunyiwe kule-VPN."</string>
<string name="vpn_lockdown_none" msgid="455915403560910517">"Akunalutho"</string>
<string name="vpn_lockdown_config_error" msgid="1992071316416371316">"I-VPN ehlala ikhanya idinga ikheli le-IP kwisiphakeli ne-DNS."</string>
@@ -3358,7 +3339,7 @@
<string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Bonisa konke okuqukethwe kwesaziso"</string>
<string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Bonisa okuqukethwe okuzwelayo kuphela uma kuvuliwe"</string>
<string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ungabonisi izaziso nhlobo"</string>
- <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Ufuna isikini sokukhiya sibonise kanjani?"</string>
+ <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ufuna ukuthi isikrini sakho sokuvala siboniseni?"</string>
<string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Khiya isikrini"</string>
<string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Bonisa konke okuqukethwe kwesaziso somsebenzi"</string>
<string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Fihla okuqukethwe komsebenzi okuzwelayo"</string>
@@ -3847,6 +3828,9 @@
<string name="permit_manage_external_storage" msgid="6928847280689401761">"Vumela ukufinyelela ukuze kuphathwe wonke amafayela"</string>
<string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Vumela lolu hlelo lokusebenza ukuthi lufunde, lulungise luphinde lususe wonke amafayela kule divayisi noma kwamanye amavolumu axhunyiwe esitoreji. Uma linikeziwe, uhlelo lokusebenza lungafinyelela kumafayela ngaphandle kokwazi kwakho okusobala."</string>
<string name="filter_manage_external_storage" msgid="6751640571715343804">"Ingafinyelela kuwo wonke amafayela"</string>
+ <string name="voice_activation_apps_title" msgid="7130045161611529825">"Ama-app okuvula i-Voice"</string>
+ <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Vumela ukwenza i-voice isebenze"</string>
+ <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Ukwenza kusebenze izwi kuvula ama-app agunyaziwe, i-hands-free, kusetshenziswa umyalo wezwi. Izinzwa eziguquguqukayo ezakhelwe ngaphakathi ziqinisekisa ukuthi idatha ihlala iyimfihlo kuwe kuphela.\n\n"<a href="">"Okwengeziwe mayelana nomuzwa oguqukayo ovikelekile"</a></string>
<string name="full_screen_intent_title" msgid="747270185715224130">"Izaziso zesikrini esigcwele"</string>
<string name="permit_full_screen_intent" msgid="9035367640019960861">"Vumela izaziso zesikrini esigcwele ukusuka kule app"</string>
<string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Vumela i-app ukuthi ibonise izaziso ezithatha isikrini esigcwele lapho idivayisi ikhiyiwe. Ama-app angasebenzisa lokhu ukuze agqamise ama-alamu, amakholi angenayo, noma ezinye izaziso eziphuthumayo."</string>
@@ -4010,6 +3994,7 @@
<string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"I-<xliff:g id="APP_LABEL">%1$s</xliff:g> isebenzise ibhethri eyengeziwe kunokujwayelekile ingemuva"</string>
<string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"I-<xliff:g id="APP_LABEL">%1$s</xliff:g> isebenzise ibhethri eyengeziwe kuyilapho ingaphambili"</string>
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"I-<xliff:g id="APP_LABEL">%1$s</xliff:g> isebenzise ibhethri eyengeziwe kunokujwayelekile ngaphambili"</string>
+ <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Ukusetshenziswa kwebhethri okudidayo"</string>
<string name="battery_app_item_hint" msgid="4850929961461039110">"Ukusetshenziswa kwebhethri okuphezulu"</string>
<string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Ukusetshenziswa kwebhethri ngemuva"</string>
<string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Ukusetshenziswa kwebhethri ngaphambili"</string>
@@ -4107,7 +4092,7 @@
<string name="keywords_system_navigation" msgid="3131782378486554934">"ukuzula kwesistimu, 2-inkinobho yokuzula, 3-inkinobho yokuzula, ukuzula kokuthinta, swayipha"</string>
<string name="assistant_gesture_category_title" msgid="2478251256585807920">"Umsizi odijithali"</string>
<string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swayipha ukuze uncenge umsizi"</string>
- <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swayiphela phezulu usuka ekhoneni elingezansi ukuze uncenge i-app yakho yomsizi wedijithali."</string>
+ <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swayiphela phezulu usuka ekhoneni elingezansi ukuze uncenge i-app yakho yomsizi wedijithali"</string>
<string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Bamba Ikhaya ngokuqondene ne-Assistant"</string>
<string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Cindezela futhi ubambe inkinobho ethi Ikhaya ukuze uncenge i-app yomsizi edijithali."</string>
<string name="low_label" msgid="6525629096999711220">"Phansi"</string>
@@ -4960,8 +4945,8 @@
<string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Khetha ubulili Bohlelo lolimi"</string>
<string name="content_protection_preference_title" msgid="5069260032659193074">"Iskena ukuze ithole ama-app akhohlisayo"</string>
<string name="content_protection_preference_summary" msgid="2252393849408445391">"Hlola umsebenzi we-app wobugebengu bokweba imininingwane ebucayi"</string>
- <string name="content_protection_preference_user_consent_switch_title" msgid="60088482227901638">"Sebenzisa ukuskena"</string>
- <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="2868495870224174097">"Sebenzisa ukuskena kuma-app omsebenzi"</string>
+ <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Sebenzisa ukuskena ama-app akhohlisayo"</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Sebenzisa ukuskena ama-app akhohlisayo omsebenzi"</string>
<string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
<string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
</resources>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 484af0a..f84afec 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -872,15 +872,9 @@
<item>1</item>
</string-array>
- <!-- Match this with the constants in VpnProfile. --> <skip />
+ <!-- Match this with the array VPN_TYPES in ConfigDialog. --> <skip />
<!-- Short names for each VPN type, not really translatable. [CHAR LIMIT=20] -->
<string-array name="vpn_types" translatable="false">
- <item>PPTP</item>
- <item>L2TP/IPSec PSK</item>
- <item>L2TP/IPSec RSA</item>
- <item>IPSec Xauth PSK</item>
- <item>IPSec Xauth RSA</item>
- <item>IPSec Hybrid RSA</item>
<item>IKEv2/IPSec MSCHAPv2</item>
<item>IKEv2/IPSec PSK</item>
<item>IKEv2/IPSec RSA</item>
@@ -1417,7 +1411,7 @@
<string-array name="battery_tips_card_colors" translatable="false">
<item>color_accent_selector</item>
- <item>color_battery_anomaly_yellow_selector</item>
+ <item>color_battery_anomaly_app_warning_selector</item>
</string-array>
<!-- The following 4 arrays are for power anomaly tips card. Please keep them the same size. -->
diff --git a/res/values/colors.xml b/res/values/colors.xml
index ae97945..03225a5 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -137,6 +137,8 @@
<color name="SIM_dark_mode_color_pink">#ffff8bcb</color> <!-- Material Pink 300 -->
<color name="SIM_dark_mode_color_orange">#fffcad70</color> <!-- Material Orange 300 -->
+ <!-- Accessibility colors -->
+ <color name="accessibility_text_reading_background">@android:color/white</color>
<!-- Accessibility Settings icon background colors -->
<color name="accessibility_feature_background">#5F6368</color> <!-- Google grey 700 -->
<color name="accessibility_magnification_background">#F50D60</color>
@@ -169,6 +171,10 @@
<!-- Icon tint color for battery usage system icon -->
<color name="battery_usage_system_icon_color">?android:attr/textColorPrimary</color>
+ <!-- Power anomaly color for icons, button and text -->
+ <color name="power_anomaly_app_warning_hint_color">#D56E0C</color>
+ <color name="power_anomaly_primary_button_text_color">#FFFFFF</color>
+
<!-- UDFPS colors -->
<color name="udfps_enroll_icon">#699FF3</color>
<color name="udfps_moving_target_fill">#C2D7F7</color>
diff --git a/res/values/config.xml b/res/values/config.xml
old mode 100755
new mode 100644
index f50e918..73ee108
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -761,6 +761,9 @@
<item></item>
</string-array>
+ <!-- Whether to display the "Enable wireless display" menu -->
+ <bool name="config_show_wifi_display_enable_menu">true</bool>
+
<!-- List of packages that should be hidden for MVNO. Do not translate -->
<string-array name="datausage_hiding_carrier_service_package_names" translatable="false"/>
@@ -779,4 +782,7 @@
<item>@layout/screen_zoom_preview_1</item>
<item>@layout/accessibility_text_reading_preview_mail_content</item>
</array>
+
+ <!-- Package responsible for updating Mainline Modules -->
+ <string name="config_mainline_module_update_package" translatable="false">com.android.vending</string>
</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index aed72dc..6c03955 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -223,10 +223,14 @@
<dimen name="message_icon_inset">11dp</dimen>
<!-- Text Reading Settings -->
- <dimen name="text_reading_preview_padding_start">@*android:dimen/list_item_padding_end_material</dimen>
- <dimen name="text_reading_preview_padding_end">@*android:dimen/list_item_padding_end_material</dimen>
- <dimen name="text_reading_preview_background_padding_vertical">18dp</dimen>
- <dimen name="text_reading_preview_background_padding_horizontal">18dp</dimen>
+ <dimen name="text_reading_preview_layout_padding_horizontal_min">
+ @*android:dimen/list_item_padding_start_material</dimen>
+ <dimen name="text_reading_preview_background_padding_horizontal_min">18dp</dimen>
+
+ <dimen name="text_reading_preview_layout_padding_horizontal_min_suw">
+ @dimen/text_reading_preview_layout_padding_horizontal_min</dimen>
+ <dimen name="text_reading_preview_background_padding_horizontal_min_suw">
+ @dimen/text_reading_preview_background_padding_horizontal_min</dimen>
<!-- Accessibility Settings -->
<dimen name="accessibility_layout_margin_start_end">16dp</dimen>
@@ -389,7 +393,7 @@
<dimen name="chartview_divider_height">4dp</dimen>
<dimen name="chartview_transom_width">4dp</dimen>
<dimen name="chartview_transom_radius">4dp</dimen>
- <dimen name="chartview_transom_icon_size">12dp</dimen>
+ <dimen name="chartview_transom_icon_size">18dp</dimen>
<dimen name="chartview_transom_padding_top">2dp</dimen>
<dimen name="chartview_transom_layout_height">12dp</dimen>
<dimen name="chartview_layout_height">182dp</dimen>
@@ -447,7 +451,7 @@
<dimen name="lottie_animation_view_margin_top">-52dp</dimen>
<dimen name="limited_vision_button_margin_top">0dp</dimen>
<dimen name="limited_vision_button_margin_bottom">0dp</dimen>
- <dimen name="limited_vision_button_toggle_margin_top">0dp</dimen>
+ <dimen name="limited_vision_button_toggle_margin_top">20dp</dimen>
<!-- Default margin for side fps enroll find sensor lottie -->
<dimen name="sfps_enroll_find_sensor_lottie_margin">0dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7ed9ade..6739a71 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -296,13 +296,15 @@
<string name="calls_and_alarms_device_title">Calls and alarms</string>
<!-- Title for audio streams preference category [CHAR LIMIT=none]-->
- <string name="audio_sharing_streams_category_title">Connect to a LE audio stream</string>
+ <string name="audio_streams_category_title">Connect to a LE audio stream</string>
<!-- Title for audio streams preference [CHAR LIMIT=none]-->
- <string name="audio_sharing_streams_pref_title">Nearby audio streams</string>
+ <string name="audio_streams_pref_title">Nearby audio streams</string>
<!-- Title for audio streams page [CHAR LIMIT=none]-->
- <string name="audio_sharing_streams_title">Audio streams</string>
+ <string name="audio_streams_title">Audio streams</string>
<!-- Summary for QR code scanning in audio streams page [CHAR LIMIT=none]-->
- <string name="audio_sharing_streams_qr_code_summary">Connect to an audio stream using QR code</string>
+ <string name="audio_streams_qr_code_summary">Connect to an audio stream using QR code</string>
+ <!--Text that appears when scanning for nearby audio streams is finished and no streams were found [CHAR LIMIT=40]-->
+ <string name="audio_streams_empty">No nearby audio streams were found.</string>
<!-- Date & time settings screen title -->
<string name="date_and_time">Date & time</string>
@@ -1206,8 +1208,22 @@
<string name="private_space_title">Private Space</string>
<!-- Summary for the Private Space page. [CHAR LIMIT=NONE] -->
<string name="private_space_summary">Hide apps in a private folder</string>
+ <!-- Description for the Private Space page. [CHAR LIMIT=NONE] -->
+ <string name="private_space_description">Hide apps in a private folder that only you can access</string>
<!-- Title for the Private Space one lock preference. [CHAR LIMIT=60] -->
- <string name="private_space_one_lock_title">Unlock using screen lock</string>
+ <string name="private_space_lock_title">Private Space lock</string>
+ <!-- Description for the Private Space one lock preference page. [CHAR LIMIT=NONE] -->
+ <string name="private_space_one_lock_summary">You can unlock Private Space the same way you unlock your device, or choose a different lock</string>
+ <!-- Title for the Private Space one lock preference. [CHAR LIMIT=60] -->
+ <string name="private_space_screen_lock_title">Use device screen lock</string>
+ <!-- Title for the Face and Fingerprint preference. [CHAR LIMIT=60] -->
+ <string name="private_space_biometric_title">Face & Fingerprint Unlock</string>
+ <!-- Summary for the Face and Fingerprint preference when no biometric is set. [CHAR LIMIT=60] -->
+ <string name="private_space_biometric_summary">Tap to set up</string>
+ <!-- Summary for one lock when device screen lock is used as private profile lock. [CHAR LIMIT=60] -->
+ <string name="private_space_screen_lock_summary">Same as device screen lock</string>
+ <!-- Dialog message to choose a new lock for Private Space. [CHAR LIMIT=50] -->
+ <string name="private_space_new_lock_title">Choose a new lock for Private Space?</string>
<!-- Title for the preference to hide Private Space. [CHAR LIMIT=60] -->
<string name="private_space_hide_title">Hide when locked</string>
<!-- Title for the hide Private Space setting. [CHAR LIMIT=60] -->
@@ -1228,16 +1244,8 @@
<string name="privatespace_hide_on_summary">On</string>
<!-- System category for the Private Space page. [CHAR LIMIT=30] -->
<string name="private_space_category_system">System</string>
- <!-- Title for the preference to create Private Space. [CHAR LIMIT=60] -->
- <string name="private_space_create_title">Create Private Space</string>
<!-- Title for the preference to delete Private Space. [CHAR LIMIT=60] -->
<string name="private_space_delete_title">Delete Private Space</string>
- <!-- Toast to show when the private space was created. [CHAR LIMIT=NONE] -->
- <string name="private_space_created">Private Space successfully created</string>
- <!-- Toast to show when the private space already exists. [CHAR LIMIT=NONE] -->
- <string name="private_space_already_exists">Private Space already exists</string>
- <!-- Toast to show when the private space could not be created. [CHAR LIMIT=NONE] -->
- <string name="private_space_create_failed">Private Space could not be created</string>
<!-- Toast to show when the private space was deleted. [CHAR LIMIT=NONE] -->
<string name="private_space_deleted">Private Space successfully deleted</string>
<!-- Toast to show when the private space could not be deleted. [CHAR LIMIT=NONE] -->
@@ -1270,12 +1278,12 @@
<string name="privatespace_apps_permission_text">Private Space apps won\u2019t appear in permission manager, privacy dashboard, and other settings when Private Space is locked</string>
<!-- Text shown at the bottom in Private Space auto advancing screens. [CHAR LIMIT=60] -->
<string name="privatespace_setting_up_text">Setting up Private Space\u2026</string>
- <!-- Title for Private Space setup in auto advancing screen informing private space is protected by a lock. [CHAR LIMIT=60] -->
- <string name="privatespace_lock_protected_title">Private Space is protected by a lock</string>
<!-- Title for Private Space setup in auto advancing screen informing private space is hidden when locked. [CHAR LIMIT=NONE] -->
<string name="privatespace_apps_hidden_title">Usage info for Private Space apps is hidden when it\u2019s locked</string>
<!-- Title for Private Space setup in auto advancing screen informing private space can be accessed from apps list. [CHAR LIMIT=60] -->
<string name="privatespace_access_from_apps_title">Access Private Space from your apps list</string>
+ <!-- Title for Private Space setup in auto advancing screen informing some system apps are already installed in Private Space. [CHAR LIMIT=NONE] -->
+ <string name="privatespace_system_apps_installed_title">Some system apps are already installed in Private Space</string>
<!-- Title for Private Space creation error screen. [CHAR LIMIT=60] -->
<string name="privatespace_error_screen_title">Couldn\u2019t set up Private Space</string>
<!-- Summary for the Private Space creation error screen. [CHAR LIMIT=60] -->
@@ -1293,7 +1301,7 @@
<!-- Title for Private Space setup success screen. [CHAR LIMIT=30] -->
<string name="privatespace_success_title">All set!</string>
<!-- Summary for the Private Space setup success screen. [CHAR LIMIT=NONE] -->
- <string name="privatespace_access_text">To access Private Space, swipe up from the bottom of your home screen, then scroll down</string>
+ <string name="privatespace_access_text">You can access Private Space from your apps list</string>
<!-- Label for Private Space done button to show a toast, finish setup and launch All apps [CHAR LIMIT=30] -->
<string name="privatespace_done_label">Done</string>
<!-- Toast to show on private space setup completion informing user to scroll down All apps to access private space. [CHAR LIMIT=60] -->
@@ -1301,7 +1309,20 @@
<!-- Title for Private Space account login error screen. [CHAR LIMIT=60] -->
<string name="privatespace_retry_signin_title">Sign in to set up Private Space</string>
<!-- Summary for the Private Space account login error screen. [CHAR LIMIT=NONE] -->
- <string name="privatespace_retry_summary">You need to sign in to a Account to set up Private Space</string>
+ <string name="privatespace_retry_summary">You need to sign in to an account to set up Private Space</string>
+
+ <!-- TODO(b/309950257): Remove below strings once QSTIle fulfillment is complete. -->
+ <!-- Header in hide Private Space settings page to unhide Private Space. [CHAR LIMIT=90] -->
+ <string name="privatespace_unhide_header">To show Private Space (Not final UX)</string>
+ <!-- Text in hide Private Space settings page on how to open Private Space setting. [CHAR LIMIT=NONE] -->
+ <string name="privatespace_open_settings">Open the Settings App</string>
+ <!-- Text in hide Private Space settings page on how to open Private Space setting. [CHAR LIMIT=NONE] -->
+ <string name="privatespace_tap_settings">Tap on Security & privacy > Private Space > Hide Private Space when locked</string>
+ <!-- Text in hide Private Space settings page to off hide toggle. [CHAR LIMIT=90] -->
+ <string name="privatespace_turnoff_hide">Turn off \‘Hide Private Space when locked\’ toggle</string>
+ <!-- Note in hide Private Space settings page to inform that this is a development feature. [CHAR LIMIT=NONE] -->
+ <string name="privatespace_development_note">Note to Googlers: The development of this feature is still in progress</string>
+
<!-- Text shown when "Add fingerprint" button is disabled -->
<string name="fingerprint_add_max">You can add up to <xliff:g id="count" example="5">%d</xliff:g> fingerprints</string>
@@ -1722,8 +1743,8 @@
<string name="bluetooth_device_context_disconnect">Disconnect</string>
<!-- Bluetooth settings. Context menu item for a device. Action will first pair, and then connect to all profiles on the device. -->
<string name="bluetooth_device_context_pair_connect">Pair & connect</string>
- <!-- Bluetooth settings. Text displayed when Bluetooth is off and device list is empty [CHAR LIMIT=50]-->
- <string name="bluetooth_empty_list_bluetooth_off">When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.</string>
+ <!-- Bluetooth settings. Text displayed when Bluetooth is off and device list is empty [CHAR LIMIT=NONE]-->
+ <string name="bluetooth_empty_list_bluetooth_off">When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices</string>
<!-- Bluetooth settings. Text displayed when Bluetooth is off and bluetooth scanning is turned on [CHAR LIMIT=NONE] -->
<string name="bluetooth_scanning_on_info_message">When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.\n\nTo improve device experience, apps and services can still scan for nearby devices at any time, even when Bluetooth is off. This can be used, for example, to improve location-based features and services. You can change this in Bluetooth scanning settings.</string>
<!-- Bluetooth settings. Link text to bring the user to "scanning settings" screen. [CHAR LIMIT=NONE]-->
@@ -5248,15 +5269,12 @@
<string name="accessibility_dialog_button_deny">Deny</string>
<!-- String for the allow button in accessibility permission dialog. [CHAR LIMIT=10] -->
- <string name="accessibility_dialog_button_stop">Stop</string>
+ <string name="accessibility_dialog_button_stop">Turn off</string>
<!-- String for the deny button in accessibility permission dialog. [CHAR LIMIT=10] -->
- <string name="accessibility_dialog_button_cancel">Cancel</string>
+ <string name="accessibility_dialog_button_cancel">Keep on</string>
<!-- Title for a warning about disabling an accessibility service. [CHAR LIMIT=NONE] -->
- <string name="disable_service_title">Stop <xliff:g id="service" example="TalkBack">%1$s</xliff:g>?</string>
- <!-- Message for a warning about disabling accessibility service. [CHAR LIMIT=NONE] -->
- <string name="disable_service_message">Tapping <xliff:g id="stop" example="Stop">%1$s</xliff:g> will
- stop <xliff:g id="service" example="TalkBack">%2$s</xliff:g>.</string>
+ <string name="disable_service_title">Turn off <xliff:g id="service" example="TalkBack">%1$s</xliff:g>?</string>
<!-- Title for the prompt shown as a placeholder if no accessibility services are installed. [CHAR LIMIT=50] -->
<string name="accessibility_no_services_installed">No services installed</string>
@@ -6419,10 +6437,6 @@
<string name="vpn_type">Type</string>
<!-- Input label for the server address of a VPN profile. [CHAR LIMIT=40] -->
<string name="vpn_server">Server address</string>
- <!-- Checkbox label to enable PPP encryption for a VPN profile. [CHAR LIMIT=40] -->
- <string name="vpn_mppe">PPP encryption (MPPE)</string>
- <!-- Input label for the L2TP secret of a VPN profile. [CHAR LIMIT=40] -->
- <string name="vpn_l2tp_secret">L2TP secret</string>
<!-- Input label for the IPSec identifier of a VPN profile. [CHAR LIMIT=40] -->
<string name="vpn_ipsec_identifier">IPSec identifier</string>
<!-- Input label for the IPSec pre-shared key of a VPN profile. [CHAR LIMIT=40] -->
@@ -6435,12 +6449,6 @@
<string name="vpn_ipsec_server_cert">IPSec server certificate</string>
<!-- Checkbox label to show advanced options of a VPN profile. [CHAR LIMIT=40] -->
<string name="vpn_show_options">Show advanced options</string>
- <!-- Input label for the DNS search domains of a VPN profile. [CHAR LIMIT=40] -->
- <string name="vpn_search_domains">DNS search domains</string>
- <!-- Input label for the DNS servers of a VPN profile. [CHAR LIMIT=40] -->
- <string name="vpn_dns_servers">DNS servers (e.g. 8.8.8.8)</string>
- <!-- Input label for the forwarding routes of a VPN profile. [CHAR LIMIT=40] -->
- <string name="vpn_routes">Forwarding routes (e.g. 10.0.0.0/8)</string>
<!-- Input label for the username of a VPN profile. [CHAR LIMIT=40] -->
<string name="vpn_username">Username</string>
<!-- Input label for the password of a VPN profile. [CHAR LIMIT=40] -->
@@ -6454,22 +6462,6 @@
<!-- Option to use the server certificate received from the VPN server. [CHAR LIMIT=40] -->
<string name="vpn_no_server_cert">(received from server)</string>
<!-- Error message displayed below the always-on VPN checkbox when the checkbox is disabled:
- the selected VPN type doesn't support always-on. [CHAR LIMIT=120] -->
- <string name="vpn_always_on_invalid_reason_type">This VPN type can\'t stay connected at all
- times</string>
- <!-- Error message displayed below the always-on VPN checkbox when the checkbox is disabled:
- the server address is not in numeric form (e.g. 8.8.8.8). [CHAR LIMIT=120] -->
- <string name="vpn_always_on_invalid_reason_server">Always-on VPN only supports numeric server
- addresses</string>
- <!-- Error message displayed below the always-on VPN checkbox when the checkbox is disabled:
- no DNS is found. [CHAR LIMIT=120] -->
- <string name="vpn_always_on_invalid_reason_no_dns">A DNS server must be specified for always-on
- VPN</string>
- <!-- Error message displayed below the always-on VPN checkbox when the checkbox is disabled:
- DNS server addresses are not in numeric form (e.g. 8.8.8.8). [CHAR LIMIT=120] -->
- <string name="vpn_always_on_invalid_reason_dns">DNS server addresses must be numeric for
- always-on VPN</string>
- <!-- Error message displayed below the always-on VPN checkbox when the checkbox is disabled:
generic error. [CHAR LIMIT=120] -->
<string name="vpn_always_on_invalid_reason_other">The information entered doesn\'t support
always-on VPN</string>
@@ -6545,6 +6537,11 @@
<!-- Dialog subtitle warning for a VPN app that has an insecure type. [CHAR LIMIT=100] -->
<string name="vpn_insecure_dialog_subtitle">Not secure. Update to an IKEv2 VPN</string>
+ <!-- Dialog message when user attempted to start a VPN type that is no longer supported. It is
+ very unlikely, but not impossible, that a user has a very old VPN configuration that the
+ newer device no longer supports. This message is displayed when the user tries to start
+ this unsupported VPN. [CHAR LIMIT=NONE] -->
+ <string name="vpn_start_unsupported">Failed to start unsupported VPN.</string>
<!-- Summary describing the always-on VPN feature. [CHAR LIMIT=NONE] -->
<string name="vpn_lockdown_summary">Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN.</string>
@@ -8090,7 +8087,7 @@
<string name="lock_screen_notifications_summary_disable">Don\u2019t show notifications at all</string>
<!-- Security > Choose PIN/PW/Pattern > Notification redaction interstitial: Message asking the user how they want their notifications to appear when the device is locked [CHAR LIMIT=NONE] -->
- <string name="lock_screen_notifications_interstitial_message">How do you want the lock screen to display?</string>
+ <string name="lock_screen_notifications_interstitial_message">What do you want your lock screen to show?</string>
<!-- Security > Choose PIN/PW/Pattern > Notification redaction interstitial: Title for the screen asking the user how much notification content they want to see on their lock screen [CHAR LIMIT=30] -->
<string name="lock_screen_notifications_interstitial_title">Lock screen</string>
@@ -10007,6 +10004,9 @@
<!-- Summary of apps anomaly for higher than usual in foreground [CHAR LIMIT=NONE] -->
<string name="battery_tips_apps_summary_higher_than_usual_in_foreground"><xliff:g id="app_label" example="Pokemon Go">%1$s</xliff:g> used more battery than usual while in the foreground</string>
+ <!-- Content description of the icon in power anomaly banner [CHAR LIMIT=NONE] -->
+ <string name="battery_usage_anomaly_content_description">Battery usage anomaly</string>
+
<!-- Label of hint for apps anomaly in battery usage [CHAR LIMIT=NONE] -->
<string name="battery_app_item_hint">High battery usage</string>
@@ -10268,7 +10268,7 @@
<!-- Title text for swiping from bottom corners to invoke the digital assistant app. [CHAR LIMIT=60] -->
<string name="assistant_corner_gesture_title">Swipe to invoke assistant</string>
<!-- Summary text for swiping from bottom corners to invoke the digital assistant app. [CHAR LIMIT=NONE] -->
- <string name="assistant_corner_gesture_summary">Swipe up from a bottom corner to invoke digital assistant app.</string>
+ <string name="assistant_corner_gesture_summary">Swipe up from a bottom corner to invoke digital assistant app</string>
<!-- Title text for holding a long press on Home button to invoke the digital assistant app. [CHAR LIMIT=60] -->
<string name="assistant_long_press_home_gesture_title">Hold Home for Assistant</string>
@@ -12630,9 +12630,9 @@
<!-- Summary of the preference to manage content protection settings -->
<string name="content_protection_preference_summary">Check app activity for phishing</string>
<!-- Title of the switch bar on the subpage of content protection settings -->
- <string name="content_protection_preference_user_consent_switch_title">Use scanning</string>
+ <string name="content_protection_preference_user_consent_switch_title">Use scanning for deceptive apps</string>
<!-- Title of the toggle switch of work apps on the subpage of content protection settings -->
- <string name="content_protection_preference_user_consent_work_profile_switch_title">Use scanning for work apps</string>
+ <string name="content_protection_preference_user_consent_work_profile_switch_title">Use scanning for deceptive apps for work</string>
<!-- Default summary of the subpage of content protection settings. Will be overlaid by OEM. -->
<string name="content_protection_preference_subpage_summary"></string>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 8736689..0786458 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -121,6 +121,7 @@
<item name="android:textAppearance">@android:style/TextAppearance.DeviceDefault.Medium</item>
<item name="android:textColorHint">?android:attr/textColorSecondary</item>
<item name="android:minHeight">@dimen/min_tap_target_size</item>
+ <item name="android:maxLength">500</item>
</style>
<style name="wifi_section">
diff --git a/res/xml/bluetooth_audio_sharing.xml b/res/xml/bluetooth_audio_sharing.xml
index ca7137a..d5e08bb 100644
--- a/res/xml/bluetooth_audio_sharing.xml
+++ b/res/xml/bluetooth_audio_sharing.xml
@@ -19,29 +19,34 @@
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/audio_sharing_title">
+ <PreferenceCategory
+ android:key="audio_sharing_device_volume_group"
+ android:title="Devices listening"
+ settings:controller="com.android.settings.connecteddevice.audiosharing.AudioSharingDeviceVolumeGroupController" />
+
<Preference
- android:key="calls_and_alarms"
- android:title="@string/calls_and_alarms_device_title"
android:icon="@drawable/ic_audio_calls_and_alarms"
- settings:controller="com.android.settings.connecteddevice.audiosharing.CallsAndAlarmsPreferenceController"
- android:summary=""/>
+ android:key="calls_and_alarms"
+ android:summary=""
+ android:title="@string/calls_and_alarms_device_title"
+ settings:controller="com.android.settings.connecteddevice.audiosharing.CallsAndAlarmsPreferenceController" />
<com.android.settings.connecteddevice.audiosharing.AudioSharingNamePreference
android:key="audio_sharing_stream_name"
- android:title="Stream name"
android:summary="********"
- settings:controller="com.android.settings.connecteddevice.audiosharing.AudioSharingNamePreferenceController"/>
+ android:title="Stream name"
+ settings:controller="com.android.settings.connecteddevice.audiosharing.AudioSharingNamePreferenceController" />
<PreferenceCategory
android:key="audio_streams_settings_category"
- android:title="@string/audio_sharing_streams_category_title"
- settings:controller="com.android.settings.connecteddevice.audiosharing.AudioStreamsCategoryController" >
+ android:title="@string/audio_streams_category_title"
+ settings:controller="com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsCategoryController">
<Preference
+ android:fragment="com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsDashboardFragment"
+ android:icon="@drawable/ic_chevron_right_24dp"
android:key="audio_streams_settings"
- android:fragment="com.android.settings.connecteddevice.audiosharing.AudioStreamsDashboardFragment"
- android:title="@string/audio_sharing_streams_pref_title"
- android:icon="@drawable/ic_chevron_right_24dp" />
+ android:title="@string/audio_streams_pref_title" />
</PreferenceCategory>
</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/bluetooth_audio_streams.xml b/res/xml/bluetooth_audio_streams.xml
index 9d05a06..206fb34 100644
--- a/res/xml/bluetooth_audio_streams.xml
+++ b/res/xml/bluetooth_audio_streams.xml
@@ -17,12 +17,22 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
- android:title="@string/audio_sharing_streams_title">
+ xmlns:settings="http://schemas.android.com/apk/res-auto"
+ android:title="@string/audio_streams_title">
<Preference
android:key="audio_streams_scan_qr_code"
android:title="@string/bluetooth_find_broadcast_button_scan"
android:icon="@drawable/ic_add_24dp"
- android:summary="@string/audio_sharing_streams_qr_code_summary"/>
+ android:summary="@string/audio_streams_qr_code_summary" />
+
+ <Preference
+ android:key="audio_streams_active_device"
+ android:title="Listen with"
+ settings:controller="com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsActiveDeviceController" />
+
+ <com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryPreference
+ android:key="audio_streams_nearby_category"
+ android:title="@string/audio_streams_pref_title" />
</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/bluetooth_audio_streams_qr_code.xml b/res/xml/bluetooth_audio_streams_qr_code.xml
new file mode 100644
index 0000000..c750963
--- /dev/null
+++ b/res/xml/bluetooth_audio_streams_qr_code.xml
@@ -0,0 +1,57 @@
+<?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.
+ -->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clipToPadding="false"
+ android:paddingLeft="25dp"
+ android:paddingRight="25dp"
+ android:gravity="center_horizontal"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@android:id/summary"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="start"
+ android:textSize="15sp"
+ android:textColor="?android:attr/textColorPrimary"
+ android:text="Scan this QR code with another device connected to LE audio headphones to start sharing audio"/>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:orientation="vertical"
+ android:paddingTop="70dp">
+
+ <ImageView
+ android:id="@+id/qrcode_view"
+ android:layout_width="@dimen/qrcode_size"
+ android:layout_height="@dimen/qrcode_size"
+ android:src="@android:color/transparent"/>
+ </LinearLayout>
+
+ </LinearLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/xml/connected_devices.xml b/res/xml/connected_devices.xml
index 0043a2d..1d2dd24 100644
--- a/res/xml/connected_devices.xml
+++ b/res/xml/connected_devices.xml
@@ -27,6 +27,19 @@
settings:allowDividerBelow="true"/>
<PreferenceCategory
+ android:key="audio_sharing_device_list"
+ android:title="@string/audio_sharing_title"
+ settings:controller="com.android.settings.connecteddevice.audiosharing.AudioSharingDevicePreferenceController">
+ <Preference
+ android:fragment="com.android.settings.connecteddevice.audiosharing.AudioSharingDashboardFragment"
+ android:key="connected_device_audio_sharing_settings"
+ android:title="@string/audio_sharing_title"
+ android:icon="@drawable/ic_bt_audio_sharing"
+ android:order="10"
+ settings:controller="com.android.settings.connecteddevice.audiosharing.AudioSharingPreferenceController"/>
+ </PreferenceCategory>
+
+ <PreferenceCategory
android:key="available_device_list"
android:title="@string/connected_device_media_device_title"
settings:controller="com.android.settings.connecteddevice.AvailableMediaDeviceGroupController"/>
diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml
index f890984..f0a2881 100644
--- a/res/xml/development_settings.xml
+++ b/res/xml/development_settings.xml
@@ -619,6 +619,11 @@
android:title="@string/transcode_settings_title"
android:fragment="com.android.settings.development.transcode.TranscodeSettingsFragment" />
+ <Preference
+ android:key="widevine_settings"
+ android:title="@string/widevine_settings_title"
+ android:fragment="com.android.settings.development.widevine.WidevineSettingsFragment" />
+
</PreferenceCategory>
<PreferenceCategory
diff --git a/res/xml/network_provider_internet.xml b/res/xml/network_provider_internet.xml
index ef6ed16..b055ea3 100644
--- a/res/xml/network_provider_internet.xml
+++ b/res/xml/network_provider_internet.xml
@@ -31,16 +31,11 @@
settings:keywords="@string/keywords_internet"
settings:useAdminDisabledSummary="true" />
- <com.android.settingslib.RestrictedPreference
+ <com.android.settings.spa.preference.ComposePreference
android:key="calls_and_sms"
android:title="@string/calls_and_sms"
- android:icon="@drawable/ic_calls_sms"
android:order="-20"
- android:summary="@string/summary_placeholder"
- settings:isPreferenceVisible="@bool/config_show_sim_info"
- settings:allowDividerBelow="true"
- settings:keywords="@string/calls_and_sms"
- settings:useAdminDisabledSummary="true" />
+ settings:controller="com.android.settings.network.NetworkProviderCallsSmsController" />
<com.android.settingslib.RestrictedPreference
android:key="mobile_network_list"
diff --git a/res/xml/private_space_settings.xml b/res/xml/private_space_settings.xml
index 33243e1..48835fc 100644
--- a/res/xml/private_space_settings.xml
+++ b/res/xml/private_space_settings.xml
@@ -22,13 +22,25 @@
android:title="@string/private_space_title"
settings:searchable="false">
+ <com.android.settingslib.widget.IllustrationPreference
+ android:key="privatespace_hide_video"
+ settings:searchable="false"
+ settings:lottie_rawRes="@drawable/privatespace_placeholder_image"/>
+
+ <Preference
+ android:key="private_space_description"
+ android:summary="@string/private_space_description"
+ android:selectable="false"
+ settings:searchable="false" />
+
<PreferenceCategory
android:title="@string/security_header">
- <SwitchPreferenceCompat
+ <Preference
android:key="private_space_use_one_lock"
- android:title="@string/private_space_one_lock_title"
- settings:controller="com.android.settings.privatespace.UseOneLockController"
+ android:title="@string/private_space_lock_title"
+ android:fragment="com.android.settings.privatespace.onelock.UseOneLockSettingsFragment"
+ settings:controller="com.android.settings.privatespace.onelock.UseOneLockController"
settings:searchable="false" />
<Preference
@@ -44,12 +56,6 @@
android:title="@string/private_space_category_system">
<Preference
- android:key="private_space_create"
- android:title="@string/private_space_create_title"
- settings:controller="com.android.settings.privatespace.CreatePrivateSpaceController"
- settings:searchable="false" />
-
- <Preference
android:key="private_space_delete"
android:title="@string/private_space_delete_title"
settings:controller="com.android.settings.privatespace.DeletePrivateSpaceController"
@@ -57,4 +63,4 @@
</PreferenceCategory>
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/privatespace_hide_locked.xml b/res/xml/privatespace_hide_locked.xml
index 60a814b..f26d207 100644
--- a/res/xml/privatespace_hide_locked.xml
+++ b/res/xml/privatespace_hide_locked.xml
@@ -21,7 +21,7 @@
<com.android.settingslib.widget.IllustrationPreference
android:key="privatespace_hide_video"
settings:searchable="false"
- settings:lottie_rawRes="@raw/lottie_privatespace_hide_placeholder"/>
+ settings:lottie_rawRes="@drawable/privatespace_placeholder_image"/>
<com.android.settingslib.widget.MainSwitchPreference
android:key="hide_when_locked"
@@ -34,27 +34,33 @@
android:selectable="false"
settings:searchable="false" />
+ <Preference
+ android:key="private_space_note"
+ android:summary="@string/privatespace_development_note"
+ android:selectable="false"
+ settings:searchable="false" />
+
<PreferenceCategory
- android:title="@string/privatespace_access_header">
+ android:title="@string/privatespace_unhide_header">
<Preference
android:key="search_when_locked_footer"
android:icon="@drawable/counter_1_24dp"
- android:title="@string/privatespace_search_description"
+ android:title="@string/privatespace_open_settings"
android:selectable="false"
settings:searchable="false" />
<Preference
android:key="tap_tile_footer"
android:icon="@drawable/counter_2_24dp"
- android:title="@string/privatespace_tap_tile_description"
+ android:title="@string/privatespace_tap_settings"
android:selectable="false"
settings:searchable="false" />
<Preference
- android:key="unlock_profile_footer"
+ android:key="turn_off_footer"
android:icon="@drawable/counter_3_24dp"
- android:title="@string/privatespace_unlock_description"
+ android:title="@string/privatespace_turnoff_hide"
android:selectable="false"
settings:searchable="false" />
diff --git a/res/xml/privatespace_one_lock.xml b/res/xml/privatespace_one_lock.xml
new file mode 100644
index 0000000..e078c17
--- /dev/null
+++ b/res/xml/privatespace_one_lock.xml
@@ -0,0 +1,44 @@
+<!--
+ ~ 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.
+ -->
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:settings="http://schemas.android.com/apk/res-auto"
+ android:title="@string/private_space_lock_title"
+ settings:searchable="false" >
+
+ <com.android.settingslib.widget.TopIntroPreference
+ android:title="@string/private_space_one_lock_summary"
+ settings:searchable="false" />
+
+ <com.android.settingslib.widget.MainSwitchPreference
+ android:key="private_lock_unification"
+ android:title="@string/private_space_screen_lock_title"
+ settings:searchable="false" />
+
+ <Preference
+ android:key="change_private_space_lock"
+ android:title="@string/private_space_lock_title"
+ android:summary="@string/unlock_set_unlock_mode_pattern"
+ settings:searchable="false" />
+
+ <Preference
+ android:key="private_space_biometrics"
+ android:title="@string/private_space_biometric_title"
+ android:summary="@string/private_space_biometric_summary"
+ android:fragment="com.android.settings.privatespace.onelock.FaceFingerprintUnlockFragment"
+ settings:searchable="false" />
+
+</PreferenceScreen>
diff --git a/res/xml/widevine_settings.xml b/res/xml/widevine_settings.xml
new file mode 100644
index 0000000..3c577d8
--- /dev/null
+++ b/res/xml/widevine_settings.xml
@@ -0,0 +1,29 @@
+<?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.
+ -->
+
+<PreferenceScreen
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:settings="http://schemas.android.com/apk/res-auto"
+ android:title="@string/widevine_settings_title"
+ settings:searchable="false">
+
+ <SwitchPreferenceCompat
+ android:key="force_l3_fallback"
+ android:title="@string/force_l3_fallback_title"
+ android:summary="@string/force_l3_fallback_summary"
+ settings:controller="com.android.settings.development.widevine.ForceL3FallbackPreferenceController" />
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/wifi_network_details_fragment2.xml b/res/xml/wifi_network_details_fragment2.xml
index 56e7b04..daff20f 100644
--- a/res/xml/wifi_network_details_fragment2.xml
+++ b/res/xml/wifi_network_details_fragment2.xml
@@ -169,15 +169,11 @@
settings:enableCopying="true"/>
</PreferenceCategory>
- <!-- IPv6 Details -->
- <PreferenceCategory
- android:key="ipv6_category"
- android:title="@string/wifi_details_ipv6_address_header"
- android:selectable="false">
- <Preference
- android:key="ipv6_addresses"
- android:selectable="false"
- settings:enableCopying="true"/>
- </PreferenceCategory>
+ <!-- IPv6 address -->
+ <Preference
+ android:title="@string/wifi_details_ipv6_address_header"
+ android:key="ipv6_addresses"
+ android:selectable="false"
+ settings:enableCopying="true"/>
</PreferenceScreen>
diff --git a/src/com/android/settings/CustomListPreference.java b/src/com/android/settings/CustomListPreference.java
index a21abdf..978858b 100644
--- a/src/com/android/settings/CustomListPreference.java
+++ b/src/com/android/settings/CustomListPreference.java
@@ -37,7 +37,6 @@
public CustomListPreference(Context context, AttributeSet attrs) {
super(context, attrs);
- setSingleLineTitle(true);
}
public CustomListPreference(Context context, AttributeSet attrs, int defStyleAttr,
diff --git a/src/com/android/settings/MainClear.java b/src/com/android/settings/MainClear.java
index 58fc0d5..7b96d42 100644
--- a/src/com/android/settings/MainClear.java
+++ b/src/com/android/settings/MainClear.java
@@ -26,11 +26,13 @@
import android.accounts.AuthenticatorDescription;
import android.app.ActionBar;
import android.app.Activity;
+import android.app.AlertDialog;
import android.app.admin.DevicePolicyManager;
import android.app.settings.SettingsEnums;
import android.content.ComponentName;
import android.content.ContentResolver;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
@@ -43,6 +45,7 @@
import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.UserManager;
+import android.os.image.DynamicSystemManager;
import android.provider.Settings;
import android.telephony.euicc.EuiccManager;
import android.text.TextUtils;
@@ -63,6 +66,7 @@
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.enterprise.ActionDisabledByAdminDialogHelper;
+import com.android.settings.flags.Flags;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.password.ConfirmLockPattern;
@@ -265,6 +269,19 @@
return;
}
+ final DynamicSystemManager dsuManager = (DynamicSystemManager)
+ getActivity().getSystemService(Context.DYNAMIC_SYSTEM_SERVICE);
+ if (dsuManager.isInUse()) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ builder.setTitle(R.string.dsu_is_running);
+ builder.setPositiveButton(R.string.okay, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {}
+ });
+ AlertDialog dsuAlertdialog = builder.create();
+ dsuAlertdialog.show();
+ return;
+ }
+
if (runKeyguardConfirmation(KEYGUARD_REQUEST)) {
return;
}
@@ -431,14 +448,24 @@
final GlifLayout layout = mContentView.findViewById(R.id.setup_wizard_layout);
final FooterBarMixin mixin = layout.getMixin(FooterBarMixin.class);
+ final Activity activity = getActivity();
mixin.setPrimaryButton(
- new FooterButton.Builder(getActivity())
+ new FooterButton.Builder(activity)
.setText(R.string.main_clear_button_text)
.setListener(mInitiateListener)
.setButtonType(ButtonType.OTHER)
.setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
- .build()
- );
+ .build());
+ if (Flags.showFactoryResetCancelButton()) {
+ mixin.setSecondaryButton(
+ new FooterButton.Builder(activity)
+ .setText(android.R.string.cancel)
+ .setListener(view -> activity.onBackPressed())
+ .setButtonType(ButtonType.CANCEL)
+ .setTheme(
+ com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
+ .build());
+ }
mInitiateButton = mixin.getPrimaryButton();
}
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index bc061e3..4c20231 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -16,16 +16,12 @@
package com.android.settings;
-import static android.provider.Settings.ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY;
-import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY;
-import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI;
-
+import static com.android.settings.activityembedding.EmbeddedDeepLinkUtils.tryStartMultiPaneDeepLink;
import static com.android.settings.applications.appinfo.AppButtonsPreferenceController.KEY_REMOVE_TASK_WHEN_FINISHING;
import android.app.ActionBar;
import android.app.ActivityManager;
import android.app.settings.SettingsEnums;
-import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
@@ -35,7 +31,6 @@
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.content.res.Resources.Theme;
import android.graphics.drawable.Icon;
@@ -67,7 +62,6 @@
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.core.gateway.SettingsGateway;
import com.android.settings.dashboard.DashboardFeatureProvider;
-import com.android.settings.homepage.DeepLinkHomepageActivityInternal;
import com.android.settings.homepage.SettingsHomepageActivity;
import com.android.settings.homepage.TopLevelSettings;
import com.android.settings.overlay.FeatureFactory;
@@ -278,7 +272,8 @@
getMetaData();
final Intent intent = getIntent();
- if (shouldShowTwoPaneDeepLink(intent) && tryStartTwoPaneDeepLink(intent)) {
+ if (shouldShowMultiPaneDeepLink(intent)
+ && tryStartMultiPaneDeepLink(this, intent, mHighlightMenuKey)) {
finish();
super.onCreate(savedState);
return;
@@ -415,73 +410,7 @@
intent.getBooleanExtra(EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, false);
}
- /**
- * Returns the deep link trampoline intent for large screen devices.
- */
- public static Intent getTrampolineIntent(Intent intent, String highlightMenuKey) {
- final Intent detailIntent = new Intent(intent);
- // Guard against the arbitrary Intent injection.
- if (detailIntent.getSelector() != null) {
- detailIntent.setSelector(null);
- }
- // It's a deep link intent, SettingsHomepageActivity will set SplitPairRule and start it.
- final Intent trampolineIntent = new Intent(ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY)
- .setPackage(Utils.SETTINGS_PACKAGE_NAME)
- .replaceExtras(detailIntent);
-
- // Relay detail intent data to prevent failure of Intent#ParseUri.
- // If Intent#getData() is not null, Intent#toUri will return an Uri which has the scheme of
- // Intent#getData() and it may not be the scheme of an Intent.
- trampolineIntent.putExtra(
- SettingsHomepageActivity.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_DATA,
- detailIntent.getData());
- detailIntent.setData(null);
-
- trampolineIntent.putExtra(EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI,
- detailIntent.toUri(Intent.URI_INTENT_SCHEME));
-
- trampolineIntent.putExtra(EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY,
- highlightMenuKey);
- trampolineIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
- return trampolineIntent;
- }
-
- private boolean tryStartTwoPaneDeepLink(Intent intent) {
- intent.putExtra(EXTRA_INITIAL_CALLING_PACKAGE, PasswordUtils.getCallingAppPackageName(
- getActivityToken()));
- final Intent trampolineIntent;
- if (intent.getBooleanExtra(EXTRA_IS_FROM_SLICE, false)) {
- // Get menu key for slice deep link case.
- final String highlightMenuKey = intent.getStringExtra(
- EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY);
- if (!TextUtils.isEmpty(highlightMenuKey)) {
- mHighlightMenuKey = highlightMenuKey;
- }
- trampolineIntent = getTrampolineIntent(intent, mHighlightMenuKey);
- trampolineIntent.setClass(this, DeepLinkHomepageActivityInternal.class);
- } else {
- trampolineIntent = getTrampolineIntent(intent, mHighlightMenuKey);
- }
-
- try {
- final UserManager um = getSystemService(UserManager.class);
- final UserInfo userInfo = um.getUserInfo(getUser().getIdentifier());
- if (userInfo.isManagedProfile()) {
- trampolineIntent.setClass(this, DeepLinkHomepageActivityInternal.class)
- .putExtra(EXTRA_USER_HANDLE, getUser());
- startActivityAsUser(trampolineIntent,
- um.getProfileParent(userInfo.id).getUserHandle());
- } else {
- startActivity(trampolineIntent);
- }
- } catch (ActivityNotFoundException e) {
- Log.e(LOG_TAG, "Deep link homepage is not available to show 2-pane UI");
- return false;
- }
- return true;
- }
-
- private boolean shouldShowTwoPaneDeepLink(Intent intent) {
+ private boolean shouldShowMultiPaneDeepLink(Intent intent) {
if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this)) {
return false;
}
diff --git a/src/com/android/settings/SettingsActivityUtil.kt b/src/com/android/settings/SettingsActivityUtil.kt
index c23bc18..4238ff8 100644
--- a/src/com/android/settings/SettingsActivityUtil.kt
+++ b/src/com/android/settings/SettingsActivityUtil.kt
@@ -28,7 +28,7 @@
import com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureDetails
import com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureSettings
import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
-import com.android.settings.spa.SpaActivity.Companion.startSpaActivityForApp
+import com.android.settings.spa.SpaAppBridgeActivity.Companion.getDestinationForApp
import com.android.settings.spa.app.specialaccess.AlarmsAndRemindersAppListProvider
import com.android.settings.spa.app.specialaccess.AllFilesAccessAppListProvider
import com.android.settings.spa.app.specialaccess.DisplayOverOtherAppsAppListProvider
@@ -72,17 +72,18 @@
@JvmStatic
fun Context.launchSpaActivity(fragmentName: String, intent: Intent): Boolean {
- if (!FeatureFlagUtils.isEnabled(this, FeatureFlagUtils.SETTINGS_ENABLE_SPA)) {
- return false
- }
- FRAGMENT_TO_SPA_DESTINATION_MAP[fragmentName]?.let { destination ->
- startSpaActivity(destination)
- return true
- }
- FRAGMENT_TO_SPA_APP_DESTINATION_PREFIX_MAP[fragmentName]?.let { appDestinationPrefix ->
- startSpaActivityForApp(appDestinationPrefix, intent)
- return true
+ if (FeatureFlagUtils.isEnabled(this, FeatureFlagUtils.SETTINGS_ENABLE_SPA)) {
+ getDestination(fragmentName, intent)?.let { destination ->
+ startSpaActivity(destination)
+ return true
+ }
}
return false
}
+
+ private fun getDestination(fragmentName: String, intent: Intent): String? =
+ FRAGMENT_TO_SPA_DESTINATION_MAP[fragmentName]
+ ?: FRAGMENT_TO_SPA_APP_DESTINATION_PREFIX_MAP[fragmentName]?.let { destinationPrefix ->
+ getDestinationForApp(destinationPrefix, intent)
+ }
}
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 278ede4..d7a276e 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -479,6 +479,7 @@
mDialogFragment.dismiss();
mDialogFragment = null;
}
+ getListView().clearOnScrollListeners();
}
super.onDetach();
}
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 29eabdb..eeca139 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -42,7 +42,6 @@
import android.content.pm.IntentFilterVerificationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.ResolveInfo;
import android.content.pm.UserInfo;
import android.content.pm.UserProperties;
import android.content.res.Configuration;
@@ -107,8 +106,6 @@
import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Lifecycle;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceGroup;
import com.android.internal.app.UnlaunchableAppActivity;
import com.android.internal.util.ArrayUtils;
@@ -180,61 +177,6 @@
"delete_all_app_clones_enabled";
/**
- * Finds a matching activity for a preference's intent. If a matching
- * activity is not found, it will remove the preference.
- *
- * @param context The context.
- * @param parentPreferenceGroup The preference group that contains the
- * preference whose intent is being resolved.
- * @param preferenceKey The key of the preference whose intent is being
- * resolved.
- * @param flags 0 or one or more of
- * {@link #UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY}
- * .
- * @return Whether an activity was found. If false, the preference was
- * removed.
- */
- public static boolean updatePreferenceToSpecificActivityOrRemove(Context context,
- PreferenceGroup parentPreferenceGroup, String preferenceKey, int flags) {
-
- final Preference preference = parentPreferenceGroup.findPreference(preferenceKey);
- if (preference == null) {
- return false;
- }
-
- final Intent intent = preference.getIntent();
- if (intent != null) {
- // Find the activity that is in the system image
- final PackageManager pm = context.getPackageManager();
- final List<ResolveInfo> list = pm.queryIntentActivities(intent, 0);
- final int listSize = list.size();
- for (int i = 0; i < listSize; i++) {
- final ResolveInfo resolveInfo = list.get(i);
- if ((resolveInfo.activityInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM)
- != 0) {
-
- // Replace the intent with this specific activity
- preference.setIntent(new Intent().setClassName(
- resolveInfo.activityInfo.packageName,
- resolveInfo.activityInfo.name));
-
- if ((flags & UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY) != 0) {
- // Set the preference title to the activity's label
- preference.setTitle(resolveInfo.loadLabel(pm));
- }
-
- return true;
- }
- }
- }
-
- // Did not find a matching activity, so remove the preference
- parentPreferenceGroup.removePreference(preference);
-
- return false;
- }
-
- /**
* Returns true if Monkey is running.
*/
public static boolean isMonkeyRunning() {
@@ -1268,7 +1210,11 @@
UserProperties userProperties = userManager.getUserProperties(userHandle);
if (userProperties.getShowInSettings() == UserProperties.SHOW_IN_SETTINGS_SEPARATE) {
if (Flags.allowPrivateProfile() && userProperties.getHideInSettingsInQuietMode()) {
- return !userManager.isQuietModeEnabled(userHandle);
+ if (!userManager.isQuietModeEnabled(userHandle)) {
+ return true;
+ } else {
+ continue;
+ }
}
return true;
}
diff --git a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
index 3e3674c..0dbf05e 100644
--- a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
+++ b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
@@ -32,7 +32,6 @@
import android.os.Bundle;
import android.os.UserHandle;
import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
import android.util.Log;
import android.view.accessibility.AccessibilityManager;
@@ -112,9 +111,7 @@
return new LaunchFragmentArguments(destination, /* arguments= */ null);
}
- if (ACCESSIBILITY_HEARING_AIDS_COMPONENT_NAME.equals(componentName)
- && FeatureFlagUtils.isEnabled(getContext(),
- FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE)) {
+ if (ACCESSIBILITY_HEARING_AIDS_COMPONENT_NAME.equals(componentName)) {
final String destination = AccessibilityHearingAidsFragment.class.getName();
return new LaunchFragmentArguments(destination, /* arguments= */ null);
}
diff --git a/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java
index 3aad141..fab6e47 100644
--- a/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java
@@ -25,9 +25,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.os.Bundle;
import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.FragmentManager;
@@ -35,7 +33,6 @@
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
-import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.SubSettingLauncher;
import com.android.settingslib.bluetooth.BluetoothCallback;
@@ -116,17 +113,7 @@
@Override
public boolean handlePreferenceTreeClick(Preference preference) {
if (TextUtils.equals(preference.getKey(), getPreferenceKey())) {
- final CachedBluetoothDevice device = mHelper.getConnectedHearingAidDevice();
- if (FeatureFlagUtils.isEnabled(mContext,
- FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE)) {
- launchHearingAidPage();
- return true;
- }
- if (device == null) {
- launchHearingAidInstructionDialog();
- } else {
- launchBluetoothDeviceDetailSetting(device);
- }
+ launchHearingAidPage();
return true;
}
return false;
@@ -215,29 +202,6 @@
mHearingAidPreference = preference;
}
- @VisibleForTesting
- void launchBluetoothDeviceDetailSetting(final CachedBluetoothDevice device) {
- if (device == null) {
- return;
- }
- final Bundle args = new Bundle();
- args.putString(BluetoothDeviceDetailsFragment.KEY_DEVICE_ADDRESS,
- device.getDevice().getAddress());
-
- new SubSettingLauncher(mContext)
- .setDestination(BluetoothDeviceDetailsFragment.class.getName())
- .setArguments(args)
- .setTitleRes(R.string.device_details_title)
- .setSourceMetricsCategory(getMetricsCategory())
- .launch();
- }
-
- @VisibleForTesting
- void launchHearingAidInstructionDialog() {
- HearingAidDialogFragment fragment = HearingAidDialogFragment.newInstance();
- fragment.show(mFragmentManager, HearingAidDialogFragment.class.toString());
- }
-
private void launchHearingAidPage() {
new SubSettingLauncher(mContext)
.setDestination(AccessibilityHearingAidsFragment.class.getName())
diff --git a/src/com/android/settings/accessibility/AccessibilityServiceWarning.java b/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
index e8ed85c..fb50ef1 100644
--- a/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
+++ b/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
@@ -67,7 +67,11 @@
void uninstallPackage();
}
- /** Returns a {@link Dialog} to be shown to confirm that they want to enable a service. */
+ /**
+ * Returns a {@link Dialog} to be shown to confirm that they want to enable a service.
+ * @deprecated Use {@link com.android.internal.accessibility.dialog.AccessibilityServiceWarning}
+ */
+ @Deprecated
public static Dialog createCapabilitiesDialog(@NonNull Context context,
@NonNull AccessibilityServiceInfo info, @NonNull View.OnClickListener listener,
@NonNull UninstallActionPerformer performer) {
@@ -135,9 +139,6 @@
return new AlertDialog.Builder(context)
.setTitle(context.getString(R.string.disable_service_title, serviceName))
- .setMessage(context.getString(R.string.disable_service_message,
- context.getString(R.string.accessibility_dialog_button_stop),
- serviceName))
.setCancelable(true)
.setPositiveButton(R.string.accessibility_dialog_button_stop, listener)
.setNegativeButton(R.string.accessibility_dialog_button_cancel, listener)
diff --git a/src/com/android/settings/accessibility/CaptioningTogglePreferenceController.java b/src/com/android/settings/accessibility/CaptioningTogglePreferenceController.java
index a9d2cdf..10e1fca 100644
--- a/src/com/android/settings/accessibility/CaptioningTogglePreferenceController.java
+++ b/src/com/android/settings/accessibility/CaptioningTogglePreferenceController.java
@@ -17,18 +17,18 @@
package com.android.settings.accessibility;
import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.widget.SettingsMainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
/** Preference controller for captioning more options. */
public class CaptioningTogglePreferenceController extends TogglePreferenceController
- implements OnMainSwitchChangeListener {
+ implements OnCheckedChangeListener {
private final CaptionHelper mCaptionHelper;
@@ -63,7 +63,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked != isChecked()) {
setChecked(isChecked);
}
diff --git a/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
index 0c1876f..1ecb94a 100644
--- a/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
@@ -64,9 +64,24 @@
@Override
void onDialogButtonFromShortcutToggleClicked(View view) {
super.onDialogButtonFromShortcutToggleClicked(view);
- if (view.getId() == R.id.permission_enable_allow_button) {
- AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName,
- true);
+ if (!android.view.accessibility.Flags.deduplicateAccessibilityWarningDialog()) {
+ if (view.getId() == R.id.permission_enable_allow_button) {
+ AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName,
+ true);
+ }
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * Enables accessibility service when user clicks permission allow button.
+ */
+ @Override
+ void onAllowButtonFromShortcutToggleClicked() {
+ super.onAllowButtonFromShortcutToggleClicked();
+ if (android.view.accessibility.Flags.deduplicateAccessibilityWarningDialog()) {
+ AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName, true);
}
}
diff --git a/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java b/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java
index 6bd8747..f268a40 100644
--- a/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java
+++ b/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java
@@ -16,6 +16,7 @@
package com.android.settings.accessibility;
+import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.os.Bundle;
@@ -33,6 +34,8 @@
import com.android.settingslib.core.lifecycle.events.OnDestroy;
import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState;
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
import java.util.Optional;
/**
@@ -207,6 +210,13 @@
return;
}
+ if (Flags.removeQsTooltipInSuw()
+ && mContext instanceof Activity
+ && WizardManagerHelper.isAnySetupWizard(((Activity) mContext).getIntent())) {
+ // Don't show QuickSettingsTooltip in Setup Wizard
+ return;
+ }
+
if (!mNeedsQSTooltipReshow && AccessibilityQuickSettingUtils.hasValueInSharedPreferences(
mContext, tileComponentName)) {
// Returns if quick settings tooltip only show once.
diff --git a/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java b/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java
index 450aeca..a90af21 100644
--- a/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java
@@ -62,7 +62,7 @@
static final String BOLD_TEXT_KEY = "toggle_force_bold_text";
static final String HIGH_TEXT_CONTRAST_KEY = "toggle_high_text_contrast_preference";
static final String RESET_KEY = "reset";
- private static final String PREVIEW_KEY = "preview";
+ static final String PREVIEW_KEY = "preview";
private static final String NEED_RESET_SETTINGS = "need_reset_settings";
private static final String LAST_PREVIEW_INDEX = "last_preview_index";
private static final int UNKNOWN_INDEX = -1;
diff --git a/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizard.java
index 783696d..11be73c 100644
--- a/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizard.java
@@ -29,6 +29,7 @@
import androidx.recyclerview.widget.RecyclerView;
+import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settingslib.Utils;
@@ -42,6 +43,24 @@
public class TextReadingPreferenceFragmentForSetupWizard extends TextReadingPreferenceFragment {
@Override
+ public void addPreferencesFromResource(int preferencesResId) {
+ super.addPreferencesFromResource(preferencesResId);
+
+ adjustPreviewPaddingsForSetupWizard();
+ }
+
+ @VisibleForTesting
+ void adjustPreviewPaddingsForSetupWizard() {
+ TextReadingPreviewPreference textReadingPreviewPreference = findPreference(PREVIEW_KEY);
+ textReadingPreviewPreference.setLayoutMinHorizontalPadding(
+ getContext().getResources().getDimensionPixelSize(
+ R.dimen.text_reading_preview_layout_padding_horizontal_min_suw));
+ textReadingPreviewPreference.setBackgroundMinHorizontalPadding(
+ getContext().getResources().getDimensionPixelSize(
+ R.dimen.text_reading_preview_background_padding_horizontal_min_suw));
+ }
+
+ @Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
diff --git a/src/com/android/settings/accessibility/TextReadingPreviewPreference.java b/src/com/android/settings/accessibility/TextReadingPreviewPreference.java
index c4a9489..a9e2dce 100644
--- a/src/com/android/settings/accessibility/TextReadingPreviewPreference.java
+++ b/src/com/android/settings/accessibility/TextReadingPreviewPreference.java
@@ -19,11 +19,14 @@
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
+import android.widget.FrameLayout;
+import android.widget.LinearLayout;
import androidx.preference.Preference;
import androidx.preference.PreferenceViewHolder;
import androidx.viewpager.widget.ViewPager;
+import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.Preconditions;
import com.android.settings.R;
import com.android.settings.display.PreviewPagerAdapter;
@@ -37,6 +40,9 @@
private int mLastLayerIndex;
private PreviewPagerAdapter mPreviewAdapter;
+ private int mLayoutMinHorizontalPadding = 0;
+ private int mBackgroundMinHorizontalPadding = 0;
+
private final ViewPager.OnPageChangeListener mPageChangeListener =
new ViewPager.OnPageChangeListener() {
@Override
@@ -80,6 +86,10 @@
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
+ FrameLayout previewLayout = (FrameLayout) holder.itemView;
+ LinearLayout backgroundView = previewLayout.findViewById(R.id.preview_background);
+ adjustPaddings(previewLayout, backgroundView);
+
final ViewPager viewPager = (ViewPager) holder.findViewById(R.id.preview_pager);
viewPager.addOnPageChangeListener(mPageChangeListener);
final DotsPageIndicator pageIndicator =
@@ -88,6 +98,36 @@
updatePagerAndIndicator(viewPager, pageIndicator);
}
+ /**
+ * Set the minimum preview layout horizontal inner padding.
+ */
+ void setLayoutMinHorizontalPadding(int layoutMinHorizontalPadding) {
+ mLayoutMinHorizontalPadding = layoutMinHorizontalPadding;
+ }
+
+ /**
+ * Set the minimum preview background view horizontal inner padding.
+ */
+ void setBackgroundMinHorizontalPadding(int backgroundMinHorizontalPadding) {
+ mBackgroundMinHorizontalPadding = backgroundMinHorizontalPadding;
+ }
+
+ @VisibleForTesting
+ void adjustPaddings(FrameLayout previewLayout, LinearLayout backgroundView) {
+ previewLayout.setPadding(
+ Math.max(previewLayout.getPaddingStart(), mLayoutMinHorizontalPadding),
+ previewLayout.getPaddingTop(),
+ Math.max(previewLayout.getPaddingEnd(), mLayoutMinHorizontalPadding),
+ previewLayout.getPaddingBottom()
+ );
+ backgroundView.setPadding(
+ Math.max(backgroundView.getPaddingStart(), mBackgroundMinHorizontalPadding),
+ backgroundView.getPaddingTop(),
+ Math.max(backgroundView.getPaddingEnd(), mBackgroundMinHorizontalPadding),
+ backgroundView.getPaddingBottom()
+ );
+ }
+
void setPreviewAdapter(PreviewPagerAdapter previewAdapter) {
if (previewAdapter != mPreviewAdapter) {
mPreviewAdapter = previewAdapter;
@@ -142,6 +182,12 @@
}
private void init() {
+ // set up the minimum horizontal paddings
+ setLayoutMinHorizontalPadding(getContext().getResources().getDimensionPixelSize(
+ R.dimen.text_reading_preview_layout_padding_horizontal_min));
+ setBackgroundMinHorizontalPadding(getContext().getResources().getDimensionPixelSize(
+ R.dimen.text_reading_preview_background_padding_horizontal_min));
+
setLayoutResource(R.layout.accessibility_text_reading_preview);
}
diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
index 28b80ba..213f108 100644
--- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
@@ -41,7 +41,7 @@
import android.view.MenuInflater;
import android.view.View;
import android.view.accessibility.AccessibilityManager;
-import android.widget.Switch;
+import android.widget.CompoundButton;
import androidx.annotation.Nullable;
@@ -157,28 +157,55 @@
if (info == null) {
return null;
}
- mWarningDialog = AccessibilityServiceWarning
- .createCapabilitiesDialog(getPrefContext(), info,
- this::onDialogButtonFromEnableToggleClicked,
- this::onDialogButtonFromUninstallClicked);
+ if (android.view.accessibility.Flags.deduplicateAccessibilityWarningDialog()) {
+ mWarningDialog =
+ com.android.internal.accessibility.dialog.AccessibilityServiceWarning
+ .createAccessibilityServiceWarningDialog(getPrefContext(), info,
+ v -> onAllowButtonFromEnableToggleClicked(),
+ v -> onDenyButtonFromEnableToggleClicked(),
+ v -> onDialogButtonFromUninstallClicked());
+ } else {
+ mWarningDialog = AccessibilityServiceWarning
+ .createCapabilitiesDialog(getPrefContext(), info,
+ this::onDialogButtonFromEnableToggleClicked,
+ this::onDialogButtonFromUninstallClicked);
+ }
return mWarningDialog;
case DialogEnums.ENABLE_WARNING_FROM_SHORTCUT_TOGGLE:
if (info == null) {
return null;
}
- mWarningDialog = AccessibilityServiceWarning
- .createCapabilitiesDialog(getPrefContext(), info,
- this::onDialogButtonFromShortcutToggleClicked,
- this::onDialogButtonFromUninstallClicked);
+ if (android.view.accessibility.Flags.deduplicateAccessibilityWarningDialog()) {
+ mWarningDialog =
+ com.android.internal.accessibility.dialog.AccessibilityServiceWarning
+ .createAccessibilityServiceWarningDialog(getPrefContext(), info,
+ v -> onAllowButtonFromShortcutToggleClicked(),
+ v -> onDenyButtonFromShortcutToggleClicked(),
+ v -> onDialogButtonFromUninstallClicked());
+ } else {
+ mWarningDialog = AccessibilityServiceWarning
+ .createCapabilitiesDialog(getPrefContext(), info,
+ this::onDialogButtonFromShortcutToggleClicked,
+ this::onDialogButtonFromUninstallClicked);
+ }
return mWarningDialog;
case DialogEnums.ENABLE_WARNING_FROM_SHORTCUT:
if (info == null) {
return null;
}
- mWarningDialog = AccessibilityServiceWarning
- .createCapabilitiesDialog(getPrefContext(), info,
- this::onDialogButtonFromShortcutClicked,
- this::onDialogButtonFromUninstallClicked);
+ if (android.view.accessibility.Flags.deduplicateAccessibilityWarningDialog()) {
+ mWarningDialog =
+ com.android.internal.accessibility.dialog.AccessibilityServiceWarning
+ .createAccessibilityServiceWarningDialog(getPrefContext(), info,
+ v -> onAllowButtonFromShortcutClicked(),
+ v -> onDenyButtonFromShortcutClicked(),
+ v -> onDialogButtonFromUninstallClicked());
+ } else {
+ mWarningDialog = AccessibilityServiceWarning
+ .createCapabilitiesDialog(getPrefContext(), info,
+ this::onDialogButtonFromShortcutClicked,
+ this::onDialogButtonFromUninstallClicked);
+ }
return mWarningDialog;
case DialogEnums.DISABLE_WARNING_FROM_TOGGLE:
if (info == null) {
@@ -294,7 +321,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked != isAccessibilityServiceEnabled()) {
onPreferenceClick(isChecked);
}
@@ -459,7 +486,7 @@
}
}
- private void onAllowButtonFromShortcutToggleClicked() {
+ void onAllowButtonFromShortcutToggleClicked() {
mShortcutPreference.setChecked(true);
final int shortcutTypes = retrieveUserShortcutType(getPrefContext(),
diff --git a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
index 5defe98..ccba9e7f 100644
--- a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
@@ -25,6 +25,7 @@
import android.app.settings.SettingsEnums;
import android.content.ComponentName;
import android.content.ContentResolver;
+import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Settings;
@@ -37,17 +38,22 @@
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.widget.SettingsMainSwitchPreference;
import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.search.SearchIndexableRaw;
import java.util.ArrayList;
import java.util.List;
-/** Settings page for color inversion. */
+/**
+ * Settings page for color inversion.
+ */
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class ToggleColorInversionPreferenceFragment extends ToggleFeaturePreferenceFragment {
private static final String TAG = "ToggleColorInversionPreferenceFragment";
private static final String ENABLED = Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED;
+ private static final String KEY_SHORTCUT_PREFERENCE = "color_inversion_shortcut_key";
+
@Override
protected void registerKeysToObserverCallback(
AccessibilitySettingsContentObserver contentObserver) {
@@ -67,9 +73,9 @@
mHtmlDescription = getText(R.string.accessibility_display_inversion_preference_subtitle);
mTopIntroTitle = getText(R.string.accessibility_display_inversion_preference_intro_text);
mImageUri = new Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
- .authority(getPrefContext().getPackageName())
- .appendPath(String.valueOf(R.raw.a11y_color_inversion_banner))
- .build();
+ .authority(getPrefContext().getPackageName())
+ .appendPath(String.valueOf(R.raw.a11y_color_inversion_banner))
+ .build();
final View view = super.onCreateView(inflater, container, savedInstanceState);
updateFooterPreference();
return view;
@@ -159,7 +165,7 @@
@Override
int getUserShortcutTypes() {
return AccessibilityUtil.getUserShortcutTypesFromSettings(getPrefContext(),
- mComponentName);
+ mComponentName);
}
@Override
@@ -170,8 +176,8 @@
@Override
CharSequence getTileTooltipContent(@QuickSettingsTooltipType int type) {
return getText(type == QuickSettingsTooltipType.GUIDE_TO_EDIT
- ? R.string.accessibility_color_inversion_qs_tooltip_content
- : R.string.accessibility_color_inversion_auto_added_qs_tooltip_content);
+ ? R.string.accessibility_color_inversion_qs_tooltip_content
+ : R.string.accessibility_color_inversion_auto_added_qs_tooltip_content);
}
@Override
@@ -184,5 +190,17 @@
}
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider(R.xml.accessibility_color_inversion_settings);
+ new BaseSearchIndexProvider(R.xml.accessibility_color_inversion_settings) {
+ @Override
+ public List<SearchIndexableRaw> getRawDataToIndex(Context context,
+ boolean enabled) {
+ final List<SearchIndexableRaw> rawData = new ArrayList<>();
+ SearchIndexableRaw raw = new SearchIndexableRaw(context);
+ raw.key = KEY_SHORTCUT_PREFERENCE;
+ raw.title = context.getString(
+ R.string.accessibility_display_inversion_shortcut_title);
+ rawData.add(raw);
+ return rawData;
+ }
+ };
}
diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
index 3dc0b47..c76bb8b 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -44,8 +44,9 @@
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener;
import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
-import android.widget.Switch;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
@@ -64,7 +65,6 @@
import com.android.settings.widget.SettingsMainSwitchBar;
import com.android.settings.widget.SettingsMainSwitchPreference;
import com.android.settingslib.widget.IllustrationPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import com.android.settingslib.widget.TopIntroPreference;
import com.google.android.setupcompat.util.WizardManagerHelper;
@@ -78,7 +78,7 @@
* and dialog management.
*/
public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment
- implements ShortcutPreference.OnClickCallback, OnMainSwitchChangeListener {
+ implements ShortcutPreference.OnClickCallback, OnCheckedChangeListener {
public static final String KEY_GENERAL_CATEGORY = "general_categories";
public static final String KEY_SHORTCUT_PREFERENCE = "shortcut_preference";
@@ -328,7 +328,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
onPreferenceToggled(mPreferenceKey, isChecked);
}
@@ -905,6 +905,14 @@
return;
}
+ Activity activity = getActivity();
+ if (com.android.settings.accessibility.Flags.removeQsTooltipInSuw()
+ && activity != null
+ && WizardManagerHelper.isAnySetupWizard(activity.getIntent())) {
+ // Don't show QuickSettingsTooltip in Setup Wizard
+ return;
+ }
+
if (!mNeedsQSTooltipReshow && AccessibilityQuickSettingUtils.hasValueInSharedPreferences(
getContext(), tileComponentName)) {
// Returns if quick settings tooltip only show once.
diff --git a/src/com/android/settings/accounts/AccountPreferenceController.java b/src/com/android/settings/accounts/AccountPreferenceController.java
index 33b3888..b2cdb77 100644
--- a/src/com/android/settings/accounts/AccountPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountPreferenceController.java
@@ -45,6 +45,7 @@
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
+import android.os.Flags;
import android.os.UserHandle;
import android.os.UserManager;
import android.text.BidiFormatter;
@@ -100,7 +101,6 @@
private SparseArray<ProfileData> mProfiles = new SparseArray<ProfileData>();
private ManagedProfileBroadcastReceiver mManagedProfileBroadcastReceiver =
new ManagedProfileBroadcastReceiver();
- private Preference mProfileNotAvailablePreference;
private String[] mAuthorities;
private int mAuthoritiesCount = 0;
private DashboardFragment mFragment;
@@ -297,13 +297,22 @@
} else {
List<UserInfo> profiles = mUm.getProfiles(UserHandle.myUserId());
for (UserInfo profile : profiles) {
- if ((profile.isManagedProfile()
- && (mType & ProfileSelectFragment.ProfileType.WORK) != 0)
- || (profile.isPrivateProfile()
+ // Check if this controller can handle this profile - e.g. if this controller's
+ // mType has the WORK flag set and this profile is a managed profile.
+ // If there are no tabs then this controller will support all profile types -
+ // - ProfileType.ALL.
+ // At the same time we should check the user property to make sure if this profile
+ // should be shown or not.
+ if (((profile.isManagedProfile()
+ && (mType & ProfileSelectFragment.ProfileType.WORK) != 0)
+ || (Flags.allowPrivateProfile()
+ && profile.isPrivateProfile()
&& (mType & ProfileSelectFragment.ProfileType.PRIVATE) != 0)
|| (!profile.isManagedProfile()
- && !profile.isPrivateProfile()
- && (mType & ProfileSelectFragment.ProfileType.PERSONAL) != 0)) {
+ && !(Flags.allowPrivateProfile() && profile.isPrivateProfile())
+ && (mType & ProfileSelectFragment.ProfileType.PERSONAL) != 0))
+ && !(mUm.getUserProperties(profile.getUserHandle())
+ .getHideInSettingsInQuietMode() && profile.isQuietModeEnabled())) {
updateProfileUi(profile);
}
}
@@ -531,18 +540,19 @@
} else {
profileData.preferenceGroup.removeAll();
// Put a label instead of the accounts list
- if (mProfileNotAvailablePreference == null) {
- mProfileNotAvailablePreference =
- new Preference(mFragment.getPreferenceManager().getContext());
- }
- mProfileNotAvailablePreference.setEnabled(false);
- mProfileNotAvailablePreference.setIcon(R.drawable.empty_icon);
- mProfileNotAvailablePreference.setTitle(null);
- mProfileNotAvailablePreference.setSummary(
- mDpm.getResources().getString(
- WORK_PROFILE_NOT_AVAILABLE, () -> mContext.getString(
- R.string.managed_profile_not_available_label)));
- profileData.preferenceGroup.addPreference(mProfileNotAvailablePreference);
+ final Preference profileNotAvailablePreference =
+ new Preference(mFragment.getPreferenceManager().getContext());
+ profileNotAvailablePreference.setEnabled(false);
+ profileNotAvailablePreference.setIcon(R.drawable.empty_icon);
+ profileNotAvailablePreference.setTitle(null);
+ profileNotAvailablePreference.setSummary(
+ mDpm.getResources()
+ .getString(
+ WORK_PROFILE_NOT_AVAILABLE,
+ () ->
+ mContext.getString(
+ R.string.managed_profile_not_available_label)));
+ profileData.preferenceGroup.addPreference(profileNotAvailablePreference);
}
if (profileData.removeWorkProfilePreference != null) {
profileData.preferenceGroup.addPreference(profileData.removeWorkProfilePreference);
diff --git a/src/com/android/settings/accounts/ManagedProfileQuietModeEnabler.java b/src/com/android/settings/accounts/ManagedProfileQuietModeEnabler.java
index 989be09..df30637 100644
--- a/src/com/android/settings/accounts/ManagedProfileQuietModeEnabler.java
+++ b/src/com/android/settings/accounts/ManagedProfileQuietModeEnabler.java
@@ -16,6 +16,7 @@
package com.android.settings.accounts;
+import android.app.admin.flags.Flags;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -58,7 +59,14 @@
}
public void setQuietModeEnabled(boolean enabled) {
- if (mManagedProfile != null) {
+ if (mManagedProfile == null) {
+ return;
+ }
+ if (Flags.quietModeCredentialBugFix()) {
+ if (isQuietModeEnabled() != enabled) {
+ mUserManager.requestQuietModeEnabled(enabled, mManagedProfile);
+ }
+ } else {
mUserManager.requestQuietModeEnabled(enabled, mManagedProfile);
}
}
diff --git a/src/com/android/settings/accounts/WorkModePreferenceController.java b/src/com/android/settings/accounts/WorkModePreferenceController.java
index 46440f6..2aea27d 100644
--- a/src/com/android/settings/accounts/WorkModePreferenceController.java
+++ b/src/com/android/settings/accounts/WorkModePreferenceController.java
@@ -16,7 +16,8 @@
package com.android.settings.accounts;
import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.lifecycle.DefaultLifecycleObserver;
import androidx.lifecycle.LifecycleOwner;
@@ -27,14 +28,13 @@
import com.android.settings.core.BasePreferenceController;
import com.android.settings.slices.SliceData;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import org.jetbrains.annotations.NotNull;
/** Controller for "Work apps" toggle that allows the user to enable/disable quiet mode. */
public class WorkModePreferenceController extends BasePreferenceController
- implements OnMainSwitchChangeListener, DefaultLifecycleObserver,
+ implements OnCheckedChangeListener, DefaultLifecycleObserver,
ManagedProfileQuietModeEnabler.QuietModeChangeListener {
private final ManagedProfileQuietModeEnabler mQuietModeEnabler;
@@ -68,8 +68,11 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mQuietModeEnabler.setQuietModeEnabled(!isChecked);
+ if (android.app.admin.flags.Flags.quietModeCredentialBugFix()) {
+ updateState(mPreference);
+ }
}
@Override
diff --git a/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java b/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
index 67d56e0..74a9673 100644
--- a/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
+++ b/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
@@ -53,7 +53,7 @@
* @see androidx.window.embedding.SplitController.SplitSupportStatus#SPLIT_UNAVAILABLE
*/
private static final boolean SHOULD_ENABLE_LARGE_SCREEN_OPTIMIZATION =
- SystemProperties.getBoolean("persist.settings.large_screen_opt.enabled", true);
+ SystemProperties.getBoolean("persist.settings.large_screen_opt.enabled", false);
private static final String TAG = "ActivityEmbeddingUtils";
diff --git a/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtils.kt b/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtils.kt
new file mode 100644
index 0000000..2bc8cda
--- /dev/null
+++ b/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtils.kt
@@ -0,0 +1,113 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.activityembedding
+
+import android.app.Activity
+import android.content.ActivityNotFoundException
+import android.content.Context
+import android.content.Intent
+import android.provider.Settings
+import android.util.Log
+import com.android.settings.SettingsActivity
+import com.android.settings.Utils
+import com.android.settings.homepage.DeepLinkHomepageActivityInternal
+import com.android.settings.homepage.SettingsHomepageActivity
+import com.android.settings.password.PasswordUtils
+import com.android.settingslib.spaprivileged.framework.common.userManager
+
+object EmbeddedDeepLinkUtils {
+ private const val TAG = "EmbeddedDeepLinkUtils"
+
+ @JvmStatic
+ fun Activity.tryStartMultiPaneDeepLink(
+ intent: Intent,
+ highlightMenuKey: String? = null,
+ ): Boolean {
+ intent.putExtra(
+ SettingsActivity.EXTRA_INITIAL_CALLING_PACKAGE,
+ PasswordUtils.getCallingAppPackageName(activityToken),
+ )
+ val trampolineIntent: Intent
+ if (intent.getBooleanExtra(SettingsActivity.EXTRA_IS_FROM_SLICE, false)) {
+ // Get menu key for slice deep link case.
+ var sliceHighlightMenuKey: String? = intent.getStringExtra(
+ Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY
+ )
+ if (sliceHighlightMenuKey.isNullOrEmpty()) {
+ sliceHighlightMenuKey = highlightMenuKey
+ }
+ trampolineIntent = getTrampolineIntent(intent, sliceHighlightMenuKey)
+ trampolineIntent.setClass(this, DeepLinkHomepageActivityInternal::class.java)
+ } else {
+ trampolineIntent = getTrampolineIntent(intent, highlightMenuKey)
+ }
+ return startTrampolineIntent(trampolineIntent)
+ }
+
+ /**
+ * Returns the deep link trampoline intent for large screen devices.
+ */
+ @JvmStatic
+ fun getTrampolineIntent(intent: Intent, highlightMenuKey: String?): Intent {
+ val detailIntent = Intent(intent)
+ // Guard against the arbitrary Intent injection.
+ if (detailIntent.selector != null) {
+ detailIntent.setSelector(null)
+ }
+ // It's a deep link intent, SettingsHomepageActivity will set SplitPairRule and start it.
+ return Intent(Settings.ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY).apply {
+ setPackage(Utils.SETTINGS_PACKAGE_NAME)
+ replaceExtras(detailIntent)
+
+ // Relay detail intent data to prevent failure of Intent#ParseUri.
+ // If Intent#getData() is not null, Intent#toUri will return an Uri which has the scheme
+ // of Intent#getData() and it may not be the scheme of an Intent.
+ putExtra(
+ SettingsHomepageActivity.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_DATA,
+ detailIntent.data
+ )
+ detailIntent.setData(null)
+ putExtra(
+ Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI,
+ detailIntent.toUri(Intent.URI_INTENT_SCHEME)
+ )
+ putExtra(
+ Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY,
+ highlightMenuKey
+ )
+ addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT)
+ }
+ }
+
+ private fun Context.startTrampolineIntent(trampolineIntent: Intent): Boolean = try {
+ val userInfo = userManager.getUserInfo(user.identifier)
+ if (userInfo.isManagedProfile) {
+ trampolineIntent.setClass(this, DeepLinkHomepageActivityInternal::class.java)
+ .putExtra(SettingsActivity.EXTRA_USER_HANDLE, user)
+ startActivityAsUser(
+ trampolineIntent,
+ userManager.getProfileParent(userInfo.id).userHandle
+ )
+ } else {
+ startActivity(trampolineIntent)
+ }
+ true
+ } catch (e: ActivityNotFoundException) {
+ Log.e(TAG, "Deep link homepage is not available to show 2-pane UI")
+ false
+ }
+}
diff --git a/src/com/android/settings/applications/AppStorageSettings.java b/src/com/android/settings/applications/AppStorageSettings.java
index 807f043..e45657f 100644
--- a/src/com/android/settings/applications/AppStorageSettings.java
+++ b/src/com/android/settings/applications/AppStorageSettings.java
@@ -53,6 +53,7 @@
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.deviceinfo.StorageWizardMoveConfirm;
+import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.applications.ApplicationsState.Callbacks;
@@ -359,6 +360,8 @@
mButtonsPref.setButton1Enabled(false);
// Invoke uninstall or clear user data based on sysPackage
String packageName = mAppEntry.info.packageName;
+ DynamicDenylistManager.getInstance(getContext())
+ .resetDenylistIfNeeded(packageName, /* force= */ false);
Log.i(TAG, "Clearing user data for package : " + packageName);
if (mClearDataObserver == null) {
mClearDataObserver = new ClearUserDataObserver();
diff --git a/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java b/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java
index cebb4f7..72f7543 100644
--- a/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java
+++ b/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java
@@ -35,7 +35,8 @@
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.TextView;
import androidx.annotation.VisibleForTesting;
@@ -51,7 +52,6 @@
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.widget.FooterPreference;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import java.util.HashMap;
import java.util.List;
@@ -62,7 +62,7 @@
/** The page of the Open by default */
public class AppLaunchSettings extends AppInfoBase implements
- Preference.OnPreferenceChangeListener, OnMainSwitchChangeListener {
+ Preference.OnPreferenceChangeListener, OnCheckedChangeListener {
private static final String TAG = "AppLaunchSettings";
// Preference keys
private static final String MAIN_SWITCH_PREF_KEY = "open_by_default_supported_links";
@@ -168,7 +168,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
IntentPickerUtils.logd("onSwitchChanged: isChecked=" + isChecked);
if (mMainSwitchPreference != null) { //mMainSwitchPreference synced with Switch
mMainSwitchPreference.setChecked(isChecked);
diff --git a/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java b/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java
index 6da3e52..b2b7512 100644
--- a/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java
+++ b/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java
@@ -39,6 +39,7 @@
import com.android.settings.R;
import com.android.settings.fuelgauge.BatteryOptimizeUtils;
+import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
import java.util.Arrays;
import java.util.List;
@@ -155,6 +156,8 @@
}
mAom.resetAllModes();
BatteryOptimizeUtils.resetAppOptimizationMode(mContext, mIPm, mAom);
+ DynamicDenylistManager.getInstance(mContext)
+ .resetDenylistIfNeeded(/* packageName= */ null, /* force= */ true);
final int[] restrictedUids = mNpm.getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
final int currentUserId = ActivityManager.getCurrentUser();
for (int uid : restrictedUids) {
diff --git a/src/com/android/settings/backup/AutoRestorePreferenceController.java b/src/com/android/settings/backup/AutoRestorePreferenceController.java
index bf63e25..1394ce1 100644
--- a/src/com/android/settings/backup/AutoRestorePreferenceController.java
+++ b/src/com/android/settings/backup/AutoRestorePreferenceController.java
@@ -25,7 +25,7 @@
import android.util.Log;
import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
@@ -79,7 +79,7 @@
backupManager.setAutoRestore(nextValue);
result = true;
} catch (RemoteException e) {
- ((SwitchPreference) mPreference).setChecked(!nextValue);
+ ((TwoStatePreference) mPreference).setChecked(!nextValue);
Log.e(TAG, "Error can't set setAutoRestore", e);
}
diff --git a/src/com/android/settings/backup/SettingsBackupHelper.java b/src/com/android/settings/backup/SettingsBackupHelper.java
index ad7e314..04935a7 100644
--- a/src/com/android/settings/backup/SettingsBackupHelper.java
+++ b/src/com/android/settings/backup/SettingsBackupHelper.java
@@ -26,17 +26,21 @@
import android.os.ParcelFileDescriptor;
import com.android.settings.fuelgauge.BatteryBackupHelper;
+import com.android.settings.onboarding.OnboardingFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
import com.android.settings.shortcut.CreateShortcutPreferenceController;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
+import com.android.settings.flags.Flags;
/**
* Backup agent for Settings APK
*/
public class SettingsBackupHelper extends BackupAgentHelper {
private static final String PREF_LOCALE_NOTIFICATION = "localeNotificationSharedPref";
+ public static final String SOUND_BACKUP_HELPER = "SoundSettingsBackup";
@Override
public void onCreate() {
@@ -45,6 +49,14 @@
addHelper(BatteryBackupHelper.TAG, new BatteryBackupHelper(this));
addHelper(PREF_LOCALE_NOTIFICATION,
new SharedPreferencesBackupHelper(this, LOCALE_NOTIFICATION));
+ if (Flags.enableSoundBackup()) {
+ OnboardingFeatureProvider onboardingFeatureProvider =
+ FeatureFactory.getFeatureFactory().getOnboardingFeatureProvider();
+ if (onboardingFeatureProvider != null) {
+ addHelper(SOUND_BACKUP_HELPER, onboardingFeatureProvider.
+ getSoundBackupHelper(this, this.getBackupRestoreEventLogger()));
+ }
+ }
}
@Override
diff --git a/src/com/android/settings/backup/ToggleBackupSettingFragment.java b/src/com/android/settings/backup/ToggleBackupSettingFragment.java
index 8f60be9..c3ad92f 100644
--- a/src/com/android/settings/backup/ToggleBackupSettingFragment.java
+++ b/src/com/android/settings/backup/ToggleBackupSettingFragment.java
@@ -11,7 +11,6 @@
import android.provider.Settings;
import android.util.Log;
import android.view.View;
-import android.widget.Switch;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
@@ -116,8 +115,7 @@
mSwitchBar.setOnBeforeCheckedChangeListener(
new SettingsMainSwitchBar.OnBeforeCheckedChangeListener() {
@Override
- public boolean onBeforeCheckedChanged(
- Switch toggleSwitch, boolean checked) {
+ public boolean onBeforeCheckedChanged(boolean checked) {
if (!checked) {
// Don't change Switch status until user makes choice in dialog
// so return true here.
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollAccessibilityToggle.java b/src/com/android/settings/biometrics/face/FaceEnrollAccessibilityToggle.java
index 86c1a50..b0b9488 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollAccessibilityToggle.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollAccessibilityToggle.java
@@ -26,12 +26,14 @@
import com.android.settings.R;
+import com.google.android.material.materialswitch.MaterialSwitch;
+
/**
* A layout that contains a start-justified title, and an end-justified switch.
*/
public class FaceEnrollAccessibilityToggle extends LinearLayout {
- private final CompoundButton mSwitch;
+ private final MaterialSwitch mSwitch;
public FaceEnrollAccessibilityToggle(Context context) {
this(context, null /* attrs */);
@@ -69,6 +71,7 @@
public void setChecked(boolean checked) {
mSwitch.setChecked(checked);
+ mSwitch.jumpDrawablesToCurrentState(); // Do not trigger animation from activity
}
public void setListener(CompoundButton.OnCheckedChangeListener listener) {
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
index 814dac1..62e9757 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
@@ -25,6 +25,8 @@
import android.content.res.Configuration;
import android.hardware.face.FaceManager;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
import android.os.UserHandle;
import android.text.TextUtils;
import android.util.Log;
@@ -32,6 +34,7 @@
import android.view.accessibility.AccessibilityManager;
import android.widget.Button;
import android.widget.CompoundButton;
+import android.widget.ScrollView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -86,6 +89,23 @@
}
};
+ final View.OnLayoutChangeListener mSwitchDiversityOnLayoutChangeListener =
+ (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
+ if (oldBottom == 0 && bottom != 0) {
+ new Handler(Looper.getMainLooper()).post(() -> {
+ final ScrollView scrollView =
+ findViewById(com.google.android.setupdesign.R.id.sud_scroll_view);
+ if (scrollView != null) {
+ scrollView.fullScroll(View.FOCUS_DOWN); // scroll down
+ }
+ if (mSwitchDiversity != null) {
+ mSwitchDiversity.removeOnLayoutChangeListener(
+ this.mSwitchDiversityOnLayoutChangeListener);
+ }
+ });
+ }
+ };
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -155,6 +175,7 @@
mSwitchDiversity.setChecked(true);
accessibilityButton.setVisibility(View.GONE);
mSwitchDiversity.setVisibility(View.VISIBLE);
+ mSwitchDiversity.addOnLayoutChangeListener(mSwitchDiversityOnLayoutChangeListener);
});
mSwitchDiversity = findViewById(R.id.toggle_diversity);
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index 594cf7a..308b3d5 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -1399,12 +1399,14 @@
super.onBindViewHolder(view);
mView = view.itemView;
mDeleteView = view.itemView.findViewById(R.id.delete_button);
- mDeleteView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (mOnDeleteClickListener != null) {
- mOnDeleteClickListener.onDeleteClick(FingerprintPreference.this);
- }
+ if (mFingerprint != null) {
+ mDeleteView.setContentDescription(
+ mDeleteView.getContentDescription()
+ + " " + mFingerprint.getName().toString());
+ }
+ mDeleteView.setOnClickListener(v -> {
+ if (mOnDeleteClickListener != null) {
+ mOnDeleteClickListener.onDeleteClick(FingerprintPreference.this);
}
});
}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollIntroV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollIntroV2Fragment.kt
index b1ab301..32d201d 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollIntroV2Fragment.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollIntroV2Fragment.kt
@@ -186,6 +186,9 @@
return view
}
+ /**
+ * TODO (b/305269201): This link isn't displaying for screenshot tests.
+ */
private fun setFooterLink(view: View) {
val footerLink: TextView = view.requireViewById(R.id.footer_learn_more)
footerLink.movementMethod = LinkMovementMethod.getInstance()
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsController.java
index c4a4221..18ad210 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsController.java
@@ -18,7 +18,6 @@
import android.content.Context;
import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
@@ -51,8 +50,7 @@
@Override
public boolean isAvailable() {
- return mCachedDevice.isHearingAidDevice() && FeatureFlagUtils.isEnabled(mContext,
- FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE);
+ return mCachedDevice.isHearingAidDevice();
}
@Override
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
index 73857f2..3b162b6 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
@@ -126,9 +126,12 @@
pref.setOnPreferenceClickListener(this);
pref.setOrder(profile.getOrdinal());
- if (profile instanceof LeAudioProfile && !isModelNameInAllowList(
+ boolean isLeEnabledByDefault =
+ SystemProperties.getBoolean(LE_AUDIO_CONNECTION_BY_DEFAULT_PROPERTY, true);
+
+ if (profile instanceof LeAudioProfile && (!isLeEnabledByDefault || !isModelNameInAllowList(
BluetoothUtils.getStringMetaData(mCachedDevice.getDevice(),
- METADATA_MODEL_NAME))) {
+ METADATA_MODEL_NAME)))) {
pref.setSummary(R.string.device_details_leaudio_toggle_summary);
}
return pref;
@@ -350,15 +353,23 @@
}
LocalBluetoothProfile asha = mProfileManager.getHearingAidProfile();
+ LocalBluetoothProfile broadcastAssistant =
+ mProfileManager.getLeAudioBroadcastAssistantProfile();
for (CachedBluetoothDevice leAudioDevice : mProfileDeviceMap.get(profile.toString())) {
Log.d(TAG,
"device:" + leAudioDevice.getDevice().getAnonymizedAddress()
- + "disable LE profile");
+ + " disable LE profile");
profile.setEnabled(leAudioDevice.getDevice(), false);
if (asha != null) {
asha.setEnabled(leAudioDevice.getDevice(), true);
}
+ if (broadcastAssistant != null) {
+ Log.d(TAG,
+ "device:" + leAudioDevice.getDevice().getAnonymizedAddress()
+ + " disable LE broadcast assistant profile");
+ broadcastAssistant.setEnabled(leAudioDevice.getDevice(), false);
+ }
}
if (!SystemProperties.getBoolean(ENABLE_DUAL_MODE_AUDIO, false)) {
@@ -385,15 +396,23 @@
disableProfileBeforeUserEnablesLeAudio(mProfileManager.getHeadsetProfile());
}
LocalBluetoothProfile asha = mProfileManager.getHearingAidProfile();
+ LocalBluetoothProfile broadcastAssistant =
+ mProfileManager.getLeAudioBroadcastAssistantProfile();
for (CachedBluetoothDevice leAudioDevice : mProfileDeviceMap.get(profile.toString())) {
Log.d(TAG,
"device:" + leAudioDevice.getDevice().getAnonymizedAddress()
- + "enable LE profile");
+ + " enable LE profile");
profile.setEnabled(leAudioDevice.getDevice(), true);
if (asha != null) {
asha.setEnabled(leAudioDevice.getDevice(), false);
}
+ if (broadcastAssistant != null) {
+ Log.d(TAG,
+ "device:" + leAudioDevice.getDevice().getAnonymizedAddress()
+ + " enable LE broadcast assistant profile");
+ broadcastAssistant.setEnabled(leAudioDevice.getDevice(), true);
+ }
}
}
diff --git a/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java b/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java
index fdd9e25..41606ba 100644
--- a/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java
+++ b/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java
@@ -24,10 +24,11 @@
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
+import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
-import android.text.TextUtils;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
+import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
@@ -209,6 +210,14 @@
@VisibleForTesting
void sendReplyIntentToReceiver(final boolean allowed, final boolean always) {
+ String bluetoothName;
+ try {
+ bluetoothName = Utils.findBluetoothPackageName(this);
+ } catch (NameNotFoundException e) {
+ Log.e(TAG, "Failed to find bluetooth package name", e);
+ return;
+ }
+
Intent intent = new Intent(BluetoothDevice.ACTION_CONNECTION_ACCESS_REPLY);
if (DEBUG) {
@@ -216,6 +225,7 @@
+ " mReturnPackage");
}
+ intent.setPackage(bluetoothName);
intent.putExtra(BluetoothDevice.EXTRA_CONNECTION_ACCESS_RESULT,
allowed ? BluetoothDevice.CONNECTION_ACCESS_YES
: BluetoothDevice.CONNECTION_ACCESS_NO);
diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
index 3903ce8..630acbb 100644
--- a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
@@ -27,8 +27,10 @@
import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.Utils;
+import com.android.settings.connecteddevice.audiosharing.AudioSharingDevicePreferenceController;
import com.android.settings.core.SettingsUIDeviceConfig;
import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.Flags;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.overlay.SurveyFeatureProvider;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -43,10 +45,8 @@
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
private static final String SLICE_ACTION = "com.android.settings.SEARCH_RESULT_TRAMPOLINE";
- @VisibleForTesting
- static final String KEY_CONNECTED_DEVICES = "connected_device_list";
- @VisibleForTesting
- static final String KEY_AVAILABLE_DEVICES = "available_device_list";
+ @VisibleForTesting static final String KEY_CONNECTED_DEVICES = "connected_device_list";
+ @VisibleForTesting static final String KEY_AVAILABLE_DEVICES = "available_device_list";
@Override
public int getMetricsCategory() {
@@ -71,21 +71,33 @@
@Override
public void onAttach(Context context) {
super.onAttach(context);
- final boolean nearbyEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
- SettingsUIDeviceConfig.BT_NEAR_BY_SUGGESTION_ENABLED, true);
- String callingAppPackageName = ((SettingsActivity) getActivity())
- .getInitialCallingPackage();
+ final boolean nearbyEnabled =
+ DeviceConfig.getBoolean(
+ DeviceConfig.NAMESPACE_SETTINGS_UI,
+ SettingsUIDeviceConfig.BT_NEAR_BY_SUGGESTION_ENABLED,
+ true);
+ String callingAppPackageName =
+ ((SettingsActivity) getActivity()).getInitialCallingPackage();
String action = getIntent() != null ? getIntent().getAction() : "";
if (DEBUG) {
- Log.d(TAG, "onAttach() calling package name is : " + callingAppPackageName
- + ", action : " + action);
+ Log.d(
+ TAG,
+ "onAttach() calling package name is : "
+ + callingAppPackageName
+ + ", action : "
+ + action);
+ }
+ if (Flags.enableLeAudioSharing()) {
+ use(AudioSharingDevicePreferenceController.class).init(this);
}
use(AvailableMediaDeviceGroupController.class).init(this);
use(ConnectedDeviceGroupController.class).init(this);
use(PreviouslyConnectedDevicePreferenceController.class).init(this);
- use(SlicePreferenceController.class).setSliceUri(nearbyEnabled
- ? Uri.parse(getString(R.string.config_nearby_devices_slice_uri))
- : null);
+ use(SlicePreferenceController.class)
+ .setSliceUri(
+ nearbyEnabled
+ ? Uri.parse(getString(R.string.config_nearby_devices_slice_uri))
+ : null);
use(DiscoverableFooterPreferenceController.class)
.setAlwaysDiscoverable(isAlwaysDiscoverable(callingAppPackageName, action));
@@ -102,14 +114,13 @@
@VisibleForTesting
boolean isAlwaysDiscoverable(String callingAppPackageName, String action) {
- return TextUtils.equals(SLICE_ACTION, action) ? false
+ return TextUtils.equals(SLICE_ACTION, action)
+ ? false
: TextUtils.equals(Utils.SETTINGS_PACKAGE_NAME, callingAppPackageName)
- || TextUtils.equals(Utils.SYSTEMUI_PACKAGE_NAME, callingAppPackageName);
+ || TextUtils.equals(Utils.SYSTEMUI_PACKAGE_NAME, callingAppPackageName);
}
- /**
- * For Search.
- */
+ /** For Search. */
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.connected_devices);
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBasePreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBasePreferenceController.java
new file mode 100644
index 0000000..9ebe26d
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBasePreferenceController.java
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.flags.Flags;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+public abstract class AudioSharingBasePreferenceController extends BasePreferenceController {
+ private final LocalBluetoothManager mBtManager;
+ protected final LocalBluetoothLeBroadcast mBroadcast;
+ protected Preference mPreference;
+
+ public AudioSharingBasePreferenceController(Context context, String preferenceKey) {
+ super(context, preferenceKey);
+ mBtManager = Utils.getLocalBtManager(context);
+ mBroadcast =
+ mBtManager == null
+ ? null
+ : mBtManager.getProfileManager().getLeAudioBroadcastProfile();
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ return mBtManager != null && Flags.enableLeAudioSharing()
+ ? AVAILABLE
+ : UNSUPPORTED_ON_DEVICE;
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ mPreference = screen.findPreference(getPreferenceKey());
+ updateVisibility(isBroadcasting());
+ }
+
+ /**
+ * Update the visibility of the preference.
+ *
+ * @param isVisible the latest visibility state for the preference.
+ */
+ public void updateVisibility(boolean isVisible) {
+ mPreference.setVisible(isVisible);
+ }
+
+ private boolean isBroadcasting() {
+ return mBroadcast != null && mBroadcast.isEnabled(null);
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdater.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdater.java
new file mode 100644
index 0000000..59393ad
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdater.java
@@ -0,0 +1,91 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing;
+
+import android.content.Context;
+import android.util.Log;
+
+import androidx.preference.Preference;
+
+import com.android.settings.bluetooth.BluetoothDevicePreference;
+import com.android.settings.bluetooth.BluetoothDeviceUpdater;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+public class AudioSharingBluetoothDeviceUpdater extends BluetoothDeviceUpdater
+ implements Preference.OnPreferenceClickListener {
+
+ private static final String TAG = "AudioSharingBluetoothDeviceUpdater";
+
+ private static final String PREF_KEY = "audio_sharing_bt";
+
+ private LocalBluetoothManager mLocalBluetoothManager;
+
+ public AudioSharingBluetoothDeviceUpdater(
+ Context context,
+ DevicePreferenceCallback devicePreferenceCallback,
+ int metricsCategory) {
+ super(context, devicePreferenceCallback, metricsCategory);
+ mLocalBluetoothManager = Utils.getLocalBluetoothManager(context);
+ }
+
+ @Override
+ public boolean isFilterMatched(CachedBluetoothDevice cachedDevice) {
+ boolean isFilterMatched = false;
+ if (isDeviceConnected(cachedDevice) && isDeviceInCachedDevicesList(cachedDevice)) {
+ // If device is LE audio device and has a broadcast source,
+ // it would show in audio sharing devices group.
+ if (cachedDevice.isConnectedLeAudioDevice()
+ && AudioSharingUtils.hasBroadcastSource(cachedDevice, mLocalBluetoothManager)) {
+ isFilterMatched = true;
+ }
+ }
+ Log.d(
+ TAG,
+ "isFilterMatched() device : "
+ + cachedDevice.getName()
+ + ", isFilterMatched : "
+ + isFilterMatched);
+ return isFilterMatched;
+ }
+
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ mMetricsFeatureProvider.logClickedPreference(preference, mMetricsCategory);
+ final CachedBluetoothDevice device =
+ ((BluetoothDevicePreference) preference).getBluetoothDevice();
+ return device.setActive();
+ }
+
+ @Override
+ protected String getPreferenceKey() {
+ return PREF_KEY;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return TAG;
+ }
+
+ @Override
+ protected void update(CachedBluetoothDevice cachedBluetoothDevice) {
+ super.update(cachedBluetoothDevice);
+ Log.d(TAG, "Map : " + mPreferenceMap);
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragment.java
index b3b7a2c..cf5881b 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragment.java
@@ -25,11 +25,15 @@
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.widget.SettingsMainSwitchBar;
-public class AudioSharingDashboardFragment extends DashboardFragment {
+public class AudioSharingDashboardFragment extends DashboardFragment
+ implements AudioSharingSwitchBarController.OnSwitchBarChangedListener {
private static final String TAG = "AudioSharingDashboardFrag";
SettingsMainSwitchBar mMainSwitchBar;
private AudioSharingSwitchBarController mSwitchBarController;
+ private AudioSharingDeviceVolumeGroupController mAudioSharingDeviceVolumeGroupController;
+ private CallsAndAlarmsPreferenceController mCallsAndAlarmsPreferenceController;
+ private AudioSharingNamePreferenceController mAudioSharingNamePreferenceController;
public AudioSharingDashboardFragment() {
super();
@@ -63,7 +67,12 @@
@Override
public void onAttach(Context context) {
super.onAttach(context);
- use(CallsAndAlarmsPreferenceController.class).init(this);
+ mAudioSharingDeviceVolumeGroupController =
+ use(AudioSharingDeviceVolumeGroupController.class);
+ mAudioSharingDeviceVolumeGroupController.init(this);
+ mCallsAndAlarmsPreferenceController = use(CallsAndAlarmsPreferenceController.class);
+ mCallsAndAlarmsPreferenceController.init(this);
+ mAudioSharingNamePreferenceController = use(AudioSharingNamePreferenceController.class);
}
@Override
@@ -74,9 +83,20 @@
final SettingsActivity activity = (SettingsActivity) getActivity();
mMainSwitchBar = activity.getSwitchBar();
mMainSwitchBar.setTitle(getText(R.string.audio_sharing_switch_title));
- mSwitchBarController = new AudioSharingSwitchBarController(activity, mMainSwitchBar);
+ mSwitchBarController = new AudioSharingSwitchBarController(activity, mMainSwitchBar, this);
mSwitchBarController.init(this);
getSettingsLifecycle().addObserver(mSwitchBarController);
mMainSwitchBar.show();
}
+
+ @Override
+ public void onSwitchBarChanged(boolean newState) {
+ updateVisibilityForAttachedPreferences(newState);
+ }
+
+ private void updateVisibilityForAttachedPreferences(boolean isVisible) {
+ mAudioSharingDeviceVolumeGroupController.updateVisibility(isVisible);
+ mCallsAndAlarmsPreferenceController.updateVisibility(isVisible);
+ mAudioSharingNamePreferenceController.updateVisibility(isVisible);
+ }
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceAdapter.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceAdapter.java
index 6d5b693..bc8ff21 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceAdapter.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceAdapter.java
@@ -30,10 +30,11 @@
public class AudioSharingDeviceAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private static final String TAG = "AudioSharingDeviceAdapter";
- private final ArrayList<String> mDevices;
+ private final ArrayList<AudioSharingDeviceItem> mDevices;
private final OnClickListener mOnClickListener;
- public AudioSharingDeviceAdapter(ArrayList<String> devices, OnClickListener listener) {
+ public AudioSharingDeviceAdapter(
+ ArrayList<AudioSharingDeviceItem> devices, OnClickListener listener) {
mDevices = devices;
mOnClickListener = listener;
}
@@ -48,8 +49,9 @@
public void bindView(int position) {
if (mButtonView != null) {
- mButtonView.setText(mDevices.get(position));
- mButtonView.setOnClickListener(v -> mOnClickListener.onClick(position));
+ mButtonView.setText(mDevices.get(position).getName());
+ mButtonView.setOnClickListener(
+ v -> mOnClickListener.onClick(mDevices.get(position)));
} else {
Log.w(TAG, "bind view skipped due to button view is null");
}
@@ -76,6 +78,6 @@
public interface OnClickListener {
/** Called when an item has been clicked. */
- void onClick(int position);
+ void onClick(AudioSharingDeviceItem item);
}
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceItem.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceItem.java
new file mode 100644
index 0000000..5998e30
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceItem.java
@@ -0,0 +1,75 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public final class AudioSharingDeviceItem implements Parcelable {
+ private final String mName;
+ private final int mGroupId;
+ private final boolean mIsActive;
+
+ public AudioSharingDeviceItem(String name, int groupId, boolean isActive) {
+ mName = name;
+ mGroupId = groupId;
+ mIsActive = isActive;
+ }
+
+ public String getName() {
+ return mName;
+ }
+
+ public int getGroupId() {
+ return mGroupId;
+ }
+
+ public boolean isActive() {
+ return mIsActive;
+ }
+
+ public AudioSharingDeviceItem(Parcel in) {
+ mName = in.readString();
+ mGroupId = in.readInt();
+ mIsActive = in.readBoolean();
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeString(mName);
+ dest.writeInt(mGroupId);
+ dest.writeBoolean(mIsActive);
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ public static final Creator<AudioSharingDeviceItem> CREATOR =
+ new Creator<AudioSharingDeviceItem>() {
+ @Override
+ public AudioSharingDeviceItem createFromParcel(Parcel in) {
+ return new AudioSharingDeviceItem(in);
+ }
+
+ @Override
+ public AudioSharingDeviceItem[] newArray(int size) {
+ return new AudioSharingDeviceItem[size];
+ }
+ };
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
new file mode 100644
index 0000000..7a2f26f
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
@@ -0,0 +1,531 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcast;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.bluetooth.BluetoothDeviceUpdater;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.Flags;
+import com.android.settingslib.bluetooth.BluetoothCallback;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LeAudioProfile;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+public class AudioSharingDevicePreferenceController extends BasePreferenceController
+ implements DefaultLifecycleObserver, DevicePreferenceCallback, BluetoothCallback {
+
+ private static final String TAG = "AudioSharingDevicePrefController";
+ private static final String KEY = "audio_sharing_device_list";
+ private static final String KEY_AUDIO_SHARING_SETTINGS =
+ "connected_device_audio_sharing_settings";
+
+ private final LocalBluetoothManager mLocalBtManager;
+ private final LocalBluetoothLeBroadcast mBroadcast;
+ private final LocalBluetoothLeBroadcastAssistant mAssistant;
+ private final Executor mExecutor;
+ private PreferenceGroup mPreferenceGroup;
+ private Preference mAudioSharingSettingsPreference;
+ private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
+ private DashboardFragment mFragment;
+ private List<BluetoothDevice> mTargetSinks = new ArrayList<>();
+
+ private final BluetoothLeBroadcast.Callback mBroadcastCallback =
+ new BluetoothLeBroadcast.Callback() {
+ @Override
+ public void onBroadcastStarted(int reason, int broadcastId) {
+ Log.d(
+ TAG,
+ "onBroadcastStarted(), reason = "
+ + reason
+ + ", broadcastId = "
+ + broadcastId);
+ }
+
+ @Override
+ public void onBroadcastStartFailed(int reason) {
+ Log.d(TAG, "onBroadcastStartFailed(), reason = " + reason);
+ // TODO: handle broadcast start fail
+ }
+
+ @Override
+ public void onBroadcastMetadataChanged(
+ int broadcastId, @NonNull BluetoothLeBroadcastMetadata metadata) {
+ Log.d(
+ TAG,
+ "onBroadcastMetadataChanged(), broadcastId = "
+ + broadcastId
+ + ", metadata = "
+ + metadata);
+ addSourceToTargetDevices(mTargetSinks);
+ mTargetSinks = new ArrayList<>();
+ }
+
+ @Override
+ public void onBroadcastStopped(int reason, int broadcastId) {
+ Log.d(
+ TAG,
+ "onBroadcastStopped(), reason = "
+ + reason
+ + ", broadcastId = "
+ + broadcastId);
+ }
+
+ @Override
+ public void onBroadcastStopFailed(int reason) {
+ Log.d(TAG, "onBroadcastStopFailed(), reason = " + reason);
+ // TODO: handle broadcast stop fail
+ }
+
+ @Override
+ public void onBroadcastUpdated(int reason, int broadcastId) {}
+
+ @Override
+ public void onBroadcastUpdateFailed(int reason, int broadcastId) {}
+
+ @Override
+ public void onPlaybackStarted(int reason, int broadcastId) {}
+
+ @Override
+ public void onPlaybackStopped(int reason, int broadcastId) {}
+ };
+
+ private BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+ new BluetoothLeBroadcastAssistant.Callback() {
+ @Override
+ public void onSearchStarted(int reason) {}
+
+ @Override
+ public void onSearchStartFailed(int reason) {}
+
+ @Override
+ public void onSearchStopped(int reason) {}
+
+ @Override
+ public void onSearchStopFailed(int reason) {}
+
+ @Override
+ public void onSourceFound(@NonNull BluetoothLeBroadcastMetadata source) {}
+
+ @Override
+ public void onSourceAdded(@NonNull BluetoothDevice sink, int sourceId, int reason) {
+ Log.d(
+ TAG,
+ "onSourceAdded(), sink = "
+ + sink
+ + ", sourceId = "
+ + sourceId
+ + ", reason = "
+ + reason);
+ mBluetoothDeviceUpdater.forceUpdate();
+ AudioSharingUtils.updateActiveDeviceIfNeeded(mLocalBtManager);
+ }
+
+ @Override
+ public void onSourceAddFailed(
+ @NonNull BluetoothDevice sink,
+ @NonNull BluetoothLeBroadcastMetadata source,
+ int reason) {
+ Log.d(
+ TAG,
+ "onSourceAddFailed(), sink = "
+ + sink
+ + ", source = "
+ + source
+ + ", reason = "
+ + reason);
+ AudioSharingUtils.toastMessage(
+ mContext,
+ String.format(
+ Locale.US,
+ "Fail to add source to %s reason %d",
+ sink.getAddress(),
+ reason));
+ }
+
+ @Override
+ public void onSourceModified(
+ @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+ @Override
+ public void onSourceModifyFailed(
+ @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+ @Override
+ public void onSourceRemoved(
+ @NonNull BluetoothDevice sink, int sourceId, int reason) {
+ Log.d(
+ TAG,
+ "onSourceRemoved(), sink = "
+ + sink
+ + ", sourceId = "
+ + sourceId
+ + ", reason = "
+ + reason);
+ mBluetoothDeviceUpdater.forceUpdate();
+ AudioSharingUtils.updateActiveDeviceIfNeeded(mLocalBtManager);
+ }
+
+ @Override
+ public void onSourceRemoveFailed(
+ @NonNull BluetoothDevice sink, int sourceId, int reason) {
+ Log.d(
+ TAG,
+ "onSourceRemoveFailed(), sink = "
+ + sink
+ + ", sourceId = "
+ + sourceId
+ + ", reason = "
+ + reason);
+ AudioSharingUtils.toastMessage(
+ mContext,
+ String.format(
+ Locale.US,
+ "Fail to remove source from %s reason %d",
+ sink.getAddress(),
+ reason));
+ }
+
+ @Override
+ public void onReceiveStateChanged(
+ BluetoothDevice sink,
+ int sourceId,
+ BluetoothLeBroadcastReceiveState state) {}
+ };
+
+ public AudioSharingDevicePreferenceController(Context context) {
+ super(context, KEY);
+ mLocalBtManager = Utils.getLocalBtManager(mContext);
+ mBroadcast = mLocalBtManager.getProfileManager().getLeAudioBroadcastProfile();
+ mAssistant = mLocalBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile();
+ mExecutor = Executors.newSingleThreadExecutor();
+ }
+
+ @Override
+ public void onStart(@NonNull LifecycleOwner owner) {
+ if (mLocalBtManager == null) {
+ Log.d(TAG, "onStart() Bluetooth is not supported on this device");
+ return;
+ }
+ if (mBroadcast == null || mAssistant == null) {
+ Log.d(TAG, "onStart() Broadcast or assistant is not supported on this device");
+ return;
+ }
+ if (mBluetoothDeviceUpdater == null) {
+ Log.d(TAG, "onStart() Bluetooth device updater is not initialized");
+ return;
+ }
+ mLocalBtManager.getEventManager().registerCallback(this);
+ mBroadcast.registerServiceCallBack(mExecutor, mBroadcastCallback);
+ mAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
+ mBluetoothDeviceUpdater.registerCallback();
+ mBluetoothDeviceUpdater.refreshPreference();
+ }
+
+ @Override
+ public void onStop(@NonNull LifecycleOwner owner) {
+ if (mLocalBtManager == null) {
+ Log.d(TAG, "onStop() Bluetooth is not supported on this device");
+ return;
+ }
+ if (mBroadcast == null || mAssistant == null) {
+ Log.d(TAG, "onStop() Broadcast or assistant is not supported on this device");
+ return;
+ }
+ if (mBluetoothDeviceUpdater == null) {
+ Log.d(TAG, "onStop() Bluetooth device updater is not initialized");
+ return;
+ }
+ mLocalBtManager.getEventManager().unregisterCallback(this);
+ // TODO: verify the reason for failing to unregister
+ try {
+ mBroadcast.unregisterServiceCallBack(mBroadcastCallback);
+ mAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
+ } catch (IllegalArgumentException e) {
+ Log.e(
+ TAG,
+ "Fail to unregister broadcast or assistant callback due to " + e.getMessage());
+ }
+ mBluetoothDeviceUpdater.unregisterCallback();
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+
+ mPreferenceGroup = screen.findPreference(KEY);
+ mAudioSharingSettingsPreference =
+ mPreferenceGroup.findPreference(KEY_AUDIO_SHARING_SETTINGS);
+ mPreferenceGroup.setVisible(false);
+ mAudioSharingSettingsPreference.setVisible(false);
+
+ if (isAvailable()) {
+ mBluetoothDeviceUpdater.setPrefContext(screen.getContext());
+ mBluetoothDeviceUpdater.forceUpdate();
+ }
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
+ && Flags.enableLeAudioSharing()
+ && mBluetoothDeviceUpdater != null
+ ? AVAILABLE_UNSEARCHABLE
+ : UNSUPPORTED_ON_DEVICE;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY;
+ }
+
+ @Override
+ public void onDeviceAdded(Preference preference) {
+ if (mPreferenceGroup.getPreferenceCount() == 1) {
+ mPreferenceGroup.setVisible(true);
+ mAudioSharingSettingsPreference.setVisible(true);
+ }
+ mPreferenceGroup.addPreference(preference);
+ }
+
+ @Override
+ public void onDeviceRemoved(Preference preference) {
+ mPreferenceGroup.removePreference(preference);
+ if (mPreferenceGroup.getPreferenceCount() == 1) {
+ mPreferenceGroup.setVisible(false);
+ mAudioSharingSettingsPreference.setVisible(false);
+ }
+ }
+
+ @Override
+ public void onProfileConnectionStateChanged(
+ @NonNull CachedBluetoothDevice cachedDevice,
+ @ConnectionState int state,
+ int bluetoothProfile) {
+ if (state != BluetoothAdapter.STATE_CONNECTED || !cachedDevice.getDevice().isConnected()) {
+ Log.d(TAG, "Ignore onProfileConnectionStateChanged, not connected state");
+ return;
+ }
+ if (mFragment == null) {
+ Log.d(TAG, "Ignore onProfileConnectionStateChanged, no host fragment");
+ return;
+ }
+ if (mAssistant == null && mBroadcast == null) {
+ Log.d(
+ TAG,
+ "Ignore onProfileConnectionStateChanged, no broadcast or assistant supported");
+ return;
+ }
+ boolean isLeAudioSupported = isLeAudioSupported(cachedDevice);
+ // For eligible (LE audio) remote device, we only check its connected LE audio profile.
+ if (isLeAudioSupported && bluetoothProfile != BluetoothProfile.LE_AUDIO) {
+ Log.d(
+ TAG,
+ "Ignore onProfileConnectionStateChanged, not the le profile for le audio"
+ + " device");
+ return;
+ }
+ boolean isFirstConnectedProfile = isFirstConnectedProfile(cachedDevice, bluetoothProfile);
+ // For ineligible (non LE audio) remote device, we only check its first connected profile.
+ if (!isLeAudioSupported && !isFirstConnectedProfile) {
+ Log.d(
+ TAG,
+ "Ignore onProfileConnectionStateChanged, not the first connected profile for"
+ + " non le audio device");
+ return;
+ }
+ if (!isLeAudioSupported) {
+ // Handle connected ineligible (non LE audio) remote device
+ if (isBroadcasting()) {
+ // Show stop audio sharing dialog when an ineligible (non LE audio) remote device
+ // connected during a sharing session.
+ AudioSharingStopDialogFragment.show(
+ mFragment,
+ cachedDevice.getName(),
+ () -> {
+ mBroadcast.stopBroadcast(mBroadcast.getLatestBroadcastId());
+ });
+ }
+ // Do nothing for ineligible (non LE audio) remote device when no sharing session.
+ } else {
+ Map<Integer, List<CachedBluetoothDevice>> groupedDevices =
+ AudioSharingUtils.fetchConnectedDevicesByGroupId(mLocalBtManager);
+ // Handle connected eligible (LE audio) remote device
+ if (isBroadcasting()) {
+ // Show audio sharing switch or join dialog according to device count in the sharing
+ // session.
+ ArrayList<AudioSharingDeviceItem> deviceItemsInSharingSession =
+ AudioSharingUtils.buildOrderedConnectedLeadAudioSharingDeviceItem(
+ mLocalBtManager, groupedDevices, /* filterByInSharing= */ true);
+ // Show audio sharing switch dialog when the third eligible (LE audio) remote device
+ // connected during a sharing session.
+ if (deviceItemsInSharingSession.size() >= 2) {
+ AudioSharingDisconnectDialogFragment.show(
+ mFragment,
+ deviceItemsInSharingSession,
+ cachedDevice.getName(),
+ (AudioSharingDeviceItem item) -> {
+ // Remove all sources from the device user clicked
+ for (CachedBluetoothDevice device :
+ groupedDevices.get(item.getGroupId())) {
+ for (BluetoothLeBroadcastReceiveState source :
+ mAssistant.getAllSources(device.getDevice())) {
+ mAssistant.removeSource(
+ device.getDevice(), source.getSourceId());
+ }
+ }
+ // Add current broadcast to the latest connected device
+ mAssistant.addSource(
+ cachedDevice.getDevice(),
+ mBroadcast.getLatestBluetoothLeBroadcastMetadata(),
+ /* isGroupOp= */ true);
+ });
+ } else {
+ // Show audio sharing join dialog when the first or second eligible (LE audio)
+ // remote device connected during a sharing session.
+ AudioSharingJoinDialogFragment.show(
+ mFragment,
+ deviceItemsInSharingSession,
+ cachedDevice.getName(),
+ () -> {
+ // Add current broadcast to the latest connected device
+ mAssistant.addSource(
+ cachedDevice.getDevice(),
+ mBroadcast.getLatestBluetoothLeBroadcastMetadata(),
+ /* isGroupOp= */ true);
+ });
+ }
+ } else {
+ ArrayList<AudioSharingDeviceItem> deviceItems = new ArrayList<>();
+ for (List<CachedBluetoothDevice> devices : groupedDevices.values()) {
+ // Use random device in the group within the sharing session to
+ // represent the group.
+ CachedBluetoothDevice device = devices.get(0);
+ if (device.getGroupId() == cachedDevice.getGroupId()) {
+ continue;
+ }
+ deviceItems.add(AudioSharingUtils.buildAudioSharingDeviceItem(device));
+ }
+ // Show audio sharing join dialog when the second eligible (LE audio) remote device
+ // connect and no sharing session.
+ if (deviceItems.size() == 1) {
+ AudioSharingJoinDialogFragment.show(
+ mFragment,
+ deviceItems,
+ cachedDevice.getName(),
+ () -> {
+ mTargetSinks = new ArrayList<>();
+ for (List<CachedBluetoothDevice> devices :
+ groupedDevices.values()) {
+ for (CachedBluetoothDevice device : devices) {
+ mTargetSinks.add(device.getDevice());
+ }
+ }
+ mBroadcast.startBroadcast("test", null);
+ });
+ }
+ }
+ }
+ }
+
+ /**
+ * Initialize the controller.
+ *
+ * @param fragment The fragment to provide the context and metrics category for {@link
+ * AudioSharingBluetoothDeviceUpdater} and provide the host for dialogs.
+ */
+ public void init(DashboardFragment fragment) {
+ mFragment = fragment;
+ mBluetoothDeviceUpdater =
+ new AudioSharingBluetoothDeviceUpdater(
+ fragment.getContext(),
+ AudioSharingDevicePreferenceController.this,
+ fragment.getMetricsCategory());
+ }
+
+ private boolean isLeAudioSupported(CachedBluetoothDevice cachedDevice) {
+ return cachedDevice.getProfiles().stream()
+ .anyMatch(
+ profile ->
+ profile instanceof LeAudioProfile
+ && profile.isEnabled(cachedDevice.getDevice()));
+ }
+
+ private boolean isFirstConnectedProfile(
+ CachedBluetoothDevice cachedDevice, int bluetoothProfile) {
+ return cachedDevice.getProfiles().stream()
+ .noneMatch(
+ profile ->
+ profile.getProfileId() != bluetoothProfile
+ && profile.getConnectionStatus(cachedDevice.getDevice())
+ == BluetoothProfile.STATE_CONNECTED);
+ }
+
+ private boolean isBroadcasting() {
+ return mBroadcast != null && mBroadcast.isEnabled(null);
+ }
+
+ private void addSourceToTargetDevices(List<BluetoothDevice> sinks) {
+ if (sinks.isEmpty() || mBroadcast == null || mAssistant == null) {
+ Log.d(TAG, "Skip adding source to target.");
+ return;
+ }
+ BluetoothLeBroadcastMetadata broadcastMetadata =
+ mBroadcast.getLatestBluetoothLeBroadcastMetadata();
+ if (broadcastMetadata == null) {
+ Log.e(TAG, "Error: There is no broadcastMetadata.");
+ return;
+ }
+ for (BluetoothDevice sink : sinks) {
+ Log.d(
+ TAG,
+ "Add broadcast with broadcastId: "
+ + broadcastMetadata.getBroadcastId()
+ + "to the device: "
+ + sink.getAnonymizedAddress());
+ mAssistant.addSource(sink, broadcastMetadata, /* isGroupOp= */ false);
+ }
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdater.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdater.java
new file mode 100644
index 0000000..0668f50
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdater.java
@@ -0,0 +1,139 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing;
+
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+import android.util.Log;
+import android.widget.SeekBar;
+
+import androidx.preference.Preference;
+
+import com.android.settings.bluetooth.BluetoothDevicePreference;
+import com.android.settings.bluetooth.BluetoothDeviceUpdater;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+public class AudioSharingDeviceVolumeControlUpdater extends BluetoothDeviceUpdater
+ implements Preference.OnPreferenceClickListener {
+
+ private static final String TAG = "AudioSharingDeviceVolumeControlUpdater";
+
+ private static final String PREF_KEY = "audio_sharing_volume_control";
+
+ private final LocalBluetoothManager mLocalBtManager;
+
+ public AudioSharingDeviceVolumeControlUpdater(
+ Context context,
+ DevicePreferenceCallback devicePreferenceCallback,
+ int metricsCategory) {
+ super(context, devicePreferenceCallback, metricsCategory);
+ mLocalBtManager = Utils.getLocalBluetoothManager(context);
+ }
+
+ @Override
+ public boolean isFilterMatched(CachedBluetoothDevice cachedDevice) {
+ boolean isFilterMatched = false;
+ if (isDeviceConnected(cachedDevice) && isDeviceInCachedDevicesList(cachedDevice)) {
+ // If device is LE audio device and has a broadcast source,
+ // it would show in audio sharing devices group.
+ if (cachedDevice.isConnectedLeAudioDevice()
+ && AudioSharingUtils.hasBroadcastSource(cachedDevice, mLocalBtManager)) {
+ isFilterMatched = true;
+ }
+ }
+ Log.d(
+ TAG,
+ "isFilterMatched() device : "
+ + cachedDevice.getName()
+ + ", isFilterMatched : "
+ + isFilterMatched);
+ return isFilterMatched;
+ }
+
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ return true;
+ }
+
+ @Override
+ protected void addPreference(CachedBluetoothDevice cachedDevice) {
+ if (cachedDevice == null) return;
+ final BluetoothDevice device = cachedDevice.getDevice();
+ if (!mPreferenceMap.containsKey(device)) {
+ SeekBar.OnSeekBarChangeListener listener =
+ new SeekBar.OnSeekBarChangeListener() {
+ @Override
+ public void onProgressChanged(
+ SeekBar seekBar, int progress, boolean fromUser) {}
+
+ @Override
+ public void onStartTrackingTouch(SeekBar seekBar) {}
+
+ @Override
+ public void onStopTrackingTouch(SeekBar seekBar) {
+ if (mLocalBtManager != null
+ && mLocalBtManager.getProfileManager().getVolumeControlProfile()
+ != null) {
+ mLocalBtManager
+ .getProfileManager()
+ .getVolumeControlProfile()
+ .setDeviceVolume(
+ cachedDevice.getDevice(),
+ seekBar.getProgress(),
+ /* isGroupOp= */ true);
+ }
+ }
+ };
+ AudioSharingDeviceVolumePreference vPreference =
+ new AudioSharingDeviceVolumePreference(mPrefContext, cachedDevice, listener);
+ vPreference.setKey(getPreferenceKey());
+ vPreference.setIcon(com.android.settingslib.R.drawable.ic_bt_untethered_earbuds);
+ vPreference.setTitle(cachedDevice.getName());
+ mPreferenceMap.put(device, vPreference);
+ mDevicePreferenceCallback.onDeviceAdded(vPreference);
+ }
+ }
+
+ @Override
+ protected String getPreferenceKey() {
+ return PREF_KEY;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return TAG;
+ }
+
+ @Override
+ protected void update(CachedBluetoothDevice cachedBluetoothDevice) {
+ super.update(cachedBluetoothDevice);
+ Log.d(TAG, "Map : " + mPreferenceMap);
+ }
+
+ @Override
+ protected void addPreference(
+ CachedBluetoothDevice cachedDevice, @BluetoothDevicePreference.SortType int type) {}
+
+ @Override
+ protected void launchDeviceDetails(Preference preference) {}
+
+ @Override
+ public void refreshPreference() {}
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupController.java
new file mode 100644
index 0000000..90054d4
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupController.java
@@ -0,0 +1,278 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing;
+
+import android.annotation.IntRange;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.bluetooth.BluetoothVolumeControl;
+import android.content.Context;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.fragment.app.FragmentManager;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.bluetooth.BluetoothDeviceUpdater;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.VolumeControlProfile;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+public class AudioSharingDeviceVolumeGroupController extends AudioSharingBasePreferenceController
+ implements DefaultLifecycleObserver, DevicePreferenceCallback {
+
+ private static final String TAG = "AudioSharingDeviceVolumeGroupController";
+ private static final String KEY = "audio_sharing_device_volume_group";
+
+ private final LocalBluetoothManager mLocalBtManager;
+ private final LocalBluetoothLeBroadcastAssistant mAssistant;
+ private final Executor mExecutor;
+ private VolumeControlProfile mVolumeControl;
+ private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
+ private FragmentManager mFragmentManager;
+ private PreferenceGroup mPreferenceGroup;
+ private Map<Preference, BluetoothVolumeControl.Callback> mCallbackMap =
+ new HashMap<Preference, BluetoothVolumeControl.Callback>();
+
+ private BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+ new BluetoothLeBroadcastAssistant.Callback() {
+ @Override
+ public void onSearchStarted(int reason) {}
+
+ @Override
+ public void onSearchStartFailed(int reason) {}
+
+ @Override
+ public void onSearchStopped(int reason) {}
+
+ @Override
+ public void onSearchStopFailed(int reason) {}
+
+ @Override
+ public void onSourceFound(@NonNull BluetoothLeBroadcastMetadata source) {}
+
+ @Override
+ public void onSourceAdded(@NonNull BluetoothDevice sink, int sourceId, int reason) {
+ Log.d(
+ TAG,
+ "onSourceAdded(), sink = "
+ + sink
+ + ", sourceId = "
+ + sourceId
+ + ", reason = "
+ + reason);
+ mBluetoothDeviceUpdater.forceUpdate();
+ }
+
+ @Override
+ public void onSourceAddFailed(
+ @NonNull BluetoothDevice sink,
+ @NonNull BluetoothLeBroadcastMetadata source,
+ int reason) {
+ Log.d(
+ TAG,
+ "onSourceAddFailed(), sink = "
+ + sink
+ + ", source = "
+ + source
+ + ", reason = "
+ + reason);
+ }
+
+ @Override
+ public void onSourceModified(
+ @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+ @Override
+ public void onSourceModifyFailed(
+ @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+ @Override
+ public void onSourceRemoved(
+ @NonNull BluetoothDevice sink, int sourceId, int reason) {
+ Log.d(
+ TAG,
+ "onSourceRemoved(), sink = "
+ + sink
+ + ", sourceId = "
+ + sourceId
+ + ", reason = "
+ + reason);
+ mBluetoothDeviceUpdater.forceUpdate();
+ }
+
+ @Override
+ public void onSourceRemoveFailed(
+ @NonNull BluetoothDevice sink, int sourceId, int reason) {
+ Log.d(
+ TAG,
+ "onSourceRemoveFailed(), sink = "
+ + sink
+ + ", sourceId = "
+ + sourceId
+ + ", reason = "
+ + reason);
+ }
+
+ @Override
+ public void onReceiveStateChanged(
+ BluetoothDevice sink,
+ int sourceId,
+ BluetoothLeBroadcastReceiveState state) {}
+ };
+
+ public AudioSharingDeviceVolumeGroupController(Context context) {
+ super(context, KEY);
+ mLocalBtManager = Utils.getLocalBtManager(mContext);
+ mAssistant = mLocalBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile();
+ mExecutor = Executors.newSingleThreadExecutor();
+ if (mLocalBtManager != null) {
+ mVolumeControl = mLocalBtManager.getProfileManager().getVolumeControlProfile();
+ }
+ }
+
+ @Override
+ public void onStart(@NonNull LifecycleOwner owner) {
+ if (mAssistant == null) {
+ Log.d(TAG, "onStart() Broadcast or assistant is not supported on this device");
+ return;
+ }
+ if (mBluetoothDeviceUpdater == null) {
+ Log.d(TAG, "onStart() Bluetooth device updater is not initialized");
+ return;
+ }
+ mAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
+ mBluetoothDeviceUpdater.registerCallback();
+ }
+
+ @Override
+ public void onStop(@NonNull LifecycleOwner owner) {
+ if (mAssistant == null) {
+ Log.d(TAG, "onStop() Broadcast or assistant is not supported on this device");
+ return;
+ }
+ if (mBluetoothDeviceUpdater == null) {
+ Log.d(TAG, "onStop() Bluetooth device updater is not initialized");
+ return;
+ }
+ mAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
+ mBluetoothDeviceUpdater.unregisterCallback();
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+
+ mPreferenceGroup = screen.findPreference(KEY);
+ mPreferenceGroup.setVisible(false);
+
+ if (isAvailable() && mBluetoothDeviceUpdater != null) {
+ mBluetoothDeviceUpdater.setPrefContext(screen.getContext());
+ mBluetoothDeviceUpdater.forceUpdate();
+ }
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY;
+ }
+
+ @Override
+ public void onDeviceAdded(Preference preference) {
+ if (mPreferenceGroup.getPreferenceCount() == 0) {
+ mPreferenceGroup.setVisible(true);
+ }
+ mPreferenceGroup.addPreference(preference);
+ if (mVolumeControl != null && preference instanceof AudioSharingDeviceVolumePreference) {
+ BluetoothVolumeControl.Callback callback =
+ buildVcCallback((AudioSharingDeviceVolumePreference) preference);
+ mCallbackMap.put(preference, callback);
+ mVolumeControl.registerCallback(mExecutor, callback);
+ }
+ }
+
+ @Override
+ public void onDeviceRemoved(Preference preference) {
+ mPreferenceGroup.removePreference(preference);
+ if (mPreferenceGroup.getPreferenceCount() == 0) {
+ mPreferenceGroup.setVisible(false);
+ }
+ if (mVolumeControl != null && mCallbackMap.containsKey(preference)) {
+ mVolumeControl.unregisterCallback(mCallbackMap.get(preference));
+ mCallbackMap.remove(preference);
+ }
+ }
+
+ @Override
+ public void updateVisibility(boolean isVisible) {
+ super.updateVisibility(isVisible);
+ if (mPreferenceGroup != null) {
+ mPreferenceGroup.setVisible(mPreferenceGroup.getPreferenceCount() > 0);
+ }
+ }
+
+ /**
+ * Initialize the controller.
+ *
+ * @param fragment The fragment to provide the context and metrics category for {@link
+ * AudioSharingBluetoothDeviceUpdater} and provide the host for dialogs.
+ */
+ public void init(DashboardFragment fragment) {
+ mBluetoothDeviceUpdater =
+ new AudioSharingDeviceVolumeControlUpdater(
+ fragment.getContext(),
+ AudioSharingDeviceVolumeGroupController.this,
+ fragment.getMetricsCategory());
+ }
+
+ private BluetoothVolumeControl.Callback buildVcCallback(
+ AudioSharingDeviceVolumePreference preference) {
+ return new BluetoothVolumeControl.Callback() {
+ @Override
+ public void onVolumeOffsetChanged(BluetoothDevice device, int volumeOffset) {}
+
+ @Override
+ public void onDeviceVolumeChanged(
+ @android.annotation.NonNull BluetoothDevice device,
+ @IntRange(from = 0, to = 255) int volume) {
+ Log.d(TAG, "onDeviceVolumeChanged changed " + device.getAnonymizedAddress());
+ CachedBluetoothDevice cachedDevice =
+ mLocalBtManager.getCachedDeviceManager().findDevice(device);
+ if (cachedDevice == null) return;
+ if (preference.getCachedDevice() != null
+ && preference.getCachedDevice().getGroupId() == cachedDevice.getGroupId()) {
+ preference.setProgress(volume);
+ }
+ }
+ };
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreference.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreference.java
new file mode 100644
index 0000000..3808b60
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreference.java
@@ -0,0 +1,73 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing;
+
+import android.content.Context;
+import android.widget.SeekBar;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.widget.SeekBarPreference;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+public class AudioSharingDeviceVolumePreference extends SeekBarPreference {
+ private static final String TAG = "AudioSharingDeviceVolumePreference";
+ public static final int MIN_VOLUME = 0;
+ public static final int MAX_VOLUME = 255;
+
+ protected SeekBar mSeekBar;
+ private final LocalBluetoothManager mLocalBtManager;
+ private final CachedBluetoothDevice mCachedDevice;
+ private final SeekBar.OnSeekBarChangeListener mListener;
+
+ public AudioSharingDeviceVolumePreference(
+ Context context,
+ @NonNull CachedBluetoothDevice device,
+ SeekBar.OnSeekBarChangeListener listener) {
+ super(context);
+ setLayoutResource(R.layout.preference_volume_slider);
+ mLocalBtManager = Utils.getLocalBtManager(context);
+ mCachedDevice = device;
+ mListener = listener;
+ }
+
+ @Nullable
+ public CachedBluetoothDevice getCachedDevice() {
+ return mCachedDevice;
+ }
+
+ @Override
+ public void onBindViewHolder(PreferenceViewHolder view) {
+ super.onBindViewHolder(view);
+ mSeekBar = (SeekBar) view.findViewById(com.android.internal.R.id.seekbar);
+ mSeekBar.setMax(MAX_VOLUME);
+ mSeekBar.setMin(MIN_VOLUME);
+ mSeekBar.setOnSeekBarChangeListener(mListener);
+ }
+
+ /** Set the progress bar to target progress */
+ public void setProgress(int progress) {
+ if (mSeekBar != null) {
+ mSeekBar.setProgress(progress);
+ }
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java
index 1fd0b87..bdf7f03 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java
@@ -21,6 +21,7 @@
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
+import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
@@ -34,11 +35,12 @@
import com.android.settings.flags.Flags;
import java.util.ArrayList;
+import java.util.Locale;
public class AudioSharingDialogFragment extends InstrumentedDialogFragment {
private static final String TAG = "AudioSharingDialog";
- private static final String BUNDLE_KEY_DEVICE_NAMES = "bundle_key_device_names";
+ private static final String BUNDLE_KEY_DEVICE_ITEMS = "bundle_key_device_items";
// The host creates an instance of this dialog fragment must implement this interface to receive
// event callbacks.
@@ -46,14 +48,9 @@
/**
* Called when users click the device item for sharing in the dialog.
*
- * @param position The position of the item clicked.
+ * @param item The device item clicked.
*/
- void onItemClick(int position);
-
- /**
- * Called when users click the cancel button in the dialog.
- */
- void onCancelClick();
+ void onItemClick(AudioSharingDeviceItem item);
}
private static DialogEventListener sListener;
@@ -69,15 +66,19 @@
* Display the {@link AudioSharingDialogFragment} dialog.
*
* @param host The Fragment this dialog will be hosted.
+ * @param deviceItems The connected device items eligible for audio sharing.
+ * @param listener The callback to handle the user action on this dialog.
*/
public static void show(
- Fragment host, ArrayList<String> deviceNames, DialogEventListener listener) {
+ Fragment host,
+ ArrayList<AudioSharingDeviceItem> deviceItems,
+ DialogEventListener listener) {
if (!Flags.enableLeAudioSharing()) return;
final FragmentManager manager = host.getChildFragmentManager();
sListener = listener;
if (manager.findFragmentByTag(TAG) == null) {
final Bundle bundle = new Bundle();
- bundle.putStringArrayList(BUNDLE_KEY_DEVICE_NAMES, deviceNames);
+ bundle.putParcelableArrayList(BUNDLE_KEY_DEVICE_ITEMS, deviceItems);
AudioSharingDialogFragment dialog = new AudioSharingDialogFragment();
dialog.setArguments(bundle);
dialog.show(manager, TAG);
@@ -87,7 +88,8 @@
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Bundle arguments = requireArguments();
- ArrayList<String> deviceNames = arguments.getStringArrayList(BUNDLE_KEY_DEVICE_NAMES);
+ ArrayList<AudioSharingDeviceItem> deviceItems =
+ arguments.getParcelableArrayList(BUNDLE_KEY_DEVICE_ITEMS);
final AlertDialog.Builder builder =
new AlertDialog.Builder(getActivity()).setTitle("Share audio").setCancelable(false);
mRootView =
@@ -95,32 +97,33 @@
.inflate(R.layout.dialog_audio_sharing, /* parent= */ null);
TextView subTitle1 = mRootView.findViewById(R.id.share_audio_subtitle1);
TextView subTitle2 = mRootView.findViewById(R.id.share_audio_subtitle2);
- if (deviceNames.isEmpty()) {
+ if (deviceItems.isEmpty()) {
subTitle1.setVisibility(View.INVISIBLE);
- subTitle2.setText("To start sharing audio, connect headphones that support LE audio");
- builder.setNegativeButton(
- "Close",
- (dialog, which) -> {
- sListener.onCancelClick();
- });
- } else if (deviceNames.size() == 1) {
- // TODO: add real impl
- subTitle1.setText("1 devices connected");
- subTitle2.setText("placeholder");
+ subTitle2.setText(
+ "To start sharing audio, connect additional headphones that support LE audio");
} else {
- // TODO: add real impl
- subTitle1.setText("2 devices connected");
- subTitle2.setText("placeholder");
+ subTitle1.setText(
+ String.format(
+ Locale.US,
+ "%d additional device%s connected",
+ deviceItems.size(),
+ deviceItems.size() > 1 ? "" : "s"));
+ subTitle2.setText(
+ "The headphones you share audio with will hear videos and music playing on this"
+ + " phone");
}
RecyclerView recyclerView = mRootView.findViewById(R.id.btn_list);
recyclerView.setAdapter(
new AudioSharingDeviceAdapter(
- deviceNames,
- (int position) -> {
- sListener.onItemClick(position);
+ deviceItems,
+ (AudioSharingDeviceItem item) -> {
+ sListener.onItemClick(item);
+ dismiss();
}));
recyclerView.setLayoutManager(
new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
+ Button cancelBtn = mRootView.findViewById(R.id.cancel_btn);
+ cancelBtn.setOnClickListener(v -> dismiss());
AlertDialog dialog = builder.setView(mRootView).create();
dialog.setCanceledOnTouchOutside(false);
return dialog;
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java
new file mode 100644
index 0000000..1840f58
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java
@@ -0,0 +1,124 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
+import com.android.internal.widget.LinearLayoutManager;
+import com.android.internal.widget.RecyclerView;
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.flags.Flags;
+
+import java.util.ArrayList;
+
+public class AudioSharingDisconnectDialogFragment extends InstrumentedDialogFragment {
+ private static final String TAG = "AudioSharingDisconnectDialog";
+
+ private static final String BUNDLE_KEY_DEVICE_TO_DISCONNECT_ITEMS =
+ "bundle_key_device_to_disconnect_items";
+ private static final String BUNDLE_KEY_NEW_DEVICE_NAME = "bundle_key_new_device_name";
+
+ // The host creates an instance of this dialog fragment must implement this interface to receive
+ // event callbacks.
+ public interface DialogEventListener {
+ /**
+ * Called when users click the device item to disconnect from the audio sharing in the
+ * dialog.
+ *
+ * @param item The device item clicked.
+ */
+ void onItemClick(AudioSharingDeviceItem item);
+ }
+
+ private static DialogEventListener sListener;
+
+ @Override
+ public int getMetricsCategory() {
+ return SettingsEnums.DIALOG_AUDIO_SHARING_SWITCH_DEVICE;
+ }
+
+ /**
+ * Display the {@link AudioSharingDisconnectDialogFragment} dialog.
+ *
+ * @param host The Fragment this dialog will be hosted.
+ */
+ public static void show(
+ Fragment host,
+ ArrayList<AudioSharingDeviceItem> deviceItems,
+ String newDeviceName,
+ DialogEventListener listener) {
+ if (!Flags.enableLeAudioSharing()) return;
+ final FragmentManager manager = host.getChildFragmentManager();
+ sListener = listener;
+ if (manager.findFragmentByTag(TAG) == null) {
+ final Bundle bundle = new Bundle();
+ bundle.putParcelableArrayList(BUNDLE_KEY_DEVICE_TO_DISCONNECT_ITEMS, deviceItems);
+ bundle.putString(BUNDLE_KEY_NEW_DEVICE_NAME, newDeviceName);
+ AudioSharingDisconnectDialogFragment dialog =
+ new AudioSharingDisconnectDialogFragment();
+ dialog.setArguments(bundle);
+ dialog.show(manager, TAG);
+ }
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ Bundle arguments = requireArguments();
+ ArrayList<AudioSharingDeviceItem> deviceItems =
+ arguments.getParcelableArrayList(BUNDLE_KEY_DEVICE_TO_DISCONNECT_ITEMS);
+ String newDeviceName = arguments.getString(BUNDLE_KEY_NEW_DEVICE_NAME);
+ final AlertDialog.Builder builder =
+ new AlertDialog.Builder(getActivity())
+ .setTitle("Choose headphone to disconnect")
+ .setCancelable(false);
+ View rootView =
+ LayoutInflater.from(builder.getContext())
+ .inflate(R.layout.dialog_audio_sharing_disconnect, /* parent= */ null);
+ TextView subTitle = rootView.findViewById(R.id.share_audio_disconnect_description);
+ subTitle.setText(
+ "To share audio with " + newDeviceName + ", disconnect another pair of headphone");
+ RecyclerView recyclerView = rootView.findViewById(R.id.device_btn_list);
+ recyclerView.setAdapter(
+ new AudioSharingDeviceAdapter(
+ deviceItems,
+ (AudioSharingDeviceItem item) -> {
+ sListener.onItemClick(item);
+ dismiss();
+ }));
+ recyclerView.setLayoutManager(
+ new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
+ Button cancelBtn = rootView.findViewById(R.id.cancel_btn);
+ cancelBtn.setOnClickListener(
+ v -> {
+ dismiss();
+ });
+ AlertDialog dialog = builder.setView(rootView).create();
+ dialog.setCanceledOnTouchOutside(false);
+ return dialog;
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java
new file mode 100644
index 0000000..b9646ac
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java
@@ -0,0 +1,127 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.flags.Flags;
+
+import java.util.ArrayList;
+import java.util.Locale;
+import java.util.stream.Collectors;
+
+public class AudioSharingJoinDialogFragment extends InstrumentedDialogFragment {
+ private static final String TAG = "AudioSharingJoinDialog";
+ private static final String BUNDLE_KEY_DEVICE_ITEMS = "bundle_key_device_items";
+ private static final String BUNDLE_KEY_NEW_DEVICE_NAME = "bundle_key_new_device_name";
+
+ // The host creates an instance of this dialog fragment must implement this interface to receive
+ // event callbacks.
+ public interface DialogEventListener {
+ /** Called when users click the share audio button in the dialog. */
+ void onShareClick();
+ }
+
+ private static DialogEventListener sListener;
+ private View mRootView;
+
+ @Override
+ public int getMetricsCategory() {
+ return SettingsEnums.DIALOG_START_AUDIO_SHARING;
+ }
+
+ /**
+ * Display the {@link AudioSharingJoinDialogFragment} dialog.
+ *
+ * @param host The Fragment this dialog will be hosted.
+ * @param deviceItems The existing connected device items eligible for audio sharing.
+ * @param newDeviceName The name of the latest connected device triggered this dialog.
+ * @param listener The callback to handle the user action on this dialog.
+ */
+ public static void show(
+ Fragment host,
+ ArrayList<AudioSharingDeviceItem> deviceItems,
+ String newDeviceName,
+ DialogEventListener listener) {
+ if (!Flags.enableLeAudioSharing()) return;
+ final FragmentManager manager = host.getChildFragmentManager();
+ sListener = listener;
+ if (manager.findFragmentByTag(TAG) == null) {
+ final Bundle bundle = new Bundle();
+ bundle.putParcelableArrayList(BUNDLE_KEY_DEVICE_ITEMS, deviceItems);
+ bundle.putString(BUNDLE_KEY_NEW_DEVICE_NAME, newDeviceName);
+ final AudioSharingJoinDialogFragment dialog = new AudioSharingJoinDialogFragment();
+ dialog.setArguments(bundle);
+ dialog.show(manager, TAG);
+ }
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ Bundle arguments = requireArguments();
+ ArrayList<AudioSharingDeviceItem> deviceItems =
+ arguments.getParcelableArrayList(BUNDLE_KEY_DEVICE_ITEMS);
+ String newDeviceName = arguments.getString(BUNDLE_KEY_NEW_DEVICE_NAME);
+ final AlertDialog.Builder builder =
+ new AlertDialog.Builder(getActivity())
+ .setTitle("Share audio?")
+ .setCancelable(false);
+ mRootView =
+ LayoutInflater.from(builder.getContext())
+ .inflate(R.layout.dialog_audio_sharing_join, null /* parent */);
+ TextView subtitle1 = mRootView.findViewById(R.id.share_audio_subtitle1);
+ TextView subtitle2 = mRootView.findViewById(R.id.share_audio_subtitle2);
+ if (deviceItems.isEmpty()) {
+ subtitle1.setText(newDeviceName);
+ } else {
+ subtitle1.setText(
+ String.format(
+ Locale.US,
+ "%s and %s",
+ deviceItems.stream()
+ .map(AudioSharingDeviceItem::getName)
+ .collect(Collectors.joining(", ")),
+ newDeviceName));
+ }
+ subtitle2.setText(
+ "Connected eligible headphones will hear videos ad music playing on this phone");
+ Button shareBtn = mRootView.findViewById(R.id.share_btn);
+ Button cancelBtn = mRootView.findViewById(R.id.cancel_btn);
+ shareBtn.setOnClickListener(
+ v -> {
+ sListener.onShareClick();
+ dismiss();
+ });
+ shareBtn.setText("Share audio");
+ cancelBtn.setOnClickListener(v -> dismiss());
+ Dialog dialog = builder.setView(mRootView).create();
+ dialog.setCanceledOnTouchOutside(false);
+ return dialog;
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java
index 387ab7e..81465ed 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java
@@ -16,6 +16,7 @@
package com.android.settings.connecteddevice.audiosharing;
+import android.app.settings.SettingsEnums;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ImageButton;
@@ -23,6 +24,8 @@
import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
+import com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsQrCodeFragment;
+import com.android.settings.core.SubSettingLauncher;
import com.android.settings.widget.ValidatedEditTextPreference;
public class AudioSharingNamePreference extends ValidatedEditTextPreference {
@@ -60,5 +63,12 @@
super.onBindViewHolder(holder);
final ImageButton shareButton = (ImageButton) holder.findViewById(R.id.button_icon);
shareButton.setImageDrawable(getContext().getDrawable(R.drawable.ic_qrcode_24dp));
+ shareButton.setOnClickListener(
+ unused ->
+ new SubSettingLauncher(getContext())
+ .setTitleText("Audio sharing QR code")
+ .setDestination(AudioStreamsQrCodeFragment.class.getName())
+ .setSourceMetricsCategory(SettingsEnums.AUDIO_SHARING_SETTINGS)
+ .launch());
}
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java
index 18c9bfd..8336691 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java
@@ -22,13 +22,10 @@
import androidx.lifecycle.DefaultLifecycleObserver;
import androidx.lifecycle.LifecycleOwner;
import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.flags.Flags;
import com.android.settings.widget.ValidatedEditTextPreference;
-public class AudioSharingNamePreferenceController extends BasePreferenceController
+public class AudioSharingNamePreferenceController extends AudioSharingBasePreferenceController
implements ValidatedEditTextPreference.Validator,
Preference.OnPreferenceChangeListener,
DefaultLifecycleObserver {
@@ -37,8 +34,6 @@
private static final String PREF_KEY = "audio_sharing_stream_name";
- protected Preference mPreference;
-
private AudioSharingNameTextValidator mAudioSharingNameTextValidator;
public AudioSharingNamePreferenceController(Context context) {
@@ -47,11 +42,6 @@
}
@Override
- public int getAvailabilityStatus() {
- return Flags.enableLeAudioSharing() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
- }
-
- @Override
public String getPreferenceKey() {
return PREF_KEY;
}
@@ -63,12 +53,6 @@
}
@Override
- public void displayPreference(PreferenceScreen screen) {
- super.displayPreference(screen);
- mPreference = screen.findPreference(getPreferenceKey());
- }
-
- @Override
public boolean isTextValid(String value) {
return mAudioSharingNameTextValidator.isTextValid(value);
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java
new file mode 100644
index 0000000..495fad3
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java
@@ -0,0 +1,91 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.flags.Flags;
+
+public class AudioSharingStopDialogFragment extends InstrumentedDialogFragment {
+ private static final String TAG = "AudioSharingStopDialog";
+
+ private static final String BUNDLE_KEY_NEW_DEVICE_NAME = "bundle_key_new_device_name";
+
+ // The host creates an instance of this dialog fragment must implement this interface to receive
+ // event callbacks.
+ public interface DialogEventListener {
+ /** Called when users click the stop sharing button in the dialog. */
+ void onStopSharingClick();
+ }
+
+ private static DialogEventListener sListener;
+
+ @Override
+ public int getMetricsCategory() {
+ return SettingsEnums.DIALOG_STOP_AUDIO_SHARING;
+ }
+
+ /**
+ * Display the {@link AudioSharingStopDialogFragment} dialog.
+ *
+ * @param host The Fragment this dialog will be hosted.
+ */
+ public static void show(Fragment host, String newDeviceName, DialogEventListener listener) {
+ if (!Flags.enableLeAudioSharing()) return;
+ final FragmentManager manager = host.getChildFragmentManager();
+ sListener = listener;
+ if (manager.findFragmentByTag(TAG) == null) {
+ final Bundle bundle = new Bundle();
+ bundle.putString(BUNDLE_KEY_NEW_DEVICE_NAME, newDeviceName);
+ AudioSharingStopDialogFragment dialog = new AudioSharingStopDialogFragment();
+ dialog.setArguments(bundle);
+ dialog.show(manager, TAG);
+ }
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ Bundle arguments = requireArguments();
+ String newDeviceName = arguments.getString(BUNDLE_KEY_NEW_DEVICE_NAME);
+ final AlertDialog.Builder builder =
+ new AlertDialog.Builder(getActivity())
+ .setTitle("Stop sharing audio?")
+ .setCancelable(false);
+ builder.setMessage(
+ newDeviceName + " is connected, devices in audio sharing will disconnect.");
+ builder.setPositiveButton(
+ "Stop sharing",
+ (dialog, which) -> {
+ sListener.onStopSharingClick();
+ });
+ builder.setNegativeButton(
+ "Cancel",
+ (dialog, which) -> {
+ dismiss();
+ });
+ AlertDialog dialog = builder.create();
+ dialog.setCanceledOnTouchOutside(false);
+ return dialog;
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
index bd8027c..be02519 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
@@ -16,11 +16,15 @@
package com.android.settings.connecteddevice.audiosharing;
+import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothLeBroadcast;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
import android.content.Context;
import android.util.Log;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.annotation.NonNull;
import androidx.lifecycle.DefaultLifecycleObserver;
@@ -31,23 +35,34 @@
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.flags.Flags;
import com.android.settings.widget.SettingsMainSwitchBar;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.utils.ThreadUtils;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
public class AudioSharingSwitchBarController extends BasePreferenceController
- implements DefaultLifecycleObserver, OnMainSwitchChangeListener {
+ implements DefaultLifecycleObserver, OnCheckedChangeListener {
private static final String TAG = "AudioSharingSwitchBarCtl";
private static final String PREF_KEY = "audio_sharing_main_switch";
+
+ interface OnSwitchBarChangedListener {
+ void onSwitchBarChanged(boolean newState);
+ }
+
private final SettingsMainSwitchBar mSwitchBar;
private final LocalBluetoothManager mBtManager;
private final LocalBluetoothLeBroadcast mBroadcast;
+ private final LocalBluetoothLeBroadcastAssistant mAssistant;
private final Executor mExecutor;
+ private final OnSwitchBarChangedListener mListener;
private DashboardFragment mFragment;
private final BluetoothLeBroadcast.Callback mBroadcastCallback =
@@ -78,8 +93,45 @@
"onBroadcastMetadataChanged(), broadcastId = "
+ broadcastId
+ ", metadata = "
- + metadata);
- // TODO: handle add sink if there are connected lea devices.
+ + metadata.getBroadcastName());
+ Map<Integer, List<CachedBluetoothDevice>> groupedConnectedDevices =
+ AudioSharingUtils.fetchConnectedDevicesByGroupId(mBtManager);
+ ArrayList<AudioSharingDeviceItem> deviceItems =
+ AudioSharingUtils.buildOrderedConnectedLeadAudioSharingDeviceItem(
+ mBtManager,
+ groupedConnectedDevices,
+ /* filterByInSharing= */ false);
+ // deviceItems is ordered. The active device is the first place if exits.
+ ArrayList<AudioSharingDeviceItem> deviceItemsForSharing = deviceItems;
+ if (!deviceItems.isEmpty() && deviceItems.get(0).isActive()) {
+ for (CachedBluetoothDevice device :
+ groupedConnectedDevices.get(deviceItems.get(0).getGroupId())) {
+ // If active device exists for audio sharing, share to it
+ // automatically once the broadcast is started.
+ addSourceToSink(device.getDevice());
+ }
+ deviceItemsForSharing.remove(0);
+ }
+ if (mFragment == null) {
+ Log.w(TAG, "Dialog fail to show due to null fragment.");
+ return;
+ }
+ ThreadUtils.postOnMainThread(
+ () -> {
+ AudioSharingDialogFragment.show(
+ mFragment,
+ deviceItemsForSharing,
+ item -> {
+ if (groupedConnectedDevices.containsKey(
+ item.getGroupId())) {
+ for (CachedBluetoothDevice device :
+ groupedConnectedDevices.get(
+ item.getGroupId())) {
+ addSourceToSink(device.getDevice());
+ }
+ }
+ });
+ });
}
@Override
@@ -113,11 +165,89 @@
public void onPlaybackStopped(int reason, int broadcastId) {}
};
- AudioSharingSwitchBarController(Context context, SettingsMainSwitchBar switchBar) {
+ private BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+ new BluetoothLeBroadcastAssistant.Callback() {
+ @Override
+ public void onSearchStarted(int reason) {}
+
+ @Override
+ public void onSearchStartFailed(int reason) {}
+
+ @Override
+ public void onSearchStopped(int reason) {}
+
+ @Override
+ public void onSearchStopFailed(int reason) {}
+
+ @Override
+ public void onSourceFound(@NonNull BluetoothLeBroadcastMetadata source) {}
+
+ @Override
+ public void onSourceAdded(@NonNull BluetoothDevice sink, int sourceId, int reason) {
+ Log.d(
+ TAG,
+ "onSourceAdded(), sink = "
+ + sink
+ + ", sourceId = "
+ + sourceId
+ + ", reason = "
+ + reason);
+ AudioSharingUtils.updateActiveDeviceIfNeeded(mBtManager);
+ }
+
+ @Override
+ public void onSourceAddFailed(
+ @NonNull BluetoothDevice sink,
+ @NonNull BluetoothLeBroadcastMetadata source,
+ int reason) {
+ Log.d(
+ TAG,
+ "onSourceAddFailed(), sink = "
+ + sink
+ + ", source = "
+ + source
+ + ", reason = "
+ + reason);
+ AudioSharingUtils.toastMessage(
+ mContext,
+ String.format(
+ Locale.US,
+ "Fail to add source to %s reason %d",
+ sink.getAddress(),
+ reason));
+ }
+
+ @Override
+ public void onSourceModified(
+ @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+ @Override
+ public void onSourceModifyFailed(
+ @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+ @Override
+ public void onSourceRemoved(
+ @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+ @Override
+ public void onSourceRemoveFailed(
+ @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+ @Override
+ public void onReceiveStateChanged(
+ BluetoothDevice sink,
+ int sourceId,
+ BluetoothLeBroadcastReceiveState state) {}
+ };
+
+ AudioSharingSwitchBarController(
+ Context context, SettingsMainSwitchBar switchBar, OnSwitchBarChangedListener listener) {
super(context, PREF_KEY);
mSwitchBar = switchBar;
+ mListener = listener;
mBtManager = Utils.getLocalBtManager(context);
mBroadcast = mBtManager.getProfileManager().getLeAudioBroadcastProfile();
+ mAssistant = mBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile();
mExecutor = Executors.newSingleThreadExecutor();
mSwitchBar.setChecked(isBroadcasting());
}
@@ -128,6 +258,9 @@
if (mBroadcast != null) {
mBroadcast.registerServiceCallBack(mExecutor, mBroadcastCallback);
}
+ if (mAssistant != null) {
+ mAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
+ }
}
@Override
@@ -136,12 +269,15 @@
if (mBroadcast != null) {
mBroadcast.unregisterServiceCallBack(mBroadcastCallback);
}
+ if (mAssistant != null) {
+ mAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
+ }
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// Filter out unnecessary callbacks when switch is disabled.
- if (!switchView.isEnabled()) return;
+ if (!buttonView.isEnabled()) return;
if (isChecked) {
startAudioSharing();
} else {
@@ -170,26 +306,8 @@
mSwitchBar.setEnabled(true);
return;
}
- if (mFragment == null) {
- Log.w(TAG, "Dialog fail to show due to null fragment.");
- mSwitchBar.setEnabled(true);
- return;
- }
- ArrayList<String> deviceNames = new ArrayList<>();
- AudioSharingDialogFragment.show(
- mFragment,
- deviceNames,
- new AudioSharingDialogFragment.DialogEventListener() {
- @Override
- public void onItemClick(int position) {
- // TODO: handle broadcast based on the dialog device item clicked
- }
-
- @Override
- public void onCancelClick() {
- mBroadcast.startBroadcast("test", /* language= */ null);
- }
- });
+ // TODO: start broadcast with new API
+ mBroadcast.startBroadcast("test", null);
}
private void stopAudioSharing() {
@@ -205,12 +323,36 @@
private void updateSwitch() {
ThreadUtils.postOnMainThread(
() -> {
- mSwitchBar.setChecked(isBroadcasting());
+ boolean isBroadcasting = isBroadcasting();
+ if (mSwitchBar.isChecked() != isBroadcasting) {
+ mSwitchBar.setChecked(isBroadcasting);
+ }
mSwitchBar.setEnabled(true);
+ mListener.onSwitchBarChanged(isBroadcasting);
});
}
private boolean isBroadcasting() {
return mBroadcast != null && mBroadcast.isEnabled(null);
}
+
+ private void addSourceToSink(BluetoothDevice sink) {
+ if (mBroadcast == null || mAssistant == null) {
+ Log.d(TAG, "Skip adding source to target.");
+ return;
+ }
+ BluetoothLeBroadcastMetadata broadcastMetadata =
+ mBroadcast.getLatestBluetoothLeBroadcastMetadata();
+ if (broadcastMetadata == null) {
+ Log.e(TAG, "Error: There is no broadcastMetadata.");
+ return;
+ }
+ Log.d(
+ TAG,
+ "Add broadcast with broadcastId: "
+ + broadcastMetadata.getBroadcastId()
+ + "to the device: "
+ + sink.getAnonymizedAddress());
+ mAssistant.addSource(sink, broadcastMetadata, /* isGroupOp= */ false);
+ }
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingUtils.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingUtils.java
new file mode 100644
index 0000000..9210074
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingUtils.java
@@ -0,0 +1,266 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothCsipSetCoordinator;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.content.Context;
+import android.util.Log;
+import android.widget.Toast;
+
+import com.android.settingslib.bluetooth.BluetoothUtils;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+public class AudioSharingUtils {
+ private static final String TAG = "AudioSharingUtils";
+
+ /**
+ * Fetch {@link CachedBluetoothDevice}s connected to the broadcast assistant. The devices are
+ * grouped by CSIP group id.
+ *
+ * @param localBtManager The BT manager to provide BT functions.
+ * @return A map of connected devices grouped by CSIP group id.
+ */
+ public static Map<Integer, List<CachedBluetoothDevice>> fetchConnectedDevicesByGroupId(
+ LocalBluetoothManager localBtManager) {
+ Map<Integer, List<CachedBluetoothDevice>> groupedDevices = new HashMap<>();
+ LocalBluetoothLeBroadcastAssistant assistant =
+ localBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile();
+ if (assistant == null) return groupedDevices;
+ // TODO: filter out devices with le audio disabled.
+ List<BluetoothDevice> connectedDevices = assistant.getConnectedDevices();
+ CachedBluetoothDeviceManager cacheManager = localBtManager.getCachedDeviceManager();
+ for (BluetoothDevice device : connectedDevices) {
+ CachedBluetoothDevice cachedDevice = cacheManager.findDevice(device);
+ if (cachedDevice == null) {
+ Log.d(TAG, "Skip device due to not being cached: " + device.getAnonymizedAddress());
+ continue;
+ }
+ int groupId = cachedDevice.getGroupId();
+ if (groupId == BluetoothCsipSetCoordinator.GROUP_ID_INVALID) {
+ Log.d(
+ TAG,
+ "Skip device due to no valid group id: " + device.getAnonymizedAddress());
+ continue;
+ }
+ if (!groupedDevices.containsKey(groupId)) {
+ groupedDevices.put(groupId, new ArrayList<>());
+ }
+ groupedDevices.get(groupId).add(cachedDevice);
+ }
+ return groupedDevices;
+ }
+
+ /**
+ * Fetch a list of ordered connected lead {@link CachedBluetoothDevice}s eligible for audio
+ * sharing. The active device is placed in the first place if it exists. The devices can be
+ * filtered by whether it is already in the audio sharing session.
+ *
+ * @param localBtManager The BT manager to provide BT functions. *
+ * @param groupedConnectedDevices devices connected to broadcast assistant grouped by CSIP group
+ * id.
+ * @param filterByInSharing Whether to filter the device by if is already in the sharing
+ * session.
+ * @return A list of ordered connected devices eligible for the audio sharing. The active device
+ * is placed in the first place if it exists.
+ */
+ public static List<CachedBluetoothDevice> buildOrderedConnectedLeadDevices(
+ LocalBluetoothManager localBtManager,
+ Map<Integer, List<CachedBluetoothDevice>> groupedConnectedDevices,
+ boolean filterByInSharing) {
+ List<CachedBluetoothDevice> orderedDevices = new ArrayList<>();
+ LocalBluetoothLeBroadcastAssistant assistant =
+ localBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile();
+ if (assistant == null) return orderedDevices;
+ for (List<CachedBluetoothDevice> devices : groupedConnectedDevices.values()) {
+ CachedBluetoothDevice leadDevice = null;
+ for (CachedBluetoothDevice device : devices) {
+ if (!device.getMemberDevice().isEmpty()) {
+ leadDevice = device;
+ break;
+ }
+ }
+ if (leadDevice == null && !devices.isEmpty()) {
+ leadDevice = devices.get(0);
+ Log.d(
+ TAG,
+ "Empty member device, pick arbitrary device as the lead: "
+ + leadDevice.getDevice().getAnonymizedAddress());
+ }
+ if (leadDevice == null) {
+ Log.d(TAG, "Skip due to no lead device");
+ continue;
+ }
+ if (filterByInSharing && !hasBroadcastSource(leadDevice, localBtManager)) {
+ Log.d(
+ TAG,
+ "Filtered the device due to not in sharing session: "
+ + leadDevice.getDevice().getAnonymizedAddress());
+ continue;
+ }
+ orderedDevices.add(leadDevice);
+ }
+ orderedDevices.sort(
+ (CachedBluetoothDevice d1, CachedBluetoothDevice d2) -> {
+ // Active above not inactive
+ int comparison =
+ (isActiveLeAudioDevice(d2) ? 1 : 0)
+ - (isActiveLeAudioDevice(d1) ? 1 : 0);
+ if (comparison != 0) return comparison;
+ // Bonded above not bonded
+ comparison =
+ (d2.getBondState() == BluetoothDevice.BOND_BONDED ? 1 : 0)
+ - (d1.getBondState() == BluetoothDevice.BOND_BONDED ? 1 : 0);
+ if (comparison != 0) return comparison;
+ // Bond timestamp available above unavailable
+ comparison =
+ (d2.getBondTimestamp() != null ? 1 : 0)
+ - (d1.getBondTimestamp() != null ? 1 : 0);
+ if (comparison != 0) return comparison;
+ // Order by bond timestamp if it is available
+ // Otherwise order by device name
+ return d1.getBondTimestamp() != null
+ ? d1.getBondTimestamp().compareTo(d2.getBondTimestamp())
+ : d1.getName().compareTo(d2.getName());
+ });
+ return orderedDevices;
+ }
+
+ /**
+ * Fetch a list of ordered connected lead {@link AudioSharingDeviceItem}s eligible for audio
+ * sharing. The active device is placed in the first place if it exists. The devices can be
+ * filtered by whether it is already in the audio sharing session.
+ *
+ * @param localBtManager The BT manager to provide BT functions. *
+ * @param groupedConnectedDevices devices connected to broadcast assistant grouped by CSIP group
+ * id.
+ * @param filterByInSharing Whether to filter the device by if is already in the sharing
+ * session.
+ * @return A list of ordered connected devices eligible for the audio sharing. The active device
+ * is placed in the first place if it exists.
+ */
+ public static ArrayList<AudioSharingDeviceItem> buildOrderedConnectedLeadAudioSharingDeviceItem(
+ LocalBluetoothManager localBtManager,
+ Map<Integer, List<CachedBluetoothDevice>> groupedConnectedDevices,
+ boolean filterByInSharing) {
+ return buildOrderedConnectedLeadDevices(
+ localBtManager, groupedConnectedDevices, filterByInSharing)
+ .stream()
+ .map(device -> buildAudioSharingDeviceItem(device))
+ .collect(Collectors.toCollection(ArrayList::new));
+ }
+
+ /** Build {@link AudioSharingDeviceItem} from {@link CachedBluetoothDevice}. */
+ public static AudioSharingDeviceItem buildAudioSharingDeviceItem(
+ CachedBluetoothDevice cachedDevice) {
+ return new AudioSharingDeviceItem(
+ cachedDevice.getName(),
+ cachedDevice.getGroupId(),
+ isActiveLeAudioDevice(cachedDevice));
+ }
+
+ /**
+ * Check if {@link CachedBluetoothDevice} is in an audio sharing session.
+ *
+ * @param cachedDevice The cached bluetooth device to check.
+ * @param localBtManager The BT manager to provide BT functions.
+ * @return Whether the device is in an audio sharing session.
+ */
+ public static boolean hasBroadcastSource(
+ CachedBluetoothDevice cachedDevice, LocalBluetoothManager localBtManager) {
+ LocalBluetoothLeBroadcastAssistant assistant =
+ localBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile();
+ if (assistant == null) {
+ return false;
+ }
+ List<BluetoothLeBroadcastReceiveState> sourceList =
+ assistant.getAllSources(cachedDevice.getDevice());
+ if (!sourceList.isEmpty()) return true;
+ // Return true if member device is in broadcast.
+ for (CachedBluetoothDevice device : cachedDevice.getMemberDevice()) {
+ List<BluetoothLeBroadcastReceiveState> list =
+ assistant.getAllSources(device.getDevice());
+ if (!list.isEmpty()) return true;
+ }
+ return false;
+ }
+
+ /**
+ * Check if {@link CachedBluetoothDevice} is an active le audio device.
+ *
+ * @param cachedDevice The cached bluetooth device to check.
+ * @return Whether the device is an active le audio device.
+ */
+ public static boolean isActiveLeAudioDevice(CachedBluetoothDevice cachedDevice) {
+ if (BluetoothUtils.isActiveLeAudioDevice(cachedDevice)) {
+ return true;
+ }
+ // Return true if member device is an active le audio device.
+ for (CachedBluetoothDevice device : cachedDevice.getMemberDevice()) {
+ if (BluetoothUtils.isActiveLeAudioDevice(device)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /** Toast message on main thread. */
+ public static void toastMessage(Context context, String message) {
+ ThreadUtils.postOnMainThread(
+ () -> Toast.makeText(context, message, Toast.LENGTH_LONG).show());
+ }
+
+ /** Automatically update active device if needed. */
+ public static void updateActiveDeviceIfNeeded(LocalBluetoothManager localBtManager) {
+ if (localBtManager == null) return;
+ Map<Integer, List<CachedBluetoothDevice>> groupedConnectedDevices =
+ fetchConnectedDevicesByGroupId(localBtManager);
+ List<CachedBluetoothDevice> devicesInSharing =
+ buildOrderedConnectedLeadDevices(
+ localBtManager, groupedConnectedDevices, /* filterByInSharing= */ true);
+ if (devicesInSharing.isEmpty()) return;
+ List<BluetoothDevice> devices =
+ BluetoothAdapter.getDefaultAdapter().getMostRecentlyConnectedDevices();
+ CachedBluetoothDevice targetDevice = null;
+ int targetDeviceIdx = -1;
+ for (CachedBluetoothDevice device : devicesInSharing) {
+ if (devices.contains(device.getDevice())) {
+ int idx = devices.indexOf(device.getDevice());
+ if (idx > targetDeviceIdx) {
+ targetDeviceIdx = idx;
+ targetDevice = device;
+ }
+ }
+ }
+ if (targetDevice != null && !isActiveLeAudioDevice(targetDevice)) {
+ Log.d(TAG, "Set active device: " + targetDevice.getDevice().getAnonymizedAddress());
+ targetDevice.setActive();
+ }
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsDialogFragment.java
index 0577f70..47f70c7 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsDialogFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsDialogFragment.java
@@ -28,9 +28,25 @@
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.flags.Flags;
+import java.util.ArrayList;
+
/** Provides a dialog to choose the active device for calls and alarms. */
public class CallsAndAlarmsDialogFragment extends InstrumentedDialogFragment {
private static final String TAG = "CallsAndAlarmsDialog";
+ private static final String BUNDLE_KEY_DEVICE_ITEMS = "bundle_key_device_items";
+
+ // The host creates an instance of this dialog fragment must implement this interface to receive
+ // event callbacks.
+ public interface DialogEventListener {
+ /**
+ * Called when users click the device item to set active for calls and alarms in the dialog.
+ *
+ * @param item The device item clicked.
+ */
+ void onItemClick(AudioSharingDeviceItem item);
+ }
+
+ private static DialogEventListener sListener;
@Override
public int getMetricsCategory() {
@@ -41,28 +57,43 @@
* Display the {@link CallsAndAlarmsDialogFragment} dialog.
*
* @param host The Fragment this dialog will be hosted.
+ * @param deviceItems The connected device items in audio sharing session.
+ * @param listener The callback to handle the user action on this dialog.
*/
- public static void show(Fragment host) {
+ public static void show(
+ Fragment host,
+ ArrayList<AudioSharingDeviceItem> deviceItems,
+ DialogEventListener listener) {
if (!Flags.enableLeAudioSharing()) return;
final FragmentManager manager = host.getChildFragmentManager();
+ sListener = listener;
if (manager.findFragmentByTag(TAG) == null) {
+ final Bundle bundle = new Bundle();
+ bundle.putParcelableArrayList(BUNDLE_KEY_DEVICE_ITEMS, deviceItems);
final CallsAndAlarmsDialogFragment dialog = new CallsAndAlarmsDialogFragment();
+ dialog.setArguments(bundle);
dialog.show(manager, TAG);
}
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- // TODO: use real device names
- String[] choices = {"Buds 1", "Buds 2"};
+ Bundle arguments = requireArguments();
+ ArrayList<AudioSharingDeviceItem> deviceItems =
+ arguments.getParcelableArrayList(BUNDLE_KEY_DEVICE_ITEMS);
+ int checkedItem = -1;
+ // deviceItems is ordered. The active device is put in the first place if it does exist
+ if (!deviceItems.isEmpty() && deviceItems.get(0).isActive()) checkedItem = 0;
+ String[] choices =
+ deviceItems.stream().map(AudioSharingDeviceItem::getName).toArray(String[]::new);
AlertDialog.Builder builder =
new AlertDialog.Builder(getActivity())
.setTitle(R.string.calls_and_alarms_device_title)
.setSingleChoiceItems(
choices,
- 0, // TODO: set to current active device.
+ checkedItem,
(dialog, which) -> {
- // TODO: set device to active device for calls and alarms.
+ sListener.onItemClick(deviceItems.get(which));
});
return builder.create();
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsPreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsPreferenceController.java
index 480b257..a6adf8a 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsPreferenceController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsPreferenceController.java
@@ -16,33 +16,42 @@
package com.android.settings.connecteddevice.audiosharing;
+import android.annotation.Nullable;
+import android.bluetooth.BluetoothProfile;
import android.content.Context;
import android.util.Log;
-import androidx.preference.Preference;
+import androidx.annotation.NonNull;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
import androidx.preference.PreferenceScreen;
-import com.android.settings.core.BasePreferenceController;
+import com.android.settings.bluetooth.Utils;
import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.flags.Flags;
+import com.android.settingslib.bluetooth.BluetoothCallback;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/** PreferenceController to control the dialog to choose the active device for calls and alarms */
-public class CallsAndAlarmsPreferenceController extends BasePreferenceController {
+public class CallsAndAlarmsPreferenceController extends AudioSharingBasePreferenceController
+ implements BluetoothCallback, DefaultLifecycleObserver {
private static final String TAG = "CallsAndAlarmsPreferenceController";
-
private static final String PREF_KEY = "calls_and_alarms";
- private Preference mPreference;
+ private final LocalBluetoothManager mLocalBtManager;
private DashboardFragment mFragment;
+ Map<Integer, List<CachedBluetoothDevice>> mGroupedConnectedDevices = new HashMap<>();
+ private ArrayList<AudioSharingDeviceItem> mDeviceItemsInSharingSession = new ArrayList<>();
public CallsAndAlarmsPreferenceController(Context context) {
super(context, PREF_KEY);
- }
-
- @Override
- public int getAvailabilityStatus() {
- return Flags.enableLeAudioSharing() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+ mLocalBtManager = Utils.getLocalBtManager(mContext);
}
@Override
@@ -53,18 +62,68 @@
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
- mPreference = screen.findPreference(getPreferenceKey());
mPreference.setOnPreferenceClickListener(
preference -> {
- if (mFragment != null) {
- CallsAndAlarmsDialogFragment.show(mFragment);
- } else {
+ if (mFragment == null) {
Log.w(TAG, "Dialog fail to show due to null host.");
+ return true;
+ }
+ updateDeviceItemsInSharingSession();
+ if (mDeviceItemsInSharingSession.size() >= 2) {
+ CallsAndAlarmsDialogFragment.show(
+ mFragment,
+ mDeviceItemsInSharingSession,
+ (AudioSharingDeviceItem item) -> {
+ for (CachedBluetoothDevice device :
+ mGroupedConnectedDevices.get(item.getGroupId())) {
+ device.setActive();
+ }
+ });
}
return true;
});
}
+ @Override
+ public void onStart(@NonNull LifecycleOwner owner) {
+ if (mLocalBtManager != null) {
+ mLocalBtManager.getEventManager().registerCallback(this);
+ }
+ }
+
+ @Override
+ public void onStop(@NonNull LifecycleOwner owner) {
+ if (mLocalBtManager != null) {
+ mLocalBtManager.getEventManager().unregisterCallback(this);
+ }
+ }
+
+ @Override
+ public void updateVisibility(boolean isVisible) {
+ super.updateVisibility(isVisible);
+ if (isVisible && mPreference != null) {
+ updateDeviceItemsInSharingSession();
+ // mDeviceItemsInSharingSession is ordered. The active device is the first place if
+ // exits.
+ if (!mDeviceItemsInSharingSession.isEmpty()
+ && mDeviceItemsInSharingSession.get(0).isActive()) {
+ mPreference.setSummary(mDeviceItemsInSharingSession.get(0).getName());
+ } else {
+ mPreference.setSummary("");
+ }
+ }
+ }
+
+ @Override
+ public void onActiveDeviceChanged(
+ @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
+ if (bluetoothProfile != BluetoothProfile.LE_AUDIO) {
+ Log.d(TAG, "Ignore onActiveDeviceChanged, not LE_AUDIO profile");
+ return;
+ }
+ mPreference.setSummary(activeDevice == null ? "" : activeDevice.getName());
+ }
+
/**
* Initialize the controller.
*
@@ -73,4 +132,12 @@
public void init(DashboardFragment fragment) {
this.mFragment = fragment;
}
+
+ private void updateDeviceItemsInSharingSession() {
+ mGroupedConnectedDevices =
+ AudioSharingUtils.fetchConnectedDevicesByGroupId(mLocalBtManager);
+ mDeviceItemsInSharingSession =
+ AudioSharingUtils.buildOrderedConnectedLeadAudioSharingDeviceItem(
+ mLocalBtManager, mGroupedConnectedDevices, /* filterByInSharing= */ true);
+ }
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java
new file mode 100644
index 0000000..6809c7d
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing.audiostreams;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import com.android.settings.R;
+import com.android.settingslib.widget.TwoTargetPreference;
+
+/**
+ * Custom preference class for managing audio stream preferences with an optional lock icon. Extends
+ * {@link TwoTargetPreference}.
+ */
+public class AudioStreamPreference extends TwoTargetPreference {
+ private boolean mShowLock = true;
+
+ /**
+ * Sets whether to display the lock icon.
+ *
+ * @param showLock Should show / hide the lock icon
+ */
+ public void setShowLock(boolean showLock) {
+ mShowLock = showLock;
+ notifyChanged();
+ }
+
+ public AudioStreamPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ @Override
+ protected boolean shouldHideSecondTarget() {
+ return !mShowLock;
+ }
+
+ @Override
+ protected int getSecondTargetResId() {
+ return R.layout.preference_widget_lock;
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceController.java
new file mode 100644
index 0000000..d001409
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceController.java
@@ -0,0 +1,67 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing.audiostreams;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class AudioStreamsActiveDeviceController extends BasePreferenceController
+ implements AudioStreamsActiveDeviceSummaryUpdater.OnSummaryChangeListener,
+ DefaultLifecycleObserver {
+
+ public static final String KEY = "audio_streams_active_device";
+ private final AudioStreamsActiveDeviceSummaryUpdater mSummaryHelper;
+ private Preference mPreference;
+
+ public AudioStreamsActiveDeviceController(Context context, String preferenceKey) {
+ super(context, preferenceKey);
+ mSummaryHelper = new AudioStreamsActiveDeviceSummaryUpdater(mContext, this);
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ mPreference = screen.findPreference(KEY);
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ return AVAILABLE;
+ }
+
+ @Override
+ public void onSummaryChanged(String summary) {
+ mPreference.setSummary(summary);
+ }
+
+ @Override
+ public void onResume(@NonNull LifecycleOwner owner) {
+ mSummaryHelper.register(true);
+ }
+
+ @Override
+ public void onStop(@NonNull LifecycleOwner owner) {
+ mSummaryHelper.register(false);
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java
new file mode 100644
index 0000000..cf79596
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java
@@ -0,0 +1,119 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing.audiostreams;
+
+import android.annotation.Nullable;
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
+import com.android.settingslib.bluetooth.BluetoothCallback;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.util.Optional;
+
+public class AudioStreamsActiveDeviceSummaryUpdater implements BluetoothCallback {
+ private static final String TAG = "AudioStreamsActiveDeviceSummaryUpdater";
+ private static final boolean DEBUG = BluetoothUtils.D;
+ private final LocalBluetoothManager mBluetoothManager;
+ private String mSummary;
+ private OnSummaryChangeListener mListener;
+
+ public AudioStreamsActiveDeviceSummaryUpdater(
+ Context context, OnSummaryChangeListener listener) {
+ mBluetoothManager = Utils.getLocalBluetoothManager(context);
+ mListener = listener;
+ }
+
+ @Override
+ public void onActiveDeviceChanged(
+ @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
+ if (DEBUG) {
+ Log.d(
+ TAG,
+ "onActiveDeviceChanged() with activeDevice : "
+ + (activeDevice == null ? "null" : activeDevice.getAddress())
+ + " on profile : "
+ + bluetoothProfile);
+ }
+ if (bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+ notifyChangeIfNeeded();
+ }
+ }
+
+ void register(boolean register) {
+ if (register) {
+ notifyChangeIfNeeded();
+ mBluetoothManager.getEventManager().registerCallback(this);
+ } else {
+ mBluetoothManager.getEventManager().unregisterCallback(this);
+ }
+ }
+
+ private void notifyChangeIfNeeded() {
+ ThreadUtils.postOnBackgroundThread(
+ () -> {
+ String summary = getSummary();
+ if (!TextUtils.equals(mSummary, summary)) {
+ mSummary = summary;
+ ThreadUtils.postOnMainThread(() -> mListener.onSummaryChanged(summary));
+ }
+ });
+ }
+
+ private String getSummary() {
+ var activeSink = getActiveSinkOnAssistant(mBluetoothManager);
+ if (activeSink.isEmpty()) {
+ return "No active LE Audio device";
+ }
+ return activeSink.get().getName();
+ }
+
+ private static Optional<CachedBluetoothDevice> getActiveSinkOnAssistant(
+ LocalBluetoothManager manager) {
+ if (manager == null) {
+ Log.w(TAG, "getActiveSinksOnAssistant(): LocalBluetoothManager is null!");
+ return Optional.empty();
+ }
+ var groupedDevices = AudioSharingUtils.fetchConnectedDevicesByGroupId(manager);
+ var leadDevices =
+ AudioSharingUtils.buildOrderedConnectedLeadDevices(manager, groupedDevices, false);
+
+ if (!leadDevices.isEmpty() && AudioSharingUtils.isActiveLeAudioDevice(leadDevices.get(0))) {
+ return Optional.of(leadDevices.get(0));
+ } else {
+ Log.w(TAG, "getActiveSinksOnAssistant(): No active lead device!");
+ }
+ return Optional.empty();
+ }
+
+ /** Interface definition for a callback to be invoked when the summary has been changed. */
+ interface OnSummaryChangeListener {
+ /**
+ * Called when summary has changed.
+ *
+ * @param summary The new summary.
+ */
+ void onSummaryChanged(String summary);
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioStreamsCategoryController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java
similarity index 88%
rename from src/com/android/settings/connecteddevice/audiosharing/AudioStreamsCategoryController.java
rename to src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java
index e25a6ab..84a7be9 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioStreamsCategoryController.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settings.connecteddevice.audiosharing;
+package com.android.settings.connecteddevice.audiosharing.audiostreams;
import android.content.Context;
@@ -29,6 +29,8 @@
@Override
public int getAvailabilityStatus() {
- return Flags.enableLeAudioQrCodePrivateBroadcastSharing() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+ return Flags.enableLeAudioQrCodePrivateBroadcastSharing()
+ ? AVAILABLE
+ : UNSUPPORTED_ON_DEVICE;
}
}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioStreamsDashboardFragment.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java
similarity index 95%
rename from src/com/android/settings/connecteddevice/audiosharing/AudioStreamsDashboardFragment.java
rename to src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java
index 40a8b29..562427f 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioStreamsDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settings.connecteddevice.audiosharing;
+package com.android.settings.connecteddevice.audiosharing.audiostreams;
import android.content.Context;
import android.os.Bundle;
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreference.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreference.java
new file mode 100644
index 0000000..d259900
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreference.java
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing.audiostreams;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import com.android.settings.ProgressCategory;
+import com.android.settings.R;
+
+public class AudioStreamsProgressCategoryPreference extends ProgressCategory {
+
+ public AudioStreamsProgressCategoryPreference(Context context) {
+ super(context);
+ init();
+ }
+
+ public AudioStreamsProgressCategoryPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ init();
+ }
+
+ public AudioStreamsProgressCategoryPreference(
+ Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ init();
+ }
+
+ public AudioStreamsProgressCategoryPreference(
+ Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ init();
+ }
+
+ private void init() {
+ setEmptyTextRes(R.string.audio_streams_empty);
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragment.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragment.java
new file mode 100644
index 0000000..42b38ee
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragment.java
@@ -0,0 +1,102 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing.audiostreams;
+
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.graphics.Bitmap;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+
+import com.android.settings.R;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.core.InstrumentedFragment;
+import com.android.settingslib.bluetooth.BluetoothLeBroadcastMetadataExt;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.qrcode.QrCodeGenerator;
+
+import com.google.zxing.WriterException;
+
+import java.util.Optional;
+
+public class AudioStreamsQrCodeFragment extends InstrumentedFragment {
+ private static final String TAG = "AudioStreamsQrCodeFragment";
+
+ @Override
+ public int getMetricsCategory() {
+ // TODO(chelseahao): update metrics id
+ return 0;
+ }
+
+ @Override
+ public final View onCreateView(
+ LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ View view = inflater.inflate(R.xml.bluetooth_audio_streams_qr_code, container, false);
+ getQrCodeBitmap()
+ .ifPresent(
+ bm ->
+ ((ImageView) view.requireViewById(R.id.qrcode_view))
+ .setImageBitmap(bm));
+ return view;
+ }
+
+ private Optional<Bitmap> getQrCodeBitmap() {
+ String broadcastMetadata = getBroadcastMetadataQrCode();
+ if (broadcastMetadata.isEmpty()) {
+ Log.d(TAG, "onCreateView: broadcastMetadata is empty!");
+ return Optional.empty();
+ }
+
+ try {
+ int qrcodeSize = getContext().getResources().getDimensionPixelSize(R.dimen.qrcode_size);
+ Bitmap bitmap = QrCodeGenerator.encodeQrCode(broadcastMetadata, qrcodeSize);
+ return Optional.of(bitmap);
+ } catch (WriterException e) {
+ Log.d(
+ TAG,
+ "onCreateView: broadcastMetadata "
+ + broadcastMetadata
+ + " qrCode generation exception "
+ + e);
+ }
+
+ return Optional.empty();
+ }
+
+ private String getBroadcastMetadataQrCode() {
+ LocalBluetoothLeBroadcast localBluetoothLeBroadcast =
+ Utils.getLocalBtManager(getActivity())
+ .getProfileManager()
+ .getLeAudioBroadcastProfile();
+ if (localBluetoothLeBroadcast == null) {
+ Log.d(TAG, "getBroadcastMetadataQrCode: localBluetoothLeBroadcast is null!");
+ return "";
+ }
+
+ BluetoothLeBroadcastMetadata metadata =
+ localBluetoothLeBroadcast.getLatestBluetoothLeBroadcastMetadata();
+ if (metadata == null) {
+ Log.d(TAG, "getBroadcastMetadataQrCode: metadata is null!");
+ return "";
+ }
+
+ return BluetoothLeBroadcastMetadataExt.INSTANCE.toQrCodeString(metadata);
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeActivity.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeActivity.java
new file mode 100644
index 0000000..d6d0634
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeActivity.java
@@ -0,0 +1,122 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing.audiostreams.qrcode;
+
+import static com.android.settingslib.bluetooth.BluetoothBroadcastUtils.EXTRA_BLUETOOTH_DEVICE_SINK;
+import static com.android.settingslib.bluetooth.BluetoothBroadcastUtils.EXTRA_BLUETOOTH_SINK_IS_GROUP;
+
+import android.bluetooth.BluetoothDevice;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+
+import androidx.fragment.app.FragmentTransaction;
+
+import com.android.settings.R;
+import com.android.settingslib.bluetooth.BluetoothBroadcastUtils;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+
+/**
+ * Finding a broadcast through QR code.
+ *
+ * <p>To use intent action {@link
+ * BluetoothBroadcastUtils#ACTION_BLUETOOTH_LE_AUDIO_QR_CODE_SCANNER}, specify the bluetooth device
+ * sink of the broadcast to be provisioned in {@link
+ * BluetoothBroadcastUtils#EXTRA_BLUETOOTH_DEVICE_SINK} and check the operation for all coordinated
+ * set members throughout one session or not by {@link
+ * BluetoothBroadcastUtils#EXTRA_BLUETOOTH_SINK_IS_GROUP}.
+ */
+public class QrCodeScanModeActivity extends QrCodeScanModeBaseActivity {
+ private static final boolean DEBUG = BluetoothUtils.D;
+ private static final String TAG = "QrCodeScanModeActivity";
+
+ private boolean mIsGroupOp;
+ private BluetoothDevice mSink;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ }
+
+ @Override
+ protected void handleIntent(Intent intent) {
+ String action = intent != null ? intent.getAction() : null;
+ if (DEBUG) {
+ Log.d(TAG, "handleIntent(), action = " + action);
+ }
+
+ if (action == null) {
+ finish();
+ return;
+ }
+
+ switch (action) {
+ case BluetoothBroadcastUtils.ACTION_BLUETOOTH_LE_AUDIO_QR_CODE_SCANNER:
+ showQrCodeScannerFragment(intent);
+ break;
+ default:
+ if (DEBUG) {
+ Log.e(TAG, "Launch with an invalid action");
+ }
+ finish();
+ }
+ }
+
+ protected void showQrCodeScannerFragment(Intent intent) {
+ if (intent == null) {
+ if (DEBUG) {
+ Log.d(TAG, "intent is null, can not get bluetooth information from intent.");
+ }
+ return;
+ }
+
+ if (DEBUG) {
+ Log.d(TAG, "showQrCodeScannerFragment");
+ }
+
+ mSink = intent.getParcelableExtra(EXTRA_BLUETOOTH_DEVICE_SINK);
+ mIsGroupOp = intent.getBooleanExtra(EXTRA_BLUETOOTH_SINK_IS_GROUP, false);
+ if (DEBUG) {
+ Log.d(TAG, "get extra from intent");
+ }
+
+ QrCodeScanModeFragment fragment =
+ (QrCodeScanModeFragment)
+ mFragmentManager.findFragmentByTag(
+ BluetoothBroadcastUtils.TAG_FRAGMENT_QR_CODE_SCANNER);
+
+ if (fragment == null) {
+ fragment = new QrCodeScanModeFragment();
+ } else {
+ if (fragment.isVisible()) {
+ return;
+ }
+
+ // When the fragment in back stack but not on top of the stack, we can simply pop
+ // stack because current fragment transactions are arranged in an order
+ mFragmentManager.popBackStackImmediate();
+ return;
+ }
+ final FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
+
+ fragmentTransaction.replace(
+ R.id.fragment_container,
+ fragment,
+ BluetoothBroadcastUtils.TAG_FRAGMENT_QR_CODE_SCANNER);
+ fragmentTransaction.commit();
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeBaseActivity.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeBaseActivity.java
new file mode 100644
index 0000000..637014a
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeBaseActivity.java
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing.audiostreams.qrcode;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.SystemProperties;
+
+import androidx.fragment.app.FragmentManager;
+
+import com.android.settings.R;
+import com.android.settingslib.core.lifecycle.ObservableActivity;
+
+import com.google.android.setupdesign.util.ThemeHelper;
+import com.google.android.setupdesign.util.ThemeResolver;
+
+public abstract class QrCodeScanModeBaseActivity extends ObservableActivity {
+
+ private static final String THEME_KEY = "setupwizard.theme";
+ private static final String THEME_DEFAULT_VALUE = "SudThemeGlifV3_DayNight";
+ protected FragmentManager mFragmentManager;
+
+ protected abstract void handleIntent(Intent intent);
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ int defaultTheme =
+ ThemeHelper.isSetupWizardDayNightEnabled(this)
+ ? com.google.android.setupdesign.R.style.SudThemeGlifV3_DayNight
+ : com.google.android.setupdesign.R.style.SudThemeGlifV3_Light;
+ ThemeResolver themeResolver =
+ new ThemeResolver.Builder(ThemeResolver.getDefault())
+ .setDefaultTheme(defaultTheme)
+ .setUseDayNight(true)
+ .build();
+ setTheme(
+ themeResolver.resolve(
+ SystemProperties.get(THEME_KEY, THEME_DEFAULT_VALUE),
+ /* suppressDayNight= */ !ThemeHelper.isSetupWizardDayNightEnabled(this)));
+
+ setContentView(R.layout.qrcode_scan_mode_activity);
+ mFragmentManager = getSupportFragmentManager();
+
+ if (savedInstanceState == null) {
+ handleIntent(getIntent());
+ }
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeFragment.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeFragment.java
new file mode 100644
index 0000000..2b52039
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeFragment.java
@@ -0,0 +1,268 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.connecteddevice.audiosharing.audiostreams.qrcode;
+
+import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Matrix;
+import android.graphics.Outline;
+import android.graphics.Rect;
+import android.graphics.SurfaceTexture;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.os.VibrationEffect;
+import android.os.Vibrator;
+import android.util.Log;
+import android.util.Size;
+import android.view.LayoutInflater;
+import android.view.TextureView;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewOutlineProvider;
+import android.view.accessibility.AccessibilityEvent;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.StringRes;
+
+import com.android.settings.R;
+import com.android.settings.core.InstrumentedFragment;
+import com.android.settingslib.bluetooth.BluetoothBroadcastUtils;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+import com.android.settingslib.qrcode.QrCamera;
+
+import java.time.Duration;
+
+public class QrCodeScanModeFragment extends InstrumentedFragment
+ implements TextureView.SurfaceTextureListener, QrCamera.ScannerCallback {
+ private static final boolean DEBUG = BluetoothUtils.D;
+ private static final String TAG = "QrCodeScanModeFragment";
+
+ /** Message sent to hide error message */
+ private static final int MESSAGE_HIDE_ERROR_MESSAGE = 1;
+
+ /** Message sent to show error message */
+ private static final int MESSAGE_SHOW_ERROR_MESSAGE = 2;
+
+ /** Message sent to broadcast QR code */
+ private static final int MESSAGE_SCAN_BROADCAST_SUCCESS = 3;
+
+ private static final long SHOW_ERROR_MESSAGE_INTERVAL = 10000;
+ private static final long SHOW_SUCCESS_SQUARE_INTERVAL = 1000;
+
+ private static final Duration VIBRATE_DURATION_QR_CODE_RECOGNITION = Duration.ofMillis(3);
+
+ public static final String KEY_BROADCAST_METADATA = "key_broadcast_metadata";
+
+ private int mCornerRadius;
+ private String mBroadcastMetadata;
+ private Context mContext;
+ private QrCamera mCamera;
+ private TextureView mTextureView;
+ private TextView mSummary;
+ private TextView mErrorMessage;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ mContext = getContext();
+ }
+
+ @Override
+ public final View onCreateView(
+ LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ return inflater.inflate(
+ R.layout.qrcode_scanner_fragment, container, /* attachToRoot */ false);
+ }
+
+ @Override
+ public void onViewCreated(View view, Bundle savedInstanceState) {
+ mTextureView = view.findViewById(R.id.preview_view);
+ mCornerRadius =
+ mContext.getResources().getDimensionPixelSize(R.dimen.qrcode_preview_radius);
+ mTextureView.setSurfaceTextureListener(this);
+ mTextureView.setOutlineProvider(
+ new ViewOutlineProvider() {
+ @Override
+ public void getOutline(View view, Outline outline) {
+ outline.setRoundRect(
+ 0, 0, view.getWidth(), view.getHeight(), mCornerRadius);
+ }
+ });
+ mTextureView.setClipToOutline(true);
+ mErrorMessage = view.findViewById(R.id.error_message);
+ }
+
+ private void initCamera(SurfaceTexture surface) {
+ // Check if the camera has already created.
+ if (mCamera == null) {
+ mCamera = new QrCamera(mContext, this);
+ mCamera.start(surface);
+ }
+ }
+
+ private void destroyCamera() {
+ if (mCamera != null) {
+ mCamera.stop();
+ mCamera = null;
+ }
+ }
+
+ @Override
+ public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surface, int width, int height) {
+ initCamera(surface);
+ }
+
+ @Override
+ public void onSurfaceTextureSizeChanged(
+ @NonNull SurfaceTexture surface, int width, int height) {}
+
+ @Override
+ public boolean onSurfaceTextureDestroyed(@NonNull SurfaceTexture surface) {
+ destroyCamera();
+ return true;
+ }
+
+ @Override
+ public void onSurfaceTextureUpdated(@NonNull SurfaceTexture surface) {}
+
+ @Override
+ public void handleSuccessfulResult(String qrCode) {
+ if (DEBUG) {
+ Log.d(TAG, "handleSuccessfulResult(), get the qr code string.");
+ }
+ mBroadcastMetadata = qrCode;
+ handleBtLeAudioScanner();
+ }
+
+ @Override
+ public void handleCameraFailure() {
+ destroyCamera();
+ }
+
+ @Override
+ public Size getViewSize() {
+ return new Size(mTextureView.getWidth(), mTextureView.getHeight());
+ }
+
+ @Override
+ public Rect getFramePosition(Size previewSize, int cameraOrientation) {
+ return new Rect(0, 0, previewSize.getHeight(), previewSize.getHeight());
+ }
+
+ @Override
+ public void setTransform(Matrix transform) {
+ mTextureView.setTransform(transform);
+ }
+
+ @Override
+ public boolean isValid(String qrCode) {
+ if (qrCode.startsWith(BluetoothBroadcastUtils.SCHEME_BT_BROADCAST_METADATA)) {
+ return true;
+ } else {
+ showErrorMessage(R.string.bt_le_audio_qr_code_is_not_valid_format);
+ return false;
+ }
+ }
+
+ protected boolean isDecodeTaskAlive() {
+ return mCamera != null && mCamera.isDecodeTaskAlive();
+ }
+
+ private final Handler mHandler =
+ new Handler() {
+ @Override
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case MESSAGE_HIDE_ERROR_MESSAGE:
+ mErrorMessage.setVisibility(View.INVISIBLE);
+ break;
+
+ case MESSAGE_SHOW_ERROR_MESSAGE:
+ final String errorMessage = (String) msg.obj;
+
+ mErrorMessage.setVisibility(View.VISIBLE);
+ mErrorMessage.setText(errorMessage);
+ mErrorMessage.sendAccessibilityEvent(
+ AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
+
+ // Cancel any pending messages to hide error view and requeue the
+ // message so
+ // user has time to see error
+ removeMessages(MESSAGE_HIDE_ERROR_MESSAGE);
+ sendEmptyMessageDelayed(
+ MESSAGE_HIDE_ERROR_MESSAGE, SHOW_ERROR_MESSAGE_INTERVAL);
+ break;
+
+ case MESSAGE_SCAN_BROADCAST_SUCCESS:
+ Log.d(TAG, "scan success");
+ final Intent resultIntent = new Intent();
+ resultIntent.putExtra(KEY_BROADCAST_METADATA, mBroadcastMetadata);
+ getActivity().setResult(Activity.RESULT_OK, resultIntent);
+ notifyUserForQrCodeRecognition();
+ break;
+ default:
+ }
+ }
+ };
+
+ private void notifyUserForQrCodeRecognition() {
+ if (mCamera != null) {
+ mCamera.stop();
+ }
+
+ mErrorMessage.setVisibility(View.INVISIBLE);
+
+ triggerVibrationForQrCodeRecognition(getContext());
+
+ getActivity().finish();
+ }
+
+ private static void triggerVibrationForQrCodeRecognition(Context context) {
+ Vibrator vibrator = context.getSystemService(Vibrator.class);
+ if (vibrator == null) {
+ return;
+ }
+ vibrator.vibrate(
+ VibrationEffect.createOneShot(
+ VIBRATE_DURATION_QR_CODE_RECOGNITION.toMillis(),
+ VibrationEffect.DEFAULT_AMPLITUDE));
+ }
+
+ private void showErrorMessage(@StringRes int messageResId) {
+ final Message message =
+ mHandler.obtainMessage(MESSAGE_SHOW_ERROR_MESSAGE, getString(messageResId));
+ message.sendToTarget();
+ }
+
+ private void handleBtLeAudioScanner() {
+ Message message = mHandler.obtainMessage(MESSAGE_SCAN_BROADCAST_SUCCESS);
+ mHandler.sendMessageDelayed(message, SHOW_SUCCESS_SQUARE_INTERVAL);
+ }
+
+ private void updateSummary() {
+ mSummary.setText(getString(R.string.bt_le_audio_scan_qr_code_scanner));
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ return SettingsEnums.LE_AUDIO_BROADCAST_SCAN_QR_CODE;
+ }
+}
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
index 64ec63f..d8e8887 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
@@ -32,6 +32,7 @@
import android.text.TextUtils;
import android.util.Log;
import android.view.InputDevice;
+import android.view.KeyEvent;
import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodManager;
@@ -107,6 +108,17 @@
return null;
}
+ // Check if the connected stylus supports the tail button. A connected device is when input
+ // device is available (mInputDevice != null). For a cached device (mInputDevice == null)
+ // there isn't way to check if the device supports the button so assume it does.
+ if (mInputDevice != null) {
+ boolean doesStylusSupportTailButton =
+ mInputDevice.hasKeys(KeyEvent.KEYCODE_STYLUS_BUTTON_TAIL)[0];
+ if (!doesStylusSupportTailButton) {
+ return null;
+ }
+ }
+
Preference pref = preference == null ? new Preference(mContext) : preference;
pref.setKey(KEY_DEFAULT_NOTES);
pref.setTitle(mContext.getString(R.string.stylus_default_notes_app));
diff --git a/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriter.java b/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriter.java
deleted file mode 100644
index 86ee3d6..0000000
--- a/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriter.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.core.instrumentation;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.Looper;
-import android.os.Process;
-import android.os.UserHandle;
-import android.text.TextUtils;
-import android.text.format.DateUtils;
-import android.util.Log;
-import android.util.Pair;
-
-import androidx.annotation.VisibleForTesting;
-
-import com.android.settings.R;
-import com.android.settings.intelligence.LogProto.SettingsLog;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.core.instrumentation.LogWriter;
-
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
-import java.time.ZoneId;
-import java.time.ZonedDateTime;
-import java.util.LinkedList;
-import java.util.List;
-
-public class SettingsIntelligenceLogWriter implements LogWriter {
- private static final String TAG = "IntelligenceLogWriter";
-
- private static final String LOG = "logs";
- private static final long MESSAGE_DELAY = DateUtils.MINUTE_IN_MILLIS; // 1 minute
- // Based on the exp, 99.5% users collect less than 150 data in 1 minute.
- private static final int CACHE_LOG_THRESHOLD = 150;
-
- private List<SettingsLog> mSettingsLogList;
- private SendLogHandler mLogHandler;
-
- public SettingsIntelligenceLogWriter() {
- mSettingsLogList = new LinkedList<>();
- final HandlerThread workerThread = new HandlerThread("SettingsIntelligenceLogWriter",
- Process.THREAD_PRIORITY_BACKGROUND);
- workerThread.start();
- mLogHandler = new SendLogHandler(workerThread.getLooper());
- }
-
- @Override
- public void visible(Context context, int attribution, int pageId, int latency) {
- action(attribution /* from pageId */,
- SettingsEnums.PAGE_VISIBLE /* action */,
- pageId /* target pageId */,
- "" /* changedPreferenceKey */,
- latency /* changedPreferenceIntValue */);
- }
-
- @Override
- public void hidden(Context context, int pageId, int visibleTime) {
- action(SettingsEnums.PAGE_UNKNOWN /* attribution */,
- SettingsEnums.PAGE_HIDE /* action */,
- pageId /* pageId */,
- "" /* changedPreferenceKey */,
- visibleTime /* changedPreferenceIntValue */);
- }
-
- @Override
- public void clicked(int sourceCategory, String key) {
- }
-
- @Override
- public void changed(int category, String key, int value) {
- }
-
- @Override
- public void action(Context context, int action, Pair<Integer, Object>... taggedData) {
- action(SettingsEnums.PAGE_UNKNOWN /* attribution */,
- action,
- SettingsEnums.PAGE_UNKNOWN /* pageId */,
- "" /* changedPreferenceKey */,
- 0 /* changedPreferenceIntValue */);
- }
-
- @Override
- public void action(Context context, int action, int value) {
- action(SettingsEnums.PAGE_UNKNOWN /* attribution */,
- action,
- SettingsEnums.PAGE_UNKNOWN /* pageId */,
- "" /* changedPreferenceKey */,
- value /* changedPreferenceIntValue */);
- }
-
- @Override
- public void action(Context context, int action, boolean value) {
- action(SettingsEnums.PAGE_UNKNOWN /* attribution */,
- action,
- SettingsEnums.PAGE_UNKNOWN /* pageId */,
- "" /* changedPreferenceKey */,
- value ? 1 : 0 /* changedPreferenceIntValue */);
- }
-
- @Override
- public void action(Context context, int action, String pkg) {
- action(SettingsEnums.PAGE_UNKNOWN /* attribution */,
- action,
- SettingsEnums.PAGE_UNKNOWN /* pageId */,
- pkg /* changedPreferenceKey */,
- 1 /* changedPreferenceIntValue */);
- }
-
- @Override
- public void action(int attribution, int action, int pageId, String key, int value) {
- final ZonedDateTime now = ZonedDateTime.now(ZoneId.systemDefault());
- final SettingsLog settingsLog = SettingsLog.newBuilder()
- .setAttribution(attribution)
- .setAction(action)
- .setPageId(pageId)
- .setChangedPreferenceKey(key != null ? key : "")
- .setChangedPreferenceIntValue(value)
- .setTimestamp(now.toString())
- .build();
- mLogHandler.post(() -> {
- mSettingsLogList.add(settingsLog);
- });
- if (action == SettingsEnums.ACTION_CONTEXTUAL_CARD_DISMISS
- || mSettingsLogList.size() >= CACHE_LOG_THRESHOLD) {
- // Directly send this event to notify SI instantly that the card is dismissed
- mLogHandler.sendLog();
- } else {
- mLogHandler.scheduleSendLog();
- }
- }
-
- @VisibleForTesting
- static byte[] serialize(List<SettingsLog> settingsLogs) {
- final int size = settingsLogs.size();
- final ByteArrayOutputStream bout = new ByteArrayOutputStream();
- final DataOutputStream output = new DataOutputStream(bout);
- // The data format is "size, length, byte array, length, byte array ..."
- try {
- output.writeInt(size);
- for (SettingsLog settingsLog : settingsLogs) {
- final byte[] data = settingsLog.toByteArray();
- output.writeInt(data.length);
- output.write(data);
- }
- return bout.toByteArray();
- } catch (Exception e) {
- Log.e(TAG, "serialize error", e);
- return null;
- } finally {
- try {
- output.close();
- } catch (Exception e) {
- Log.e(TAG, "close error", e);
- }
- }
- }
-
- private class SendLogHandler extends Handler {
-
- SendLogHandler(Looper looper) {
- super(looper);
- }
-
- void scheduleSendLog() {
- removeCallbacks(mSendLogsRunnable);
- postDelayed(mSendLogsRunnable, MESSAGE_DELAY);
- }
-
- void sendLog() {
- removeCallbacks(mSendLogsRunnable);
- post(mSendLogsRunnable);
- }
- }
-
- private final Runnable mSendLogsRunnable = () -> {
- final Context context = FeatureFactory.getAppContext();
- if (context == null) {
- Log.e(TAG, "context is null");
- return;
- }
- final String action = context.getString(R.string
- .config_settingsintelligence_log_action);
- if (!TextUtils.isEmpty(action) && !mSettingsLogList.isEmpty()) {
- final Intent intent = new Intent();
- intent.setPackage(context.getString(R.string
- .config_settingsintelligence_package_name));
- intent.setAction(action);
- intent.putExtra(LOG, serialize(mSettingsLogList));
- context.sendBroadcastAsUser(intent, UserHandle.CURRENT);
- mSettingsLogList.clear();
- }
- };
-}
diff --git a/src/com/android/settings/core/instrumentation/SettingsMetricsFeatureProvider.java b/src/com/android/settings/core/instrumentation/SettingsMetricsFeatureProvider.java
index 01927fd..bfe3185 100644
--- a/src/com/android/settings/core/instrumentation/SettingsMetricsFeatureProvider.java
+++ b/src/com/android/settings/core/instrumentation/SettingsMetricsFeatureProvider.java
@@ -29,7 +29,6 @@
protected void installLogWriters() {
mLoggerWriters.add(new StatsLogWriter());
mLoggerWriters.add(new SettingsEventLogWriter());
- mLoggerWriters.add(new SettingsIntelligenceLogWriter());
}
/**
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
index 6b50b70..561a51a 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
@@ -25,7 +25,9 @@
import android.content.DialogInterface.OnShowListener;
import android.content.Intent;
import android.content.pm.UserInfo;
+import android.content.pm.UserProperties;
import android.os.Bundle;
+import android.os.Flags;
import android.os.UserHandle;
import android.os.UserManager;
import android.util.Log;
@@ -183,7 +185,10 @@
final UserManager userManager = UserManager.get(context);
for (int i = userHandles.size() - 1; i >= 0; i--) {
UserInfo userInfo = userManager.getUserInfo(userHandles.get(i).getIdentifier());
- if (userInfo == null || userInfo.isCloneProfile()) {
+ if (userInfo == null
+ || userInfo.isCloneProfile()
+ || (Flags.allowPrivateProfile()
+ && shouldHideUserInQuietMode(userHandles.get(i), userManager))) {
if (DEBUG) {
Log.d(TAG, "Delete the user: " + userHandles.get(i).getIdentifier());
}
@@ -214,7 +219,10 @@
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 (userInfo == null
+ || userInfo.isCloneProfile()
+ || (Flags.allowPrivateProfile()
+ && shouldHideUserInQuietMode(userHandle, userManager))) {
if (DEBUG) {
Log.d(TAG, "Delete the user: " + userHandle.getIdentifier());
}
@@ -223,4 +231,11 @@
}
}
}
+
+ private static boolean shouldHideUserInQuietMode(
+ UserHandle userHandle, UserManager userManager) {
+ UserProperties userProperties = userManager.getUserProperties(userHandle);
+ return userProperties.getHideInSettingsInQuietMode()
+ && userManager.isQuietModeEnabled(userHandle);
+ }
}
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
index 657cdbf..dc1b792 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
@@ -323,7 +323,7 @@
fragments.add(personalFragment);
if (managedProfileInfoProvider.getManagedProfile(context) != null) {
- final Bundle workOnly = bundle != null ? bundle : new Bundle();
+ final Bundle workOnly = bundle != null ? bundle.deepCopy() : new Bundle();
workOnly.putInt(EXTRA_PROFILE, ProfileType.WORK);
final Fragment workFragment =
workFragmentConstructor.constructAndGetFragment();
@@ -333,7 +333,7 @@
if (Flags.allowPrivateProfile()
&& !privateSpaceInfoProvider.isPrivateSpaceLocked(context)) {
- final Bundle privateOnly = bundle != null ? bundle : new Bundle();
+ final Bundle privateOnly = bundle != null ? bundle.deepCopy() : new Bundle();
privateOnly.putInt(EXTRA_PROFILE, ProfileType.PRIVATE);
final Fragment privateFragment =
privateFragmentConstructor.constructAndGetFragment();
diff --git a/src/com/android/settings/dashboard/profileselector/UserAdapter.java b/src/com/android/settings/dashboard/profileselector/UserAdapter.java
index 0552a81..fa07ebc 100644
--- a/src/com/android/settings/dashboard/profileselector/UserAdapter.java
+++ b/src/com/android/settings/dashboard/profileselector/UserAdapter.java
@@ -17,7 +17,6 @@
package com.android.settings.dashboard.profileselector;
import static android.app.admin.DevicePolicyResources.Strings.Settings.PERSONAL_CATEGORY_HEADER;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_CATEGORY_HEADER;
import android.app.ActivityManager;
import android.app.admin.DevicePolicyManager;
@@ -51,14 +50,16 @@
/** Holder for user details */
public static class UserDetails {
private final UserHandle mUserHandle;
+ private final UserManager mUserManager;
private final Drawable mIcon;
private final String mTitle;
public UserDetails(UserHandle userHandle, UserManager um, Context context) {
mUserHandle = userHandle;
+ mUserManager = um;
UserInfo userInfo = um.getUserInfo(mUserHandle.getIdentifier());
int tintColor = Utils.getColorAttrDefaultColor(context,
- com.android.internal.R.attr.materialColorPrimaryContainer);
+ com.android.internal.R.attr.materialColorPrimary);
if (userInfo.isManagedProfile()) {
mIcon = context.getPackageManager().getUserBadgeForDensityNoBackground(
userHandle, /* density= */ 0);
@@ -73,16 +74,13 @@
DevicePolicyManager devicePolicyManager =
Objects.requireNonNull(context.getSystemService(DevicePolicyManager.class));
DevicePolicyResourcesManager resources = devicePolicyManager.getResources();
- int userHandle = mUserHandle.getIdentifier();
- if (userHandle == UserHandle.USER_CURRENT
- || userHandle == ActivityManager.getCurrentUser()) {
+ int userId = mUserHandle.getIdentifier();
+ if (userId == UserHandle.USER_CURRENT || userId == ActivityManager.getCurrentUser()) {
return resources.getString(PERSONAL_CATEGORY_HEADER,
() -> context.getString(
com.android.settingslib.R.string.category_personal));
- } else {
- return resources.getString(WORK_CATEGORY_HEADER,
- () -> context.getString(com.android.settingslib.R.string.category_work));
}
+ return (String) mUserManager.getBadgedLabelForUser(/* label= */ "", mUserHandle);
}
}
diff --git a/src/com/android/settings/datausage/AppDataUsage.java b/src/com/android/settings/datausage/AppDataUsage.java
index 38f09f4..fb28d68 100644
--- a/src/com/android/settings/datausage/AppDataUsage.java
+++ b/src/com/android/settings/datausage/AppDataUsage.java
@@ -44,6 +44,7 @@
import com.android.settings.datausage.lib.AppDataUsageDetailsRepository;
import com.android.settings.datausage.lib.NetworkTemplates;
import com.android.settings.datausage.lib.NetworkUsageDetailsData;
+import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.AppItem;
@@ -325,7 +326,8 @@
private boolean getAppRestrictBackground() {
final int uid = mAppItem.key;
final int uidPolicy = services.mPolicyManager.getUidPolicy(uid);
- return (uidPolicy & POLICY_REJECT_METERED_BACKGROUND) != 0;
+ return (uidPolicy & POLICY_REJECT_METERED_BACKGROUND) != 0
+ && DynamicDenylistManager.getInstance(mContext).isInManualDenylist(uid);
}
private boolean getUnrestrictData() {
diff --git a/src/com/android/settings/datausage/BillingCyclePreference.kt b/src/com/android/settings/datausage/BillingCyclePreference.kt
index 619f7e9..a6904bc 100644
--- a/src/com/android/settings/datausage/BillingCyclePreference.kt
+++ b/src/com/android/settings/datausage/BillingCyclePreference.kt
@@ -16,15 +16,21 @@
import android.app.settings.SettingsEnums
import android.content.Context
-import android.content.Intent
import android.net.NetworkTemplate
import android.os.Bundle
import android.util.AttributeSet
-import androidx.preference.Preference
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.remember
+import androidx.compose.ui.res.stringResource
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.settings.R
import com.android.settings.core.SubSettingLauncher
import com.android.settings.datausage.lib.BillingCycleRepository
-import com.android.settings.network.MobileDataEnabledListener
+import com.android.settings.network.mobileDataEnabledFlow
+import com.android.settings.spa.preference.ComposePreference
+import com.android.settingslib.spa.widget.preference.Preference
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+import kotlinx.coroutines.flow.map
/**
* Preference which displays billing cycle of subscription
@@ -36,45 +42,31 @@
context: Context,
attrs: AttributeSet?,
private val repository: BillingCycleRepository = BillingCycleRepository(context),
-) : Preference(context, attrs), TemplatePreference {
- private lateinit var template: NetworkTemplate
- private var subId = 0
-
- private val listener = MobileDataEnabledListener(context) {
- updateEnabled()
- }
+) : ComposePreference(context, attrs), TemplatePreference {
override fun setTemplate(template: NetworkTemplate, subId: Int) {
- this.template = template
- this.subId = subId
- summary = null
- updateEnabled()
- intent = intent
+ setContent {
+ val isModifiable by remember {
+ context.mobileDataEnabledFlow(subId).map { repository.isModifiable(subId) }
+ }.collectAsStateWithLifecycle(initialValue = false)
+
+ Preference(object : PreferenceModel {
+ override val title = stringResource(R.string.billing_cycle)
+ override val enabled = { isModifiable }
+ override val onClick = { launchBillingCycleSettings(template) }
+ })
+ }
}
- override fun onAttached() {
- super.onAttached()
- listener.start(subId)
- }
-
- override fun onDetached() {
- listener.stop()
- super.onDetached()
- }
-
- private fun updateEnabled() {
- isEnabled = repository.isModifiable(subId)
- }
-
- override fun getIntent(): Intent {
+ private fun launchBillingCycleSettings(template: NetworkTemplate) {
val args = Bundle().apply {
putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, template)
}
- return SubSettingLauncher(context).apply {
+ SubSettingLauncher(context).apply {
setDestination(BillingCycleSettings::class.java.name)
setArguments(args)
setTitleRes(R.string.billing_cycle)
setSourceMetricsCategory(SettingsEnums.PAGE_UNKNOWN)
- }.toIntent()
+ }.launch()
}
}
diff --git a/src/com/android/settings/datausage/DataSaverBackend.java b/src/com/android/settings/datausage/DataSaverBackend.java
index b4b6b8c..6e99453 100644
--- a/src/com/android/settings/datausage/DataSaverBackend.java
+++ b/src/com/android/settings/datausage/DataSaverBackend.java
@@ -23,6 +23,7 @@
import android.net.NetworkPolicyManager;
import android.util.SparseIntArray;
+import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.utils.ThreadUtils;
@@ -39,6 +40,7 @@
private final MetricsFeatureProvider mMetricsFeatureProvider;
private final NetworkPolicyManager mPolicyManager;
+ private final DynamicDenylistManager mDynamicDenylistManager;
private final ArrayList<Listener> mListeners = new ArrayList<>();
private SparseIntArray mUidPolicies = new SparseIntArray();
private boolean mAllowlistInitialized;
@@ -50,6 +52,7 @@
mContext = context.getApplicationContext();
mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
mPolicyManager = NetworkPolicyManager.from(mContext);
+ mDynamicDenylistManager = DynamicDenylistManager.getInstance(mContext);
}
public void addListener(Listener listener) {
@@ -83,7 +86,7 @@
public void setIsAllowlisted(int uid, String packageName, boolean allowlisted) {
final int policy = allowlisted ? POLICY_ALLOW_METERED_BACKGROUND : POLICY_NONE;
- mPolicyManager.setUidPolicy(uid, policy);
+ mDynamicDenylistManager.setUidPolicyLocked(uid, policy);
mUidPolicies.put(uid, policy);
if (allowlisted) {
mMetricsFeatureProvider.action(
@@ -113,7 +116,7 @@
public void setIsDenylisted(int uid, String packageName, boolean denylisted) {
final int policy = denylisted ? POLICY_REJECT_METERED_BACKGROUND : POLICY_NONE;
- mPolicyManager.setUidPolicy(uid, policy);
+ mDynamicDenylistManager.setUidPolicyLocked(uid, policy);
mUidPolicies.put(uid, policy);
if (denylisted) {
mMetricsFeatureProvider.action(
@@ -123,7 +126,8 @@
public boolean isDenylisted(int uid) {
loadDenylist();
- return mUidPolicies.get(uid, POLICY_NONE) == POLICY_REJECT_METERED_BACKGROUND;
+ return mUidPolicies.get(uid, POLICY_NONE) == POLICY_REJECT_METERED_BACKGROUND
+ && mDynamicDenylistManager.isInManualDenylist(uid);
}
private void loadDenylist() {
diff --git a/src/com/android/settings/datausage/DataSaverSummary.kt b/src/com/android/settings/datausage/DataSaverSummary.kt
index 0828d36..cdd46f2 100644
--- a/src/com/android/settings/datausage/DataSaverSummary.kt
+++ b/src/com/android/settings/datausage/DataSaverSummary.kt
@@ -19,7 +19,6 @@
import android.content.Context
import android.os.Bundle
import android.telephony.SubscriptionManager
-import android.widget.Switch
import com.android.settings.R
import com.android.settings.SettingsActivity
import com.android.settings.dashboard.DashboardFragment
@@ -51,9 +50,7 @@
switchBar = (activity as SettingsActivity).switchBar.apply {
setTitle(getString(R.string.data_saver_switch_title))
show()
- addOnSwitchChangeListener { _: Switch, isChecked: Boolean ->
- onSwitchChanged(isChecked)
- }
+ addOnSwitchChangeListener { _, isChecked -> onSwitchChanged(isChecked) }
}
}
@@ -105,4 +102,4 @@
SubscriptionManager.INVALID_SUBSCRIPTION_ID)
}
}
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarController.java b/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarController.java
index f46bb0d..a8cb9ad 100644
--- a/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarController.java
+++ b/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarController.java
@@ -20,7 +20,8 @@
import android.content.Context;
import android.os.SystemProperties;
import android.provider.Settings;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.fragment.app.FragmentManager;
import androidx.preference.Preference;
@@ -29,11 +30,10 @@
import com.android.settings.widget.SettingsMainSwitchBar;
import com.android.settingslib.Utils;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
/** Handles the logic for flipping the storage management toggle on a {@link SwitchBar}. */
public class AutomaticStorageManagerSwitchBarController
- implements OnMainSwitchChangeListener {
+ implements OnCheckedChangeListener {
private static final String STORAGE_MANAGER_ENABLED_BY_DEFAULT_PROPERTY =
"ro.storage_manager.enabled";
@@ -64,7 +64,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mMetrics.action(mContext, SettingsEnums.ACTION_TOGGLE_STORAGE_MANAGER, isChecked);
mDaysToRetainPreference.setEnabled(isChecked);
Settings.Secure.putInt(
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index a995ac3..9c8c186 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -45,7 +45,8 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.annotation.VisibleForTesting;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
@@ -80,7 +81,6 @@
import com.android.settingslib.development.DevelopmentSettingsEnabler;
import com.android.settingslib.development.SystemPropPoker;
import com.android.settingslib.search.SearchIndexable;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import com.google.android.setupcompat.util.WizardManagerHelper;
@@ -89,7 +89,7 @@
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFragment
- implements OnMainSwitchChangeListener, OemUnlockDialogHost, AdbDialogHost,
+ implements OnCheckedChangeListener, OemUnlockDialogHost, AdbDialogHost,
AdbClearKeysDialogHost, LogPersistDialogHost,
BluetoothRebootDialog.OnRebootDialogListener,
AbstractBluetoothPreferenceController.Callback,
@@ -333,7 +333,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
final boolean developmentEnabledState =
DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(getContext());
if (isChecked != developmentEnabledState) {
diff --git a/src/com/android/settings/development/featureflags/FeatureFlagPreference.java b/src/com/android/settings/development/featureflags/FeatureFlagPreference.java
index d6bdb77..baac047 100644
--- a/src/com/android/settings/development/featureflags/FeatureFlagPreference.java
+++ b/src/com/android/settings/development/featureflags/FeatureFlagPreference.java
@@ -19,9 +19,9 @@
import android.content.Context;
import android.util.FeatureFlagUtils;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
-public class FeatureFlagPreference extends SwitchPreference {
+public class FeatureFlagPreference extends SwitchPreferenceCompat {
private final String mKey;
private final boolean mIsPersistent;
diff --git a/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverController.java b/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverController.java
index 482858f..e75ab1a 100644
--- a/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverController.java
+++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverController.java
@@ -52,9 +52,6 @@
private boolean mShouldToggleSwitchBackOnRebootDialogDismiss;
@VisibleForTesting
- static final String PROPERTY_RO_GFX_ANGLE_SUPPORTED = "ro.gfx.angle.supported";
-
- @VisibleForTesting
static final String PROPERTY_PERSISTENT_GRAPHICS_EGL = "persist.graphics.egl";
@VisibleForTesting
@@ -97,11 +94,6 @@
return mSystemProperties.getBoolean(PROPERTY_DEBUG_ANGLE_DEVELOPER_OPTION, false);
}
- private boolean isAngleSupported() {
- return TextUtils.equals(
- mSystemProperties.get(PROPERTY_RO_GFX_ANGLE_SUPPORTED, ""), "true");
- }
-
@VisibleForTesting
GraphicsDriverEnableAngleAsSystemDriverController(
Context context, DevelopmentSettingsDashboardFragment fragment, Injector injector) {
@@ -145,10 +137,6 @@
/** Return the default value of "persist.graphics.egl" */
public boolean isDefaultValue() {
- if (!isAngleSupported()) {
- return true;
- }
-
final String currentGlesDriver =
mSystemProperties.get(PROPERTY_PERSISTENT_GRAPHICS_EGL, "");
// default value of "persist.graphics.egl" is ""
@@ -158,17 +146,11 @@
@Override
public void updateState(Preference preference) {
super.updateState(preference);
- if (isAngleSupported()) {
- // set switch on if "persist.graphics.egl" is "angle" and angle is built in /vendor
- // set switch off otherwise.
- final String currentGlesDriver =
- mSystemProperties.get(PROPERTY_PERSISTENT_GRAPHICS_EGL, "");
- final boolean isAngle = TextUtils.equals(ANGLE_DRIVER_SUFFIX, currentGlesDriver);
- ((TwoStatePreference) mPreference).setChecked(isAngle);
- } else {
- mPreference.setEnabled(false);
- ((TwoStatePreference) mPreference).setChecked(false);
- }
+ // set switch on if "persist.graphics.egl" is "angle".
+ final String currentGlesDriver =
+ mSystemProperties.get(PROPERTY_PERSISTENT_GRAPHICS_EGL, "");
+ final boolean isAngle = TextUtils.equals(ANGLE_DRIVER_SUFFIX, currentGlesDriver);
+ ((TwoStatePreference) mPreference).setChecked(isAngle);
// Disable the developer option toggle UI if ANGLE is disabled, this means next time the
// debug property needs to be set to true again to enable ANGLE. If ANGLE is enabled, don't
@@ -182,12 +164,10 @@
protected void onDeveloperOptionsSwitchDisabled() {
// 1) disable the switch
super.onDeveloperOptionsSwitchDisabled();
- if (isAngleSupported()) {
- // 2) set the persist.graphics.egl empty string
- GraphicsEnvironment.getInstance().toggleAngleAsSystemDriver(false);
- // 3) reset the switch
- ((TwoStatePreference) mPreference).setChecked(false);
- }
+ // 2) set the persist.graphics.egl empty string
+ GraphicsEnvironment.getInstance().toggleAngleAsSystemDriver(false);
+ // 3) reset the switch
+ ((TwoStatePreference) mPreference).setChecked(false);
}
void toggleSwitchBack() {
diff --git a/src/com/android/settings/development/quarantine/QuarantinedAppsScreenController.java b/src/com/android/settings/development/quarantine/QuarantinedAppsScreenController.java
index c3cb38d..4d4834b 100644
--- a/src/com/android/settings/development/quarantine/QuarantinedAppsScreenController.java
+++ b/src/com/android/settings/development/quarantine/QuarantinedAppsScreenController.java
@@ -18,6 +18,7 @@
import android.app.Application;
import android.content.Context;
+import android.content.pm.Flags;
import android.content.pm.PackageManager;
import android.content.pm.SuspendDialogInfo;
import android.os.UserHandle;
@@ -198,7 +199,7 @@
@Override
public int getAvailabilityStatus() {
- return AVAILABLE;
+ return Flags.quarantinedEnabled() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
@Override
diff --git a/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreference.java b/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreference.java
index f0c9ff4..7462e0d 100644
--- a/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreference.java
+++ b/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreference.java
@@ -19,12 +19,12 @@
import android.content.Context;
import android.os.SystemProperties;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
/**
* Bluetooth Snoop Logger Filters Preference
*/
-public class SnoopLoggerFiltersPreference extends SwitchPreference {
+public class SnoopLoggerFiltersPreference extends SwitchPreferenceCompat {
private final String mKey;
private static final String TAG = "SnoopLoggerFiltersPreference";
diff --git a/src/com/android/settings/development/widevine/ForceL3FallbackPreferenceController.java b/src/com/android/settings/development/widevine/ForceL3FallbackPreferenceController.java
new file mode 100644
index 0000000..78468c1
--- /dev/null
+++ b/src/com/android/settings/development/widevine/ForceL3FallbackPreferenceController.java
@@ -0,0 +1,80 @@
+/*
+* 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.
+*/
+
+package com.android.settings.development.widevine;
+
+import android.content.Context;
+import android.sysprop.WidevineProperties;
+import android.util.Log;
+
+import androidx.preference.Preference;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
+import com.android.settings.media_drm.Flags;
+
+/**
+ * The controller (in the Media Widevine settings) enforces L3 security level
+* of Widevine CDM.
+*/
+public class ForceL3FallbackPreferenceController extends TogglePreferenceController {
+ private static final String TAG = "ForceL3FallbackPreferenceController";
+
+ public ForceL3FallbackPreferenceController(Context context, String preferenceKey) {
+ super(context, preferenceKey);
+ }
+
+ @Override
+ public boolean isChecked() {
+ return WidevineProperties.forcel3_enabled().orElse(false);
+ }
+
+ @Override
+ public boolean setChecked(boolean isChecked) {
+ WidevineProperties.forcel3_enabled(isChecked);
+ return true;
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ if (Flags.forceL3Enabled()) {
+ preference.setEnabled(true);
+ Log.i(TAG, "forceL3Enabled is on");
+ } else {
+ preference.setEnabled(false);
+ // In case of flag rollback, the controller should be unchecked.
+ WidevineProperties.forcel3_enabled(false);
+ Log.i(TAG, "forceL3Enabled is off");
+ }
+ super.updateState(preference);
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) {
+ return AVAILABLE;
+ } else {
+ return CONDITIONALLY_UNAVAILABLE;
+ }
+ }
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_system;
+ }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/development/widevine/WidevineSettingsFragment.java b/src/com/android/settings/development/widevine/WidevineSettingsFragment.java
new file mode 100644
index 0000000..058aa40
--- /dev/null
+++ b/src/com/android/settings/development/widevine/WidevineSettingsFragment.java
@@ -0,0 +1,58 @@
+/*
+* 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.
+*/
+
+package com.android.settings.development.widevine;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
+import com.android.settingslib.search.SearchIndexable;
+
+/**
+ * Fragment for native widevine settings in Developer options.
+*/
+@SearchIndexable
+public class WidevineSettingsFragment extends DashboardFragment {
+ private static final String TAG = "WidevineSettings";
+
+ @Override
+ protected String getLogTag() {
+ return TAG;
+ }
+
+ @Override
+ protected int getPreferenceScreenResId() {
+ return R.xml.widevine_settings;
+ }
+
+ @Override
+ public int getMetricsCategory() {
+ return SettingsEnums.WIDEVINE_SETTINGS;
+ }
+
+ public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+ new BaseSearchIndexProvider(R.xml.widevine_settings) {
+
+ @Override
+ protected boolean isPageSearchEnabled(Context context) {
+ return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
+ }
+ };
+}
\ No newline at end of file
diff --git a/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceController.java b/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceController.java
index fb17eca..39b8290 100644
--- a/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceController.java
@@ -28,6 +28,7 @@
import androidx.preference.Preference;
import com.android.settings.core.BasePreferenceController;
+import com.android.settings.flags.Flags;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -43,14 +44,15 @@
private static final String TAG = "MainlineModuleControl";
private static final List<String> VERSION_NAME_DATE_PATTERNS = Arrays.asList("yyyy-MM-dd",
"yyyy-MM");
-
@VisibleForTesting
- static final Intent MODULE_UPDATE_INTENT =
- new Intent("android.settings.MODULE_UPDATE_SETTINGS");
+ static final String MODULE_UPDATE_INTENT_ACTION =
+ "android.settings.MODULE_UPDATE_SETTINGS";
@VisibleForTesting
- static final Intent MODULE_UPDATE_V2_INTENT =
- new Intent("android.settings.MODULE_UPDATE_VERSIONS");
+ static final String MODULE_UPDATE_V2_INTENT_ACTION =
+ "android.settings.MODULE_UPDATE_VERSIONS";
+ private final Intent mModuleUpdateIntent;
+ private final Intent mModuleUpdateV2Intent;
private final PackageManager mPackageManager;
private String mModuleVersion;
@@ -58,6 +60,14 @@
public MainlineModuleVersionPreferenceController(Context context, String key) {
super(context, key);
mPackageManager = mContext.getPackageManager();
+ mModuleUpdateIntent = new Intent(MODULE_UPDATE_INTENT_ACTION);
+ mModuleUpdateV2Intent = new Intent(MODULE_UPDATE_V2_INTENT_ACTION);
+ if (Flags.mainlineModuleExplicitIntent()) {
+ String packageName = mContext
+ .getString(com.android.settings.R.string.config_mainline_module_update_package);
+ mModuleUpdateIntent.setPackage(packageName);
+ mModuleUpdateV2Intent.setPackage(packageName);
+ }
initModules();
}
@@ -86,17 +96,17 @@
super.updateState(preference);
final ResolveInfo resolvedV2 =
- mPackageManager.resolveActivity(MODULE_UPDATE_V2_INTENT, 0 /* flags */);
+ mPackageManager.resolveActivity(mModuleUpdateV2Intent, 0 /* flags */);
if (resolvedV2 != null) {
- preference.setIntent(MODULE_UPDATE_V2_INTENT);
+ preference.setIntent(mModuleUpdateV2Intent);
preference.setSelectable(true);
return;
}
final ResolveInfo resolved =
- mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0 /* flags */);
+ mPackageManager.resolveActivity(mModuleUpdateIntent, 0 /* flags */);
if (resolved != null) {
- preference.setIntent(MODULE_UPDATE_INTENT);
+ preference.setIntent(mModuleUpdateIntent);
preference.setSelectable(true);
} else {
Log.d(TAG, "The ResolveInfo of the update intent is null.");
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt b/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt
index 5a3ff49..e0376dc 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt
+++ b/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt
@@ -59,11 +59,13 @@
}
/**
- * Returns available here, but UI availability is retrieved asynchronously later.
+ * Returns available here, if SIM hardware is visible.
*
- * Check [updateNonIndexableKeys] for search availability.
+ * Also check [getIsAvailableAndUpdateEid] for other availability check which retrieved
+ * asynchronously later.
*/
- override fun getAvailabilityStatus() = AVAILABLE
+ override fun getAvailabilityStatus() =
+ if (SubscriptionUtil.isSimHardwareVisible(mContext)) AVAILABLE else UNSUPPORTED_ON_DEVICE
override fun displayPreference(screen: PreferenceScreen) {
super.displayPreference(screen)
@@ -95,12 +97,7 @@
}
private fun getIsAvailableAndUpdateEid(): Boolean {
- if (!SubscriptionUtil.isSimHardwareVisible(mContext) ||
- !mContext.userManager.isAdminUser ||
- Utils.isWifiOnly(mContext)
- ) {
- return false
- }
+ if (!mContext.userManager.isAdminUser || Utils.isWifiOnly(mContext)) return false
eid = eidStatus?.eid ?: ""
return eid.isNotEmpty()
}
@@ -147,8 +144,8 @@
}
override fun updateNonIndexableKeys(keys: MutableList<String>) {
- if (!getIsAvailableAndUpdateEid()) {
- keys.add(preferenceKey)
+ if (!isAvailable() || !getIsAvailableAndUpdateEid()) {
+ keys += preferenceKey
}
}
diff --git a/src/com/android/settings/display/AutoBrightnessDetailPreferenceController.java b/src/com/android/settings/display/AutoBrightnessDetailPreferenceController.java
index ec311f4..9bfb2f4 100644
--- a/src/com/android/settings/display/AutoBrightnessDetailPreferenceController.java
+++ b/src/com/android/settings/display/AutoBrightnessDetailPreferenceController.java
@@ -17,18 +17,18 @@
package com.android.settings.display;
import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.preference.PreferenceScreen;
import com.android.settings.widget.SettingsMainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
/**
* Controller that updates the adaptive brightness.
*/
public class AutoBrightnessDetailPreferenceController extends
- AutoBrightnessPreferenceController implements OnMainSwitchChangeListener {
+ AutoBrightnessPreferenceController implements OnCheckedChangeListener {
public AutoBrightnessDetailPreferenceController(Context context, String key) {
super(context, key);
@@ -58,7 +58,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked != isChecked()) {
setChecked(isChecked);
}
diff --git a/src/com/android/settings/display/NightDisplayActivationPreferenceController.java b/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
index c94f443..fd6d199 100644
--- a/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
@@ -19,7 +19,8 @@
import android.content.Context;
import android.hardware.display.ColorDisplayManager;
import android.text.TextUtils;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -29,13 +30,12 @@
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
/**
* Controller that updates the night display.
*/
public class NightDisplayActivationPreferenceController extends
- TogglePreferenceController implements OnMainSwitchChangeListener {
+ TogglePreferenceController implements OnCheckedChangeListener {
private final MetricsFeatureProvider mMetricsFeatureProvider;
private ColorDisplayManager mColorDisplayManager;
@@ -81,7 +81,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
final boolean activated = mColorDisplayManager.isNightDisplayActivated();
if (isChecked != activated) {
// TODO(b/179017365): Create a controller which extends TogglePreferenceController to
diff --git a/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java b/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
index eac714b..5f441be 100644
--- a/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
+++ b/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
@@ -18,7 +18,8 @@
import android.app.UiModeManager;
import android.content.Context;
import android.content.res.Configuration;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -28,7 +29,6 @@
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import java.time.LocalTime;
@@ -36,7 +36,7 @@
* Controller for activate/deactivate night mode button
*/
public class DarkModeActivationPreferenceController extends BasePreferenceController implements
- OnMainSwitchChangeListener {
+ OnCheckedChangeListener {
private final UiModeManager mUiModeManager;
private final MetricsFeatureProvider mMetricsFeatureProvider;
@@ -96,7 +96,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mMetricsFeatureProvider.logClickedPreference(mPreference, getMetricsCategory());
final boolean active = (mContext.getResources().getConfiguration().uiMode
& Configuration.UI_MODE_NIGHT_YES) != 0;
diff --git a/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceController.java b/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceController.java
index c6e379c..488befb 100644
--- a/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceController.java
+++ b/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceController.java
@@ -20,6 +20,7 @@
import android.app.UiModeManager;
import android.content.Context;
+import android.content.Intent;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -52,7 +53,12 @@
super.displayPreference(screen);
mFooterPreference = screen.findPreference(getPreferenceKey());
mFooterPreference.setLearnMoreAction(
- v -> v.getContext().startActivity(mBedtimeSettings.getBedtimeSettingsIntent()));
+ v -> {
+ Intent bedtimeSettingsIntent = mBedtimeSettings.getBedtimeSettingsIntent();
+ if (bedtimeSettingsIntent != null) {
+ v.getContext().startActivity(bedtimeSettingsIntent);
+ }
+ });
mFooterPreference.setLearnMoreText(
mContext.getString(R.string.dark_ui_bedtime_footer_action));
}
diff --git a/src/com/android/settings/dream/DreamSettings.java b/src/com/android/settings/dream/DreamSettings.java
index 25825ea..418bb64 100644
--- a/src/com/android/settings/dream/DreamSettings.java
+++ b/src/com/android/settings/dream/DreamSettings.java
@@ -29,7 +29,8 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
@@ -44,13 +45,12 @@
import com.android.settingslib.dream.DreamBackend.WhenToDream;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import java.util.ArrayList;
import java.util.List;
@SearchIndexable
-public class DreamSettings extends DashboardFragment implements OnMainSwitchChangeListener {
+public class DreamSettings extends DashboardFragment implements OnCheckedChangeListener {
private static final String TAG = "DreamSettings";
static final String WHILE_CHARGING_ONLY = "while_charging_only";
@@ -246,7 +246,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
setAllPreferencesEnabled(isChecked);
mPreviewButton.setVisibility(isChecked ? View.VISIBLE : View.GONE);
updatePaddingForPreviewButton();
diff --git a/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java b/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java
index b6135ab..b222cc1 100644
--- a/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java
+++ b/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java
@@ -17,7 +17,8 @@
package com.android.settings.emergency;
import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
@@ -27,13 +28,12 @@
import com.android.settings.core.BasePreferenceController;
import com.android.settingslib.emergencynumber.EmergencyNumberUtils;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
/**
* Preference controller for emergency gesture setting
*/
public class EmergencyGesturePreferenceController extends BasePreferenceController implements
- OnMainSwitchChangeListener {
+ OnCheckedChangeListener {
@VisibleForTesting
EmergencyNumberUtils mEmergencyNumberUtils;
@@ -72,7 +72,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mEmergencyNumberUtils.setEmergencyGestureEnabled(isChecked);
}
}
diff --git a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
index 2924f54..6d3bd6b 100644
--- a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
@@ -69,10 +69,10 @@
| PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS;
// Optimization modes.
- static final int MODE_UNKNOWN = 0;
- static final int MODE_RESTRICTED = 1;
- static final int MODE_UNRESTRICTED = 2;
- static final int MODE_OPTIMIZED = 3;
+ public static final int MODE_UNKNOWN = 0;
+ public static final int MODE_RESTRICTED = 1;
+ public static final int MODE_UNRESTRICTED = 2;
+ public static final int MODE_OPTIMIZED = 3;
@IntDef(
prefix = {"MODE_"},
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
index 3f3cddc..36ccdc6 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
@@ -18,6 +18,10 @@
import android.content.Context;
+import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
+
+import java.util.List;
+
/** Feature provider for battery settings usage. */
public interface BatterySettingsFeatureProvider {
@@ -29,4 +33,7 @@
/** Check whether the battery information page is enabled in the About phone page */
boolean isBatteryInfoEnabled(Context context);
+
+ /** A way to add more battery tip detectors. */
+ void addBatteryTipDetector(Context context, List<BatteryTip> tips);
}
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
index aacb219..badab69 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
@@ -18,6 +18,10 @@
import android.content.Context;
+import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
+
+import java.util.List;
+
/** Feature provider implementation for battery settings usage. */
public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatureProvider {
@@ -35,4 +39,7 @@
public boolean isBatteryInfoEnabled(Context context) {
return false;
}
+
+ @Override
+ public void addBatteryTipDetector(Context context, List<BatteryTip> tips) {}
}
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsMigrateChecker.java b/src/com/android/settings/fuelgauge/BatterySettingsMigrateChecker.java
index 5d9d047..dd49c8b 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsMigrateChecker.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsMigrateChecker.java
@@ -26,6 +26,7 @@
import androidx.annotation.VisibleForTesting;
import com.android.settings.fuelgauge.batterysaver.BatterySaverScheduleRadioButtonsController;
+import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
import com.android.settingslib.fuelgauge.BatterySaverUtils;
import java.util.List;
@@ -50,6 +51,8 @@
context = context.getApplicationContext();
verifySaverConfiguration(context);
verifyBatteryOptimizeModes(context);
+ // Initialize and sync settings into SharedPreferences for migration.
+ DynamicDenylistManager.getInstance(context);
}
/** Avoid users set important apps into the unexpected battery optimize modes */
diff --git a/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java b/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java
index 664d916..28ae04f 100644
--- a/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java
@@ -28,7 +28,8 @@
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.annotation.VisibleForTesting;
@@ -44,7 +45,6 @@
import com.android.settingslib.widget.FooterPreference;
import com.android.settingslib.widget.LayoutPreference;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import com.android.settingslib.widget.SelectorWithWidgetPreference;
import java.util.ArrayList;
@@ -54,7 +54,7 @@
/** Allow background usage fragment for each app */
public class PowerBackgroundUsageDetail extends DashboardFragment
- implements SelectorWithWidgetPreference.OnClickListener, OnMainSwitchChangeListener {
+ implements SelectorWithWidgetPreference.OnClickListener, OnCheckedChangeListener {
private static final String TAG = "PowerBackgroundUsageDetail";
public static final String EXTRA_UID = "extra_uid";
@@ -155,7 +155,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mMainSwitchPreference.setChecked(isChecked);
updateSelectorPreference(isChecked);
}
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
index 9fc0ce1..9d63046 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
@@ -30,6 +30,7 @@
import com.android.settings.fuelgauge.batterytip.detectors.IncompatibleChargerDetector;
import com.android.settings.fuelgauge.batterytip.detectors.LowBatteryDetector;
import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
+import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.utils.AsyncLoaderCompat;
import java.util.ArrayList;
@@ -44,6 +45,7 @@
private static final String TAG = "BatteryTipLoader";
private BatteryUsageStats mBatteryUsageStats;
+
@VisibleForTesting BatteryUtils mBatteryUtils;
public BatteryTipLoader(Context context, BatteryUsageStats batteryUsageStats) {
@@ -66,6 +68,9 @@
tips.add(new BatteryDefenderDetector(batteryInfo, context).detect());
tips.add(new DockDefenderDetector(batteryInfo, context).detect());
tips.add(new IncompatibleChargerDetector(context).detect());
+ FeatureFactory.getFeatureFactory()
+ .getBatterySettingsFeatureProvider()
+ .addBatteryTipDetector(context, tips);
Collections.sort(tips);
return tips;
}
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
index 7abd1cc..1345032 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
@@ -39,9 +39,11 @@
* pre-defined action(e.g. turn on battery saver)
*/
public abstract class BatteryTip implements Comparable<BatteryTip>, Parcelable {
+
@Retention(RetentionPolicy.SOURCE)
@IntDef({StateType.NEW, StateType.HANDLED, StateType.INVISIBLE})
public @interface StateType {
+
int NEW = 0;
int HANDLED = 1;
int INVISIBLE = 2;
@@ -59,7 +61,8 @@
TipType.REMOVE_APP_RESTRICTION,
TipType.BATTERY_DEFENDER,
TipType.DOCK_DEFENDER,
- TipType.INCOMPATIBLE_CHARGER
+ TipType.INCOMPATIBLE_CHARGER,
+ TipType.BATTERY_WARNING
})
public @interface TipType {
int SMART_BATTERY_MANAGER = 0;
@@ -73,6 +76,7 @@
int BATTERY_DEFENDER = 8;
int DOCK_DEFENDER = 9;
int INCOMPATIBLE_CHARGER = 10;
+ int BATTERY_WARNING = 11;
}
@VisibleForTesting static final SparseIntArray TIP_ORDER;
@@ -90,25 +94,26 @@
TIP_ORDER.append(TipType.SMART_BATTERY_MANAGER, 8);
TIP_ORDER.append(TipType.REDUCED_BATTERY, 9);
TIP_ORDER.append(TipType.REMOVE_APP_RESTRICTION, 10);
+ TIP_ORDER.append(TipType.BATTERY_WARNING, 11);
}
private static final String KEY_PREFIX = "key_battery_tip";
- protected int mType;
protected int mState;
+ protected int mType;
protected boolean mShowDialog;
/** Whether we need to update battery tip when configuration change */
protected boolean mNeedUpdate;
- BatteryTip(Parcel in) {
+ public BatteryTip(Parcel in) {
mType = in.readInt();
mState = in.readInt();
mShowDialog = in.readBoolean();
mNeedUpdate = in.readBoolean();
}
- BatteryTip(int type, int state, boolean showDialog) {
+ public BatteryTip(int type, int state, boolean showDialog) {
mType = type;
mState = state;
mShowDialog = showDialog;
@@ -201,7 +206,7 @@
return "type=" + mType + " state=" + mState;
}
- CardPreference castToCardPreferenceSafely(Preference preference) {
+ public CardPreference castToCardPreferenceSafely(Preference preference) {
return preference instanceof CardPreference ? (CardPreference) preference : null;
}
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java b/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java
index 13c8a91..8658fba 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java
@@ -234,7 +234,7 @@
}
preference.setTitle(titleString);
preference.setIconResourceId(getIconResId());
- preference.setMainButtonStrokeColorResourceId(getColorResId());
+ preference.setButtonColorResourceId(getColorResId());
preference.setMainButtonLabel(getMainBtnString());
preference.setDismissButtonLabel(getDismissBtnString());
return true;
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
index ad5d420..6ff52a2 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
@@ -378,7 +378,7 @@
mTransomTop = resources.getDimensionPixelSize(R.dimen.chartview_transom_padding_top);
mTransomLineDefaultColor = Utils.getDisabled(mContext, DIVIDER_COLOR);
mTransomLineSelectedColor =
- resources.getColor(R.color.color_battery_anomaly_yellow_selector);
+ resources.getColor(R.color.color_battery_anomaly_app_warning_selector);
final int slotHighlightColor = Utils.getDisabled(mContext, mTransomLineSelectedColor);
mTransomIconSize = resources.getDimensionPixelSize(R.dimen.chartview_transom_icon_size);
mTransomLinePaint = new Paint();
@@ -419,11 +419,13 @@
private void drawPercentage(Canvas canvas, int index, float offsetY) {
if (mTextPaint != null) {
- mTextPaint.setTextAlign(Paint.Align.RIGHT);
+ mTextPaint.setTextAlign(isRTL() ? Paint.Align.RIGHT : Paint.Align.LEFT);
mTextPaint.setColor(mDefaultTextColor);
canvas.drawText(
mPercentages[index],
- isRTL() ? mIndent.left - mTextPadding : getWidth(),
+ isRTL()
+ ? mIndent.left - mTextPadding
+ : getWidth() - mIndent.width() + mTextPadding,
offsetY + mPercentageBounds[index].height() * .5f,
mTextPaint);
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
index a8be398..bad1b76 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
@@ -27,10 +27,12 @@
import android.util.Log;
import android.util.Pair;
+import androidx.annotation.GuardedBy;
import androidx.annotation.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.fuelgauge.BatteryUtils;
+import com.android.settings.fuelgauge.batteryusage.BatteryEntry.NameAndIcon;
import com.android.settingslib.utils.StringUtil;
import java.util.Comparator;
@@ -40,16 +42,23 @@
/** A container class to carry battery data in a specific time slot. */
public class BatteryDiffEntry {
private static final String TAG = "BatteryDiffEntry";
+ private static final Object sResourceCacheLock = new Object();
+ private static final Object sPackageNameAndUidCacheLock = new Object();
+ private static final Object sValidForRestrictionLock = new Object();
static Locale sCurrentLocale = null;
+
// Caches app label and icon to improve loading performance.
- static final Map<String, BatteryEntry.NameAndIcon> sResourceCache = new ArrayMap<>();
+ @GuardedBy("sResourceCacheLock")
+ static final Map<String, NameAndIcon> sResourceCache = new ArrayMap<>();
// Caches package name and uid to improve loading performance.
+ @GuardedBy("sPackageNameAndUidCacheLock")
static final Map<String, Integer> sPackageNameAndUidCache = new ArrayMap<>();
// Whether a specific item is valid to launch restriction page?
@VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
+ @GuardedBy("sValidForRestrictionLock")
static final Map<String, Boolean> sValidForRestriction = new ArrayMap<>();
/** A comparator for {@link BatteryDiffEntry} based on the sorting key. */
@@ -304,12 +313,16 @@
}
private int getPackageUid(String packageName) {
- if (sPackageNameAndUidCache.containsKey(packageName)) {
- return sPackageNameAndUidCache.get(packageName);
+ synchronized (sPackageNameAndUidCacheLock) {
+ if (sPackageNameAndUidCache.containsKey(packageName)) {
+ return sPackageNameAndUidCache.get(packageName);
+ }
}
int uid = BatteryUtils.getInstance(mContext).getPackageUid(packageName);
- sPackageNameAndUidCache.put(packageName, uid);
+ synchronized (sPackageNameAndUidCacheLock) {
+ sPackageNameAndUidCache.put(packageName, uid);
+ }
return uid;
}
@@ -318,13 +331,16 @@
return;
}
// Checks whether we have cached data or not first before fetching.
- final BatteryEntry.NameAndIcon nameAndIcon = getCache();
+ final NameAndIcon nameAndIcon = getCache();
if (nameAndIcon != null) {
mAppLabel = nameAndIcon.mName;
mAppIcon = nameAndIcon.mIcon;
mAppIconId = nameAndIcon.mIconId;
}
- final Boolean validForRestriction = sValidForRestriction.get(getKey());
+ Boolean validForRestriction = null;
+ synchronized (sValidForRestrictionLock) {
+ validForRestriction = sValidForRestriction.get(getKey());
+ }
if (validForRestriction != null) {
mValidForRestriction = validForRestriction;
}
@@ -336,33 +352,34 @@
// Configures whether we can launch restriction page or not.
updateRestrictionFlagState();
- sValidForRestriction.put(getKey(), Boolean.valueOf(mValidForRestriction));
+ synchronized (sValidForRestrictionLock) {
+ sValidForRestriction.put(getKey(), Boolean.valueOf(mValidForRestriction));
+ }
if (getKey() != null && SPECIAL_ENTRY_MAP.containsKey(getKey())) {
Pair<Integer, Integer> pair = SPECIAL_ENTRY_MAP.get(getKey());
mAppLabel = mContext.getString(pair.first);
mAppIconId = pair.second;
mAppIcon = mContext.getDrawable(mAppIconId);
- sResourceCache.put(
- getKey(), new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, mAppIconId));
+ putResourceCache(getKey(), new NameAndIcon(mAppLabel, mAppIcon, mAppIconId));
return;
}
// Loads application icon and label based on consumer type.
switch (mConsumerType) {
case ConvertUtils.CONSUMER_TYPE_USER_BATTERY:
- final BatteryEntry.NameAndIcon nameAndIconForUser =
+ final NameAndIcon nameAndIconForUser =
BatteryEntry.getNameAndIconFromUserId(mContext, (int) mUserId);
if (nameAndIconForUser != null) {
mAppIcon = nameAndIconForUser.mIcon;
mAppLabel = nameAndIconForUser.mName;
- sResourceCache.put(
+ putResourceCache(
getKey(),
- new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, /* iconId= */ 0));
+ new NameAndIcon(mAppLabel, mAppIcon, /* iconId= */ 0));
}
break;
case ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY:
- final BatteryEntry.NameAndIcon nameAndIconForSystem =
+ final NameAndIcon nameAndIconForSystem =
BatteryEntry.getNameAndIconFromPowerComponent(mContext, mComponentId);
if (nameAndIconForSystem != null) {
mAppLabel = nameAndIconForSystem.mName;
@@ -370,9 +387,8 @@
mAppIconId = nameAndIconForSystem.mIconId;
mAppIcon = mContext.getDrawable(nameAndIconForSystem.mIconId);
}
- sResourceCache.put(
- getKey(),
- new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, mAppIconId));
+ putResourceCache(
+ getKey(), new NameAndIcon(mAppLabel, mAppIcon, mAppIconId));
}
break;
case ConvertUtils.CONSUMER_TYPE_UID_BATTERY:
@@ -384,9 +400,9 @@
// Adds badge icon into app icon for work profile.
mAppIcon = getBadgeIconForUser(mAppIcon);
if (mAppLabel != null || mAppIcon != null) {
- sResourceCache.put(
+ putResourceCache(
getKey(),
- new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, /* iconId= */ 0));
+ new NameAndIcon(mAppLabel, mAppIcon, /* iconId= */ 0));
}
break;
}
@@ -429,7 +445,7 @@
}
}
- private BatteryEntry.NameAndIcon getCache() {
+ private NameAndIcon getCache() {
final Locale locale = Locale.getDefault();
if (sCurrentLocale != locale) {
Log.d(
@@ -440,7 +456,9 @@
sCurrentLocale = locale;
clearCache();
}
- return sResourceCache.get(getKey());
+ synchronized (sResourceCacheLock) {
+ return sResourceCache.get(getKey());
+ }
}
private void loadNameAndIconForUid() {
@@ -469,13 +487,13 @@
final String[] packages = packageManager.getPackagesForUid(uid);
// Loads special defined application label and icon if available.
if (packages == null || packages.length == 0) {
- final BatteryEntry.NameAndIcon nameAndIcon =
+ final NameAndIcon nameAndIcon =
BatteryEntry.getNameAndIconFromUid(mContext, mAppLabel, uid);
mAppLabel = nameAndIcon.mName;
mAppIcon = nameAndIcon.mIcon;
}
- final BatteryEntry.NameAndIcon nameAndIcon =
+ final NameAndIcon nameAndIcon =
BatteryEntry.loadNameAndIcon(
mContext, uid, /* batteryEntry= */ null, packageName, mAppLabel, mAppIcon);
// Clears BatteryEntry internal cache since we will have another one.
@@ -544,9 +562,21 @@
/** Clears all cache data. */
public static void clearCache() {
- sResourceCache.clear();
- sValidForRestriction.clear();
- sPackageNameAndUidCache.clear();
+ synchronized (sResourceCacheLock) {
+ sResourceCache.clear();
+ }
+ synchronized (sValidForRestrictionLock) {
+ sValidForRestriction.clear();
+ }
+ synchronized (sPackageNameAndUidCacheLock) {
+ sPackageNameAndUidCache.clear();
+ }
+ }
+
+ private static void putResourceCache(String key, NameAndIcon nameAndIcon) {
+ synchronized (sResourceCacheLock) {
+ sResourceCache.put(key, nameAndIcon);
+ }
}
private Drawable getBadgeIconForUser(Drawable icon) {
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java
index 7eec816..bbd1099 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java
@@ -29,8 +29,6 @@
import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.google.android.material.button.MaterialButton;
@@ -47,11 +45,10 @@
void onReject();
}
- private final MetricsFeatureProvider mMetricsFeatureProvider;
private OnConfirmListener mOnConfirmListener;
private OnRejectListener mOnRejectListener;
private int mIconResourceId = 0;
- private int mMainButtonStrokeColorResourceId = 0;
+ private int mButtonColorResourceId = 0;
@VisibleForTesting CharSequence mMainButtonLabel;
@VisibleForTesting CharSequence mDismissButtonLabel;
@@ -59,9 +56,8 @@
public BatteryTipsCardPreference(Context context, AttributeSet attrs) {
super(context, attrs);
setLayoutResource(R.layout.battery_tips_card);
+ setViewId(R.id.battery_tips_card);
setSelectable(false);
- final FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
- mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
}
public void setOnConfirmListener(OnConfirmListener listener) {
@@ -72,7 +68,9 @@
mOnRejectListener = listener;
}
- /** Sets the icon in tips card. */
+ /**
+ * Sets the icon in tips card.
+ */
public void setIconResourceId(int resourceId) {
if (mIconResourceId != resourceId) {
mIconResourceId = resourceId;
@@ -80,15 +78,19 @@
}
}
- /** Sets the stroke color of main button in tips card. */
- public void setMainButtonStrokeColorResourceId(int resourceId) {
- if (mMainButtonStrokeColorResourceId != resourceId) {
- mMainButtonStrokeColorResourceId = resourceId;
+ /**
+ * Sets the background color for main button and the text color for dismiss button.
+ */
+ public void setButtonColorResourceId(int resourceId) {
+ if (mButtonColorResourceId != resourceId) {
+ mButtonColorResourceId = resourceId;
notifyChanged();
}
}
- /** Sets the label of main button in tips card. */
+ /**
+ * Sets the label of main button in tips card.
+ */
public void setMainButtonLabel(CharSequence label) {
if (!TextUtils.equals(mMainButtonLabel, label)) {
mMainButtonLabel = label;
@@ -96,7 +98,9 @@
}
}
- /** Sets the label of dismiss button in tips card. */
+ /**
+ * Sets the label of dismiss button in tips card.
+ */
public void setDismissButtonLabel(CharSequence label) {
if (!TextUtils.equals(mDismissButtonLabel, label)) {
mDismissButtonLabel = label;
@@ -107,7 +111,7 @@
@Override
public void onClick(View view) {
final int viewId = view.getId();
- if (viewId == R.id.main_button || viewId == R.id.tips_card) {
+ if (viewId == R.id.main_button || viewId == R.id.battery_tips_card) {
if (mOnConfirmListener != null) {
mOnConfirmListener.onConfirm();
}
@@ -124,17 +128,21 @@
((TextView) view.findViewById(R.id.title)).setText(getTitle());
- LinearLayout tipsCard = (LinearLayout) view.findViewById(R.id.tips_card);
+ final LinearLayout tipsCard = (LinearLayout) view.findViewById(R.id.battery_tips_card);
tipsCard.setOnClickListener(this);
- MaterialButton mainButton = (MaterialButton) view.findViewById(R.id.main_button);
+ final MaterialButton mainButton = (MaterialButton) view.findViewById(R.id.main_button);
mainButton.setOnClickListener(this);
mainButton.setText(mMainButtonLabel);
- if (mMainButtonStrokeColorResourceId != 0) {
- mainButton.setStrokeColorResource(mMainButtonStrokeColorResourceId);
- }
- MaterialButton dismissButton = (MaterialButton) view.findViewById(R.id.dismiss_button);
+ final MaterialButton dismissButton =
+ (MaterialButton) view.findViewById(R.id.dismiss_button);
dismissButton.setOnClickListener(this);
dismissButton.setText(mDismissButtonLabel);
+ if (mButtonColorResourceId != 0) {
+ final int colorInt = getContext().getColor(mButtonColorResourceId);
+ mainButton.setBackgroundColor(colorInt);
+ dismissButton.setTextColor(colorInt);
+ }
+
if (mIconResourceId != 0) {
((ImageView) view.findViewById(R.id.icon)).setImageResource(mIconResourceId);
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
index 60d7314..7dc7700 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
@@ -39,11 +39,16 @@
@Override
public void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
- final Context context = getContext();
+ Context context = getContext();
if (context == null) {
Log.w(TAG, "failed to dump BatteryUsage state: null context");
return;
}
+ context = context.getApplicationContext();
+ if (context == null) {
+ Log.w(TAG, "failed to dump BatteryUsage state: null application context");
+ return;
+ }
if (DatabaseUtils.isWorkProfile(context)) {
Log.w(TAG, "ignore battery usage states dump in the work profile");
return;
@@ -51,6 +56,9 @@
writer.println("dump BatteryUsage and AppUsage states:");
LogUtils.dumpBatteryUsageDatabaseHist(context, writer);
LogUtils.dumpAppUsageDatabaseHist(context, writer);
+ LogUtils.dumpBatteryUsageSlotDatabaseHist(context, writer);
+ LogUtils.dumpBatteryEventDatabaseHist(context, writer);
+ LogUtils.dumpBatteryStateDatabaseHist(context, writer);
}
@Override
diff --git a/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java b/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java
index b461d20..0ac8cca 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java
@@ -19,18 +19,26 @@
import android.content.Context;
import android.util.Log;
+import com.android.settings.fuelgauge.BatteryUtils;
+import com.android.settings.fuelgauge.batteryusage.BatteryUsageSlot;
import com.android.settings.fuelgauge.batteryusage.ConvertUtils;
import com.android.settings.fuelgauge.batteryusage.DatabaseUtils;
import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventDao;
import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventEntity;
+import com.android.settings.fuelgauge.batteryusage.db.BatteryEventDao;
+import com.android.settings.fuelgauge.batteryusage.db.BatteryEventEntity;
import com.android.settings.fuelgauge.batteryusage.db.BatteryState;
import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDao;
import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase;
+import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotDao;
+import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotEntity;
import java.io.PrintWriter;
import java.time.Clock;
import java.time.Duration;
import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.function.Function;
/** A utility class to aggregate and provide required log data. */
public final class LogUtils {
@@ -47,8 +55,7 @@
// Dumps phenotype environments.
DatabaseUtils.dump(context, writer);
writer.flush();
- final BatteryStateDao dao =
- BatteryStateDatabase.getInstance(context.getApplicationContext()).batteryStateDao();
+ final BatteryStateDao dao = BatteryStateDatabase.getInstance(context).batteryStateDao();
final long timeOffset = Clock.systemUTC().millis() - DUMP_TIME_OFFSET.toMillis();
// Gets all distinct timestamps.
@@ -69,22 +76,73 @@
Log.w(TAG, "\t" + formattedTimestamp);
});
writer.flush();
+ }
+ static void dumpBatteryStateDatabaseHist(Context context, PrintWriter writer) {
+ final BatteryStateDao dao = BatteryStateDatabase.getInstance(context).batteryStateDao();
+ writer.println("\n\tBatteryState DatabaseHistory:");
final List<BatteryState> stateList =
dao.getAllAfter(Clock.systemUTC().millis() - DUMP_TIME_OFFSET_FOR_ENTRY.toMillis());
- stateList.stream().forEach(state -> writer.println(state));
+ dumpListItems(writer, stateList, state -> state);
}
static void dumpAppUsageDatabaseHist(Context context, PrintWriter writer) {
- final AppUsageEventDao dao =
- BatteryStateDatabase.getInstance(context.getApplicationContext())
- .appUsageEventDao();
+ final AppUsageEventDao dao = BatteryStateDatabase.getInstance(context).appUsageEventDao();
writer.println("\n\tApp DatabaseHistory:");
final List<AppUsageEventEntity> eventList =
dao.getAllAfter(Clock.systemUTC().millis() - DUMP_TIME_OFFSET_FOR_ENTRY.toMillis());
- eventList.stream().forEach(event -> writer.println(event));
+ dumpListItems(writer, eventList, event -> event);
+ }
+
+ static void dumpBatteryUsageSlotDatabaseHist(Context context, PrintWriter writer) {
+ final BatteryUsageSlotDao dao =
+ BatteryStateDatabase.getInstance(context).batteryUsageSlotDao();
+ writer.println("\n\tBattery Usage Slot DatabaseHistory:");
+ final List<BatteryUsageSlotEntity> entities =
+ dao.getAllAfterForLog(getLastFullChargeTimestamp(context));
+ dumpListItems(
+ writer,
+ entities,
+ entity ->
+ BatteryUtils.parseProtoFromString(
+ entity.batteryUsageSlot, BatteryUsageSlot.getDefaultInstance()));
+ }
+
+ static void dumpBatteryEventDatabaseHist(Context context, PrintWriter writer) {
+ final BatteryEventDao dao = BatteryStateDatabase.getInstance(context).batteryEventDao();
+ writer.println("\n\tBattery Event DatabaseHistory:");
+ final List<BatteryEventEntity> entities =
+ dao.getAllAfterForLog(getLastFullChargeTimestamp(context));
+ dumpListItems(writer, entities, entity -> entity);
+ }
+
+ private static <T, S> void dumpListItems(
+ PrintWriter writer, List<T> itemList, Function<T, S> itemConverter) {
+ final AtomicInteger counter = new AtomicInteger(0);
+ try {
+ itemList.forEach(
+ item -> {
+ writer.println(itemConverter.apply(item));
+ if (counter.incrementAndGet() % 20 == 0) {
+ writer.flush();
+ }
+ });
+ } catch (RuntimeException e) {
+ Log.e(TAG, "dumpListItems() error: ", e);
+ }
writer.flush();
}
+ private static long getLastFullChargeTimestamp(Context context) {
+ final BatteryEventDao dao = BatteryStateDatabase.getInstance(context).batteryEventDao();
+ try {
+ final Long lastFullChargeTimestamp = dao.getLastFullChargeTimestampForLog();
+ return lastFullChargeTimestamp != null ? lastFullChargeTimestamp : 0L;
+ } catch (RuntimeException e) {
+ Log.e(TAG, "getLastFullChargeTimestamp() error: ", e);
+ return 0L;
+ }
+ }
+
private LogUtils() {}
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.java
index f1b2d66..8b696fe 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.java
@@ -42,6 +42,12 @@
+ " WHERE batteryEventType = 3") // BatteryEventType.FULL_CHARGED = 3
Cursor getLastFullChargeTimestamp();
+ /** Gets the {@link Long} of the last full charge time . */
+ @Query(
+ "SELECT MAX(timestamp) FROM BatteryEventEntity"
+ + " WHERE batteryEventType = 3") // BatteryEventType.FULL_CHARGED = 3
+ Long getLastFullChargeTimestampForLog();
+
/** Gets the {@link Cursor} of all recorded data after a specific timestamp. */
@Query(
"SELECT * FROM BatteryEventEntity"
@@ -49,6 +55,12 @@
+ " ORDER BY timestamp DESC")
Cursor getAllAfter(long timestamp, List<Integer> batteryEventTypes);
+ /** Gets all recorded data after a specific timestamp for log.*/
+ @Query(
+ "SELECT * FROM BatteryEventEntity "
+ + "WHERE timestamp >= :timestamp ORDER BY timestamp DESC")
+ List<BatteryEventEntity> getAllAfterForLog(long timestamp);
+
/** Deletes all recorded data before a specific timestamp. */
@Query("DELETE FROM BatteryEventEntity WHERE timestamp <= :timestamp")
void clearAllBefore(long timestamp);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.java
index b1900c7..d8cf41d 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.java
@@ -42,6 +42,12 @@
+ " ORDER BY timestamp ASC")
Cursor getAllAfter(long timestamp);
+ /** Gets all recorded data after a specific timestamp for log.*/
+ @Query(
+ "SELECT * FROM BatteryUsageSlotEntity WHERE timestamp >= :timestamp"
+ + " ORDER BY timestamp DESC")
+ List<BatteryUsageSlotEntity> getAllAfterForLog(long timestamp);
+
/** Deletes all recorded data before a specific timestamp. */
@Query("DELETE FROM BatteryUsageSlotEntity WHERE timestamp <= :timestamp")
void clearAllBefore(long timestamp);
diff --git a/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java b/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java
index be72e56..e9e1218 100644
--- a/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java
+++ b/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java
@@ -16,12 +16,21 @@
package com.android.settings.fuelgauge.datasaver;
+import static android.net.NetworkPolicyManager.POLICY_NONE;
+import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
+
+import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
+
import android.content.Context;
import android.content.SharedPreferences;
import android.net.NetworkPolicyManager;
+import android.util.ArraySet;
+import android.util.Log;
import androidx.annotation.VisibleForTesting;
+import java.util.Set;
+
/** A class to dynamically manage per apps {@link NetworkPolicyManager} POLICY_ flags. */
public final class DynamicDenylistManager {
@@ -29,47 +38,142 @@
private static final String PREF_KEY_MANUAL_DENY = "manual_denylist_preference";
private static final String PREF_KEY_DYNAMIC_DENY = "dynamic_denylist_preference";
+ private static DynamicDenylistManager sInstance;
+
private final Context mContext;
private final NetworkPolicyManager mNetworkPolicyManager;
+ private final Object mLock = new Object();
- private static DynamicDenylistManager sInstance;
+ @VisibleForTesting
+ static final String PREF_KEY_MANUAL_DENYLIST_SYNCED = "manual_denylist_synced";
/** @return a DynamicDenylistManager object */
public static DynamicDenylistManager getInstance(Context context) {
synchronized (DynamicDenylistManager.class) {
if (sInstance == null) {
- sInstance = new DynamicDenylistManager(context);
+ sInstance = new DynamicDenylistManager(
+ context, NetworkPolicyManager.from(context));
}
return sInstance;
}
}
- DynamicDenylistManager(Context context) {
+ @VisibleForTesting
+ DynamicDenylistManager(Context context, NetworkPolicyManager networkPolicyManager) {
mContext = context.getApplicationContext();
- mNetworkPolicyManager = NetworkPolicyManager.from(mContext);
+ mNetworkPolicyManager = networkPolicyManager;
+ syncPolicyIfNeeded();
}
- /** Update the target uid policy in {@link #getManualDenylistPref()}. */
- public void updateManualDenylist(String uid, int policy) {
- if (policy != NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND) {
- getManualDenylistPref().edit().remove(uid).apply();
- } else {
- getManualDenylistPref().edit().putInt(uid, policy).apply();
+ /** Sync the policy from {@link NetworkPolicyManager} if needed. */
+ private void syncPolicyIfNeeded() {
+ if (getManualDenylistPref().contains(PREF_KEY_MANUAL_DENYLIST_SYNCED)) {
+ Log.i(TAG, "syncPolicyIfNeeded() ignore synced manual denylist");
+ return;
+ }
+
+ final SharedPreferences.Editor editor = getManualDenylistPref().edit();
+ final int[] existedUids = mNetworkPolicyManager
+ .getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
+ if (existedUids != null && existedUids.length != 0) {
+ for (int uid : existedUids) {
+ editor.putInt(String.valueOf(uid), POLICY_REJECT_METERED_BACKGROUND);
+ }
+ }
+ editor.putInt(PREF_KEY_MANUAL_DENYLIST_SYNCED, POLICY_NONE).apply();
+ }
+
+ /** Set policy flags for specific UID. */
+ public void setUidPolicyLocked(int uid, int policy) {
+ synchronized (mLock) {
+ mNetworkPolicyManager.setUidPolicy(uid, policy);
+ }
+ updateDenylistPref(uid, policy);
+ }
+
+ /** Suggest a list of package to set as POLICY_REJECT. */
+ public void setDenylist(Set<Integer> denylistTargetUids) {
+ final Set<Integer> manualDenylistUids = getDenylistAllUids(getManualDenylistPref());
+ denylistTargetUids.removeAll(manualDenylistUids);
+
+ final Set<Integer> lastDynamicDenylistUids = getDenylistAllUids(getDynamicDenylistPref());
+ if (lastDynamicDenylistUids.equals(denylistTargetUids)) {
+ Log.i(TAG, "setDenylist() ignore the same denylist with size: "
+ + lastDynamicDenylistUids.size());
+ return;
+ }
+
+ // Store target denied uids into DynamicDenylistPref.
+ final SharedPreferences.Editor editor = getDynamicDenylistPref().edit();
+ editor.clear();
+ denylistTargetUids.forEach(
+ uid -> editor.putInt(String.valueOf(uid), POLICY_REJECT_METERED_BACKGROUND));
+ editor.apply();
+
+ synchronized (mLock) {
+ // Set new added UIDs into REJECT policy.
+ for (int uid : denylistTargetUids) {
+ if (!lastDynamicDenylistUids.contains(uid)) {
+ mNetworkPolicyManager.setUidPolicy(uid, POLICY_REJECT_METERED_BACKGROUND);
+ }
+ }
+ // Unset removed UIDs back to NONE policy.
+ for (int uid : lastDynamicDenylistUids) {
+ if (!denylistTargetUids.contains(uid)) {
+ mNetworkPolicyManager.setUidPolicy(uid, POLICY_NONE);
+ }
+ }
}
}
/** Return true if the target uid is in {@link #getManualDenylistPref()}. */
- public boolean isInManualDenylist(String uid) {
- return getManualDenylistPref().contains(uid);
+ public boolean isInManualDenylist(int uid) {
+ return getManualDenylistPref().contains(String.valueOf(uid));
}
- /** Clear all data in {@link #getManualDenylistPref()} */
- public void clearManualDenylistPref() {
+ /** Reset the UIDs in the denylist if needed. */
+ public void resetDenylistIfNeeded(String packageName, boolean force) {
+ if (!force && !SETTINGS_PACKAGE_NAME.equals(packageName)) {
+ return;
+ }
+ synchronized (mLock) {
+ for (int uid : mNetworkPolicyManager
+ .getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND)) {
+ if (!getDenylistAllUids(getManualDenylistPref()).contains(uid)) {
+ mNetworkPolicyManager.setUidPolicy(uid, POLICY_NONE);
+ }
+ }
+ }
+ clearSharedPreferences();
+ }
+
+ private Set<Integer> getDenylistAllUids(SharedPreferences sharedPreferences) {
+ final ArraySet<Integer> uids = new ArraySet<>();
+ for (String key : sharedPreferences.getAll().keySet()) {
+ if (PREF_KEY_MANUAL_DENYLIST_SYNCED.equals(key)) {
+ continue;
+ }
+ try {
+ uids.add(Integer.parseInt(key));
+ } catch (NumberFormatException e) {
+ Log.e(TAG, "getDenylistAllUids() unexpected format for " + key);
+ }
+ }
+ return uids;
+ }
+
+ void updateDenylistPref(int uid, int policy) {
+ final String uidString = String.valueOf(uid);
+ if (policy != POLICY_REJECT_METERED_BACKGROUND) {
+ getManualDenylistPref().edit().remove(uidString).apply();
+ } else {
+ getManualDenylistPref().edit().putInt(uidString, policy).apply();
+ }
+ getDynamicDenylistPref().edit().remove(uidString).apply();
+ }
+
+ void clearSharedPreferences() {
getManualDenylistPref().edit().clear().apply();
- }
-
- /** Clear all data in {@link #getDynamicDenylistPref()} */
- public void clearDynamicDenylistPref() {
getDynamicDenylistPref().edit().clear().apply();
}
diff --git a/src/com/android/settings/gestures/PreventRingingSwitchPreferenceController.java b/src/com/android/settings/gestures/PreventRingingSwitchPreferenceController.java
index 642623a..9c0e0bf 100644
--- a/src/com/android/settings/gestures/PreventRingingSwitchPreferenceController.java
+++ b/src/com/android/settings/gestures/PreventRingingSwitchPreferenceController.java
@@ -18,7 +18,8 @@
import android.content.Context;
import android.provider.Settings;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
@@ -28,10 +29,9 @@
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
public class PreventRingingSwitchPreferenceController extends AbstractPreferenceController
- implements PreferenceControllerMixin, OnMainSwitchChangeListener {
+ implements PreferenceControllerMixin, OnCheckedChangeListener {
private static final String KEY = "gesture_prevent_ringing_switch";
private final Context mContext;
@@ -94,7 +94,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
final int preventRingingSetting = Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.VOLUME_HUSH_GESTURE, Settings.Secure.VOLUME_HUSH_VIBRATE);
final int newRingingSetting = preventRingingSetting == Settings.Secure.VOLUME_HUSH_OFF
diff --git a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
index bdbbbbc..f3dc0a3 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
@@ -110,7 +110,8 @@
}
static InputDevice getInputDevice(InputManager im, InputDeviceIdentifier identifier) {
- return im.getInputDeviceByDescriptor(identifier.getDescriptor());
+ return identifier == null ? null : im.getInputDeviceByDescriptor(
+ identifier.getDescriptor());
}
static KeyboardLayout[] getKeyboardLayouts(InputManager inputManager, int userId,
diff --git a/src/com/android/settings/inputmethod/SpellCheckerPreference.java b/src/com/android/settings/inputmethod/SpellCheckerPreference.java
index 3c1ffeb..b8028fe 100644
--- a/src/com/android/settings/inputmethod/SpellCheckerPreference.java
+++ b/src/com/android/settings/inputmethod/SpellCheckerPreference.java
@@ -25,6 +25,7 @@
import android.view.View.OnClickListener;
import android.view.textservice.SpellCheckerInfo;
+import androidx.annotation.VisibleForTesting;
import androidx.appcompat.app.AlertDialog.Builder;
import androidx.preference.PreferenceViewHolder;
@@ -41,13 +42,19 @@
class SpellCheckerPreference extends CustomListPreference {
private final SpellCheckerInfo[] mScis;
- private Intent mIntent;
+ @VisibleForTesting
+ Intent mIntent;
public SpellCheckerPreference(final Context context, final SpellCheckerInfo[] scis) {
super(context, null);
- setSingleLineTitle(false);
mScis = scis;
+ setLayoutResource(
+ com.android.settingslib.widget.preference.twotarget.R.layout.preference_two_target);
+
setWidgetLayoutResource(R.layout.preference_widget_gear);
+ if (scis == null) {
+ return;
+ }
CharSequence[] labels = new CharSequence[scis.length];
CharSequence[] values = new CharSequence[scis.length];
for (int i = 0 ; i < scis.length; i++) {
@@ -106,14 +113,26 @@
@Override
public void onBindViewHolder(PreferenceViewHolder view) {
super.onBindViewHolder(view);
+ final View divider = view.findViewById(
+ com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider);
+ final View widgetFrame = view.findViewById(android.R.id.widget_frame);
+ if (divider != null) {
+ divider.setVisibility(mIntent != null ? View.VISIBLE : View.GONE);
+ }
+ if (widgetFrame != null) {
+ widgetFrame.setVisibility(mIntent != null ? View.VISIBLE : View.GONE);
+ }
+
View settingsButton = view.findViewById(R.id.settings_button);
- settingsButton.setVisibility(mIntent != null ? View.VISIBLE : View.INVISIBLE);
- settingsButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- onSettingsButtonClicked();
- }
- });
+ if (settingsButton != null) {
+ settingsButton.setVisibility(mIntent != null ? View.VISIBLE : View.INVISIBLE);
+ settingsButton.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ onSettingsButtonClicked();
+ }
+ });
+ }
}
private void onSettingsButtonClicked() {
diff --git a/src/com/android/settings/inputmethod/SpellCheckersSettings.java b/src/com/android/settings/inputmethod/SpellCheckersSettings.java
index a58d10c..b4d7570 100644
--- a/src/com/android/settings/inputmethod/SpellCheckersSettings.java
+++ b/src/com/android/settings/inputmethod/SpellCheckersSettings.java
@@ -26,7 +26,8 @@
import android.view.textservice.SpellCheckerInfo;
import android.view.textservice.SpellCheckerSubtype;
import android.view.textservice.TextServicesManager;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.appcompat.app.AlertDialog;
import androidx.preference.Preference;
@@ -37,10 +38,9 @@
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.widget.SettingsMainSwitchBar;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
public class SpellCheckersSettings extends SettingsPreferenceFragment
- implements OnMainSwitchChangeListener, OnPreferenceChangeListener {
+ implements OnCheckedChangeListener, OnPreferenceChangeListener {
private static final String TAG = SpellCheckersSettings.class.getSimpleName();
private static final boolean DBG = false;
@@ -105,7 +105,7 @@
}
@Override
- public void onSwitchChanged(final Switch switchView, final boolean isChecked) {
+ public void onCheckedChanged(final CompoundButton buttonView, final boolean isChecked) {
Settings.Secure.putInt(getContentResolver(), Settings.Secure.SPELL_CHECKER_ENABLED,
isChecked ? 1 : 0);
updatePreferenceScreen();
@@ -133,6 +133,7 @@
if (preference instanceof SpellCheckerPreference) {
final SpellCheckerPreference pref = (SpellCheckerPreference) preference;
pref.setSelected(mCurrentSci);
+ pref.setEnabled(mEnabledScis != null);
}
}
mSpellCheckerLanaguagePref.setEnabled(isSpellCheckerEnabled && mCurrentSci != null);
diff --git a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
index 43fc9cf..1b3a4f2 100644
--- a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
+++ b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
@@ -194,6 +194,9 @@
@VisibleForTesting
protected void setCheckBoxDescription(LocaleDragCell dragCell, CheckBox checkbox,
boolean isChecked) {
+ if (!mRemoveMode) {
+ return;
+ }
CharSequence checkedStatus = mContext.getText(
isChecked ? com.android.internal.R.string.checked
: com.android.internal.R.string.not_checked);
@@ -229,8 +232,7 @@
if (fromPosition != toPosition) {
FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
- .action(mContext, SettingsEnums.ACTION_REORDER_LANGUAGE,
- mDragLocale.getLocale().toLanguageTag() + " move to " + toPosition);
+ .action(mContext, SettingsEnums.ACTION_REORDER_LANGUAGE);
}
notifyItemChanged(fromPosition); // to update the numbers
@@ -272,8 +274,7 @@
localeInfo = mFeedItemList.get(i);
if (localeInfo.getChecked()) {
FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
- .action(mContext, SettingsEnums.ACTION_REMOVE_LANGUAGE,
- localeInfo.getLocale().toLanguageTag());
+ .action(mContext, SettingsEnums.ACTION_REMOVE_LANGUAGE);
mFeedItemList.remove(i);
}
}
diff --git a/src/com/android/settings/localepicker/LocaleLinearLayoutManager.java b/src/com/android/settings/localepicker/LocaleLinearLayoutManager.java
index 8795bf9..59a5fb0 100644
--- a/src/com/android/settings/localepicker/LocaleLinearLayoutManager.java
+++ b/src/com/android/settings/localepicker/LocaleLinearLayoutManager.java
@@ -43,6 +43,7 @@
public class LocaleLinearLayoutManager extends LinearLayoutManager {
private final LocaleDragAndDropAdapter mAdapter;
private final Context mContext;
+ private LocaleListEditor mLocaleListEditor;
private final AccessibilityNodeInfoCompat.AccessibilityActionCompat mActionMoveUp;
private final AccessibilityNodeInfoCompat.AccessibilityActionCompat mActionMoveDown;
@@ -147,8 +148,12 @@
}
if (result) {
- mAdapter.doTheUpdate();
+ mLocaleListEditor.showConfirmDialog(false, mAdapter.getFeedItemList().get(0));
}
return result;
}
+
+ public void setLocaleListEditor(LocaleListEditor localeListEditor) {
+ mLocaleListEditor = localeListEditor;
+ }
}
diff --git a/src/com/android/settings/localepicker/LocaleListEditor.java b/src/com/android/settings/localepicker/LocaleListEditor.java
index 28f066a..1c22fd9 100644
--- a/src/com/android/settings/localepicker/LocaleListEditor.java
+++ b/src/com/android/settings/localepicker/LocaleListEditor.java
@@ -224,8 +224,7 @@
localeInfo = mayAppendUnicodeTags(localeInfo, preferencesTags);
mAdapter.addLocale(localeInfo);
updateVisibilityOfRemoveMenu();
- mMetricsFeatureProvider.action(getContext(), SettingsEnums.ACTION_ADD_LANGUAGE,
- localeInfo.getLocale().toLanguageTag());
+ mMetricsFeatureProvider.action(getContext(), SettingsEnums.ACTION_ADD_LANGUAGE);
} else if (requestCode == DIALOG_CONFIRM_SYSTEM_DEFAULT) {
localeInfo = mAdapter.getFeedItemList().get(0);
if (resultCode == Activity.RESULT_OK) {
@@ -239,8 +238,7 @@
localeDialogFragment.setArguments(args);
localeDialogFragment.show(mFragmentManager, TAG_DIALOG_NOT_AVAILABLE);
mMetricsFeatureProvider.action(getContext(),
- SettingsEnums.ACTION_NOT_SUPPORTED_SYSTEM_LANGUAGE,
- localeInfo.getLocale().toLanguageTag());
+ SettingsEnums.ACTION_NOT_SUPPORTED_SYSTEM_LANGUAGE);
}
} else {
mAdapter.notifyListChanged(localeInfo);
@@ -472,6 +470,7 @@
private void configureDragAndDrop(LayoutPreference layout) {
final RecyclerView list = layout.findViewById(R.id.dragList);
final LocaleLinearLayoutManager llm = new LocaleLinearLayoutManager(getContext(), mAdapter);
+ llm.setLocaleListEditor(this);
llm.setAutoMeasureEnabled(true);
list.setLayoutManager(llm);
list.setHasFixedSize(true);
@@ -505,7 +504,7 @@
return false;
}
- private void showConfirmDialog(boolean isFirstRemoved, LocaleStore.LocaleInfo localeInfo) {
+ public void showConfirmDialog(boolean isFirstRemoved, LocaleStore.LocaleInfo localeInfo) {
Locale currentSystemLocale = LocalePicker.getLocales().get(0);
if (!localeInfo.getLocale().equals(currentSystemLocale)) {
final LocaleDialogFragment localeDialogFragment =
diff --git a/src/com/android/settings/location/BluetoothScanningMainSwitchPreferenceController.java b/src/com/android/settings/location/BluetoothScanningMainSwitchPreferenceController.java
index 78e3184..c975a41 100644
--- a/src/com/android/settings/location/BluetoothScanningMainSwitchPreferenceController.java
+++ b/src/com/android/settings/location/BluetoothScanningMainSwitchPreferenceController.java
@@ -16,22 +16,22 @@
package com.android.settings.location;
import android.content.Context;
-import android.provider.Settings;
-import android.widget.Switch;
import android.os.UserManager;
+import android.provider.Settings;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
/**
* Preference controller for Bluetooth scanning main switch.
*/
public class BluetoothScanningMainSwitchPreferenceController extends TogglePreferenceController
- implements OnMainSwitchChangeListener {
+ implements OnCheckedChangeListener {
private static final String KEY_BLUETOOTH_SCANNING_SWITCH = "bluetooth_always_scanning_switch";
private final UserManager mUserManager;
@@ -78,7 +78,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked != isChecked()) {
setChecked(isChecked);
}
diff --git a/src/com/android/settings/location/LocationSwitchBarController.java b/src/com/android/settings/location/LocationSwitchBarController.java
index b150b1d..1e415d6 100644
--- a/src/com/android/settings/location/LocationSwitchBarController.java
+++ b/src/com/android/settings/location/LocationSwitchBarController.java
@@ -16,7 +16,8 @@
import android.content.Context;
import android.os.UserHandle;
import android.os.UserManager;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import com.android.settings.widget.SettingsMainSwitchBar;
import com.android.settingslib.RestrictedLockUtils;
@@ -24,12 +25,11 @@
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
/**
* The switch controller for the location.
*/
-public class LocationSwitchBarController implements OnMainSwitchChangeListener,
+public class LocationSwitchBarController implements OnCheckedChangeListener,
LocationEnabler.LocationModeChangeListener, LifecycleObserver, OnStart, OnStop {
private final SettingsMainSwitchBar mSwitchBar;
@@ -100,7 +100,7 @@
* Listens to the state change of the location primary switch.
*/
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mLocationEnabler.setLocationEnabled(isChecked);
}
}
diff --git a/src/com/android/settings/location/WifiScanningMainSwitchPreferenceController.java b/src/com/android/settings/location/WifiScanningMainSwitchPreferenceController.java
index e22b0a0..9f19a70 100644
--- a/src/com/android/settings/location/WifiScanningMainSwitchPreferenceController.java
+++ b/src/com/android/settings/location/WifiScanningMainSwitchPreferenceController.java
@@ -17,21 +17,21 @@
import android.content.Context;
import android.net.wifi.WifiManager;
-import android.widget.Switch;
import android.os.UserManager;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
/**
* Preference controller for Wi-Fi scanning main switch.
*/
public class WifiScanningMainSwitchPreferenceController extends TogglePreferenceController
- implements OnMainSwitchChangeListener {
+ implements OnCheckedChangeListener {
private static final String KEY_WIFI_SCANNING_SWITCH = "wifi_always_scanning_switch";
private final WifiManager mWifiManager;
@@ -79,7 +79,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked != isChecked()) {
setChecked(isChecked);
}
diff --git a/src/com/android/settings/network/InternetPreferenceController.java b/src/com/android/settings/network/InternetPreferenceController.java
index bc2e71e..71acd4b 100644
--- a/src/com/android/settings/network/InternetPreferenceController.java
+++ b/src/com/android/settings/network/InternetPreferenceController.java
@@ -24,6 +24,7 @@
import static com.android.settings.network.InternetUpdater.INTERNET_NETWORKS_AVAILABLE;
import static com.android.settings.network.InternetUpdater.INTERNET_OFF;
import static com.android.settings.network.InternetUpdater.INTERNET_WIFI;
+import static com.android.settingslib.wifi.WifiUtils.getHotspotIconResource;
import android.content.Context;
import android.graphics.drawable.Drawable;
@@ -40,11 +41,15 @@
import com.android.settings.R;
import com.android.settings.widget.SummaryUpdater;
+import com.android.settings.wifi.WifiPickerTrackerHelper;
import com.android.settings.wifi.WifiSummaryUpdater;
import com.android.settingslib.Utils;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
import com.android.settingslib.utils.ThreadUtils;
+import com.android.wifitrackerlib.HotspotNetworkEntry;
+import com.android.wifitrackerlib.WifiEntry;
+import com.android.wifitrackerlib.WifiPickerTracker;
import java.util.ArrayList;
import java.util.HashMap;
@@ -57,12 +62,14 @@
public class InternetPreferenceController extends AbstractPreferenceController implements
LifecycleObserver, SummaryUpdater.OnSummaryChangeListener,
InternetUpdater.InternetChangeListener, MobileNetworkRepository.MobileNetworkCallback,
- DefaultSubscriptionReceiver.DefaultSubscriptionListener {
+ DefaultSubscriptionReceiver.DefaultSubscriptionListener,
+ WifiPickerTracker.WifiPickerTrackerCallback {
public static final String KEY = "internet_settings";
private Preference mPreference;
- private final WifiSummaryUpdater mSummaryHelper;
+ @VisibleForTesting
+ WifiSummaryUpdater mSummaryHelper;
private InternetUpdater mInternetUpdater;
private @InternetUpdater.InternetType int mInternetType;
private LifecycleOwner mLifecycleOwner;
@@ -70,6 +77,8 @@
private List<SubscriptionInfoEntity> mSubInfoEntityList = new ArrayList<>();
private int mDefaultDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
private DefaultSubscriptionReceiver mDataSubscriptionChangedReceiver;
+ @VisibleForTesting
+ WifiPickerTrackerHelper mWifiPickerTrackerHelper;
@VisibleForTesting
static Map<Integer, Integer> sIconMap = new HashMap<>();
@@ -102,6 +111,7 @@
mLifecycleOwner = lifecycleOwner;
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
mDataSubscriptionChangedReceiver = new DefaultSubscriptionReceiver(context, this);
+ mWifiPickerTrackerHelper = new WifiPickerTrackerHelper(lifecycle, context, this);
lifecycle.addObserver(this);
}
@@ -111,20 +121,27 @@
mPreference = screen.findPreference(KEY);
}
+ private void drawIcon(int iconResId) {
+ Drawable drawable = mContext.getDrawable(iconResId);
+ if (drawable != null) {
+ drawable.setTintList(Utils.getColorAttr(mContext, android.R.attr.colorControlNormal));
+ mPreference.setIcon(drawable);
+ }
+ }
+
@Override
public void updateState(Preference preference) {
if (mPreference == null) {
return;
}
+ if (mInternetType == INTERNET_WIFI && updateHotspotNetwork()) {
+ return;
+ }
+
final @IdRes int icon = sIconMap.get(mInternetType);
if (icon != 0) {
- final Drawable drawable = mContext.getDrawable(icon);
- if (drawable != null) {
- drawable.setTintList(
- Utils.getColorAttr(mContext, android.R.attr.colorControlNormal));
- mPreference.setIcon(drawable);
- }
+ drawIcon(icon);
}
if (mInternetType == INTERNET_WIFI) {
@@ -143,6 +160,17 @@
}
}
+ @VisibleForTesting
+ boolean updateHotspotNetwork() {
+ WifiEntry entry = mWifiPickerTrackerHelper.getWifiPickerTracker().getConnectedWifiEntry();
+ if (!(entry instanceof HotspotNetworkEntry)) {
+ return false;
+ }
+ drawIcon(getHotspotIconResource(((HotspotNetworkEntry) entry).getDeviceType()));
+ mPreference.setSummary(((HotspotNetworkEntry) entry).getAlternateSummary());
+ return true;
+ }
+
@Override
public boolean isAvailable() {
return true;
@@ -200,8 +228,8 @@
@Override
public void onSummaryChanged(String summary) {
- if (mInternetType == INTERNET_WIFI && mPreference != null) {
- mPreference.setSummary(summary);
+ if (mInternetType == INTERNET_WIFI) {
+ updateState(mPreference);
}
}
@@ -256,4 +284,26 @@
mDefaultDataSubId = defaultDataSubId;
updateState(mPreference);
}
+
+ @Override
+ public void onWifiEntriesChanged() {
+ if (mInternetType == INTERNET_WIFI) {
+ updateState(mPreference);
+ }
+ }
+
+ @Override
+ public void onWifiStateChanged() {
+ // Do nothing
+ }
+
+ @Override
+ public void onNumSavedNetworksChanged() {
+ // Do nothing
+ }
+
+ @Override
+ public void onNumSavedSubscriptionsChanged() {
+ // Do nothing
+ }
}
diff --git a/src/com/android/settings/network/MobileIconGroupExt.kt b/src/com/android/settings/network/MobileIconGroupExt.kt
new file mode 100644
index 0000000..0435ef0
--- /dev/null
+++ b/src/com/android/settings/network/MobileIconGroupExt.kt
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.network
+
+import android.content.Context
+import android.telephony.SubscriptionManager
+import android.text.Html
+import com.android.settingslib.SignalIcon
+
+fun SignalIcon.MobileIconGroup.getSummaryForSub(context: Context, subId: Int): String =
+ when (dataContentDescription) {
+ 0 -> ""
+ else -> {
+ SubscriptionManager.getResourcesForSubId(context, subId)
+ .getString(dataContentDescription)
+ }
+ }
+
+fun String.maybeToHtml(): CharSequence = when {
+ contains(HTML_TAG) -> Html.fromHtml(this, Html.FROM_HTML_MODE_LEGACY)
+ else -> this
+}
+
+private const val HTML_TAG = "</"
diff --git a/src/com/android/settings/network/MobileNetworkRepository.java b/src/com/android/settings/network/MobileNetworkRepository.java
index f69b63f..af37d24 100644
--- a/src/com/android/settings/network/MobileNetworkRepository.java
+++ b/src/com/android/settings/network/MobileNetworkRepository.java
@@ -226,6 +226,9 @@
createTelephonyManagerBySubId(subId);
mDataRoamingObserver.register(mContext, subId);
}
+ // When one client registers callback first time, convey the cached results to the client
+ // so that the client is aware of the content therein.
+ sendAvailableSubInfoCache(mobileNetworkCallback);
}
public void addRegisterBySubId(int subId) {
@@ -416,7 +419,15 @@
private void onAvailableSubInfoChanged(
List<SubscriptionInfoEntity> availableSubInfoEntityList) {
- mAvailableSubInfoEntityList = new ArrayList<>(availableSubInfoEntityList);
+ synchronized (this) {
+ if (mAvailableSubInfoEntityList != null
+ && mAvailableSubInfoEntityList.size() == availableSubInfoEntityList.size()
+ && mAvailableSubInfoEntityList.containsAll(availableSubInfoEntityList)) {
+ Log.d(TAG, "onAvailableSubInfoChanged, duplicates = " + availableSubInfoEntityList);
+ return;
+ }
+ mAvailableSubInfoEntityList = new ArrayList<>(availableSubInfoEntityList);
+ }
if (DEBUG) {
Log.d(TAG, "onAvailableSubInfoChanged, availableSubInfoEntityList = "
+ availableSubInfoEntityList);
@@ -426,23 +437,48 @@
}
mMetricsFeatureProvider.action(mContext,
SettingsEnums.ACTION_MOBILE_NETWORK_DB_NOTIFY_SUB_INFO_IS_CHANGED, 0);
- onActiveSubInfoListChanged(mAvailableSubInfoEntityList);
+ onActiveSubInfoListChanged(availableSubInfoEntityList);
}
private void onActiveSubInfoListChanged(
List<SubscriptionInfoEntity> availableSubInfoEntityList) {
- mActiveSubInfoEntityList = availableSubInfoEntityList.stream()
+ List<SubscriptionInfoEntity> activeSubInfoEntityList =
+ availableSubInfoEntityList.stream()
.filter(SubscriptionInfoEntity::isActiveSubscription)
.filter(SubscriptionInfoEntity::isSubscriptionVisible)
.collect(Collectors.toList());
if (DEBUG) {
Log.d(TAG, "onActiveSubInfoChanged, activeSubInfoEntityList = "
- + mActiveSubInfoEntityList);
+ + activeSubInfoEntityList);
}
- List<SubscriptionInfoEntity> activeSubInfoEntityList = new ArrayList<>(
- mActiveSubInfoEntityList);
+ List<SubscriptionInfoEntity> tempActiveSubInfoEntityList = new ArrayList<>(
+ activeSubInfoEntityList);
+ synchronized (this) {
+ mActiveSubInfoEntityList = activeSubInfoEntityList;
+ }
for (MobileNetworkCallback callback : sCallbacks) {
- callback.onActiveSubInfoChanged(activeSubInfoEntityList);
+ callback.onActiveSubInfoChanged(tempActiveSubInfoEntityList);
+ }
+ }
+
+ private void sendAvailableSubInfoCache(MobileNetworkCallback callback) {
+ if (callback != null) {
+ List<SubscriptionInfoEntity> availableSubInfoEntityList = null;
+ List<SubscriptionInfoEntity> activeSubInfoEntityList = null;
+ synchronized (this) {
+ if (mAvailableSubInfoEntityList != null) {
+ availableSubInfoEntityList = new ArrayList<>(mAvailableSubInfoEntityList);
+ }
+ if (mActiveSubInfoEntityList != null) {
+ activeSubInfoEntityList = new ArrayList<>(mActiveSubInfoEntityList);
+ }
+ }
+ if (availableSubInfoEntityList != null) {
+ callback.onAvailableSubInfoChanged(availableSubInfoEntityList);
+ }
+ if (activeSubInfoEntityList != null) {
+ callback.onActiveSubInfoChanged(activeSubInfoEntityList);
+ }
}
}
@@ -498,8 +534,6 @@
mMobileNetworkDatabase.deleteSubInfoBySubId(subId);
mMobileNetworkDatabase.deleteUiccInfoBySubId(subId);
mMobileNetworkDatabase.deleteMobileNetworkInfoBySubId(subId);
- mAvailableSubInfoEntityList.removeIf(info -> info.subId.equals(subId));
- mActiveSubInfoEntityList.removeIf(info -> info.subId.equals(subId));
mUiccInfoEntityList.removeIf(info -> info.subId.equals(subId));
mMobileNetworkInfoEntityList.removeIf(info -> info.subId.equals(subId));
int id = Integer.parseInt(subId);
@@ -656,10 +690,15 @@
private void insertAvailableSubInfoToEntity(List<SubscriptionInfo> inputAvailableInfoList) {
sExecutor.execute(() -> {
- SubscriptionInfoEntity[] availableInfoArray = mAvailableSubInfoEntityList.toArray(
+ SubscriptionInfoEntity[] availableInfoArray = null;
+ int availableEntitySize = 0;
+ synchronized (this) {
+ availableInfoArray = mAvailableSubInfoEntityList.toArray(
new SubscriptionInfoEntity[0]);
+ availableEntitySize = mAvailableSubInfoEntityList.size();
+ }
if ((inputAvailableInfoList == null || inputAvailableInfoList.size() == 0)
- && mAvailableSubInfoEntityList.size() != 0) {
+ && availableEntitySize != 0) {
if (DEBUG) {
Log.d(TAG, "availableSudInfoList from framework is empty, remove all subs");
}
@@ -672,7 +711,7 @@
SubscriptionInfo[] inputAvailableInfoArray = inputAvailableInfoList.toArray(
new SubscriptionInfo[0]);
// Remove the redundant subInfo
- if (inputAvailableInfoList.size() <= mAvailableSubInfoEntityList.size()) {
+ if (inputAvailableInfoList.size() <= availableEntitySize) {
for (SubscriptionInfo subInfo : inputAvailableInfoArray) {
int subId = subInfo.getSubscriptionId();
if (mSubscriptionInfoMap.containsKey(subId)) {
@@ -686,7 +725,7 @@
deleteAllInfoBySubId(String.valueOf(key));
}
}
- } else if (inputAvailableInfoList.size() < mAvailableSubInfoEntityList.size()) {
+ } else if (inputAvailableInfoList.size() < availableEntitySize) {
// Check the subInfo between the new list from framework and old list in
// the database, if the subInfo is not existed in the new list, delete it
// from the database.
diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java
index d558aa8..4790c65 100644
--- a/src/com/android/settings/network/NetworkDashboardFragment.java
+++ b/src/com/android/settings/network/NetworkDashboardFragment.java
@@ -22,7 +22,6 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.provider.SearchIndexableResource;
import android.util.Log;
import androidx.appcompat.app.AlertDialog;
@@ -31,19 +30,16 @@
import com.android.settings.R;
import com.android.settings.SettingsDumpService;
-import com.android.settings.Utils;
import com.android.settings.core.OnActivityResultListener;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.network.MobilePlanPreferenceController.MobilePlanPreferenceHost;
import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.wifi.WifiPrimarySwitchPreferenceController;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.search.SearchIndexable;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
@SearchIndexable
@@ -122,7 +118,6 @@
controllers.add(internetPreferenceController);
}
controllers.add(privateDnsPreferenceController);
- controllers.add(new NetworkProviderCallsSmsController(context, lifecycle, lifecycleOwner));
// Start SettingsDumpService after the MobileNetworkRepository is created.
Intent intent = new Intent(context, SettingsDumpService.class);
diff --git a/src/com/android/settings/network/NetworkProviderCallsSmsController.java b/src/com/android/settings/network/NetworkProviderCallsSmsController.java
deleted file mode 100644
index 5eec3d9..0000000
--- a/src/com/android/settings/network/NetworkProviderCallsSmsController.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network;
-
-import static androidx.lifecycle.Lifecycle.Event;
-
-import android.content.Context;
-import android.os.UserManager;
-import android.telephony.ServiceState;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.util.Log;
-import android.view.View;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.OnLifecycleEvent;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settingslib.RestrictedPreference;
-import com.android.settingslib.Utils;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
-
-import java.util.List;
-
-public class NetworkProviderCallsSmsController extends AbstractPreferenceController implements
- LifecycleObserver, MobileNetworkRepository.MobileNetworkCallback,
- DefaultSubscriptionReceiver.DefaultSubscriptionListener {
-
- private static final String TAG = "NetworkProviderCallsSmsController";
- private static final String KEY = "calls_and_sms";
- private static final String RTL_MARK = "\u200F";
-
- private UserManager mUserManager;
- private TelephonyManager mTelephonyManager;
- private RestrictedPreference mPreference;
- private boolean mIsRtlMode;
- private LifecycleOwner mLifecycleOwner;
- private MobileNetworkRepository mMobileNetworkRepository;
- private List<SubscriptionInfoEntity> mSubInfoEntityList;
- private int mDefaultVoiceSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
- private int mDefaultSmsSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
- private DefaultSubscriptionReceiver mDataSubscriptionChangedReceiver;
-
- /**
- * The summary text and click behavior of the "Calls & SMS" item on the
- * Network & internet page.
- */
- public NetworkProviderCallsSmsController(Context context, Lifecycle lifecycle,
- LifecycleOwner lifecycleOwner) {
- super(context);
-
- mUserManager = context.getSystemService(UserManager.class);
- mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
- mIsRtlMode = context.getResources().getConfiguration().getLayoutDirection()
- == View.LAYOUT_DIRECTION_RTL;
- mLifecycleOwner = lifecycleOwner;
- mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
- mDataSubscriptionChangedReceiver = new DefaultSubscriptionReceiver(context, this);
- if (lifecycle != null) {
- lifecycle.addObserver(this);
- }
- }
-
- @OnLifecycleEvent(Event.ON_RESUME)
- public void onResume() {
- mMobileNetworkRepository.addRegister(mLifecycleOwner, this,
- SubscriptionManager.INVALID_SUBSCRIPTION_ID);
- mMobileNetworkRepository.updateEntity();
- mDataSubscriptionChangedReceiver.registerReceiver();
- mDefaultVoiceSubId = SubscriptionManager.getDefaultVoiceSubscriptionId();
- mDefaultSmsSubId = SubscriptionManager.getDefaultSmsSubscriptionId();
- }
-
- @OnLifecycleEvent(Event.ON_PAUSE)
- public void onPause() {
- mMobileNetworkRepository.removeRegister(this);
- mDataSubscriptionChangedReceiver.unRegisterReceiver();
- }
-
- @Override
- public void displayPreference(PreferenceScreen screen) {
- super.displayPreference(screen);
- mPreference = screen.findPreference(getPreferenceKey());
- }
-
- @Override
- public CharSequence getSummary() {
- List<SubscriptionInfoEntity> list = getSubscriptionInfoList();
- if (list == null || list.isEmpty()) {
- return setSummaryResId(R.string.calls_sms_no_sim);
- } else {
- final StringBuilder summary = new StringBuilder();
- SubscriptionInfoEntity[] entityArray = list.toArray(
- new SubscriptionInfoEntity[0]);
- for (SubscriptionInfoEntity subInfo : entityArray) {
- int subsSize = list.size();
- int subId = Integer.parseInt(subInfo.subId);
- final CharSequence displayName = subInfo.uniqueName;
-
- // Set displayName as summary if there is only one valid SIM.
- if (subsSize == 1
- && list.get(0).isValidSubscription
- && isInService(subId)) {
- return displayName;
- }
-
- CharSequence status = getPreferredStatus(subInfo, subsSize, subId);
- if (status.toString().isEmpty()) {
- // If there are 2 or more SIMs and one of these has no preferred status,
- // set only its displayName as summary.
- summary.append(displayName);
- } else {
- summary.append(displayName)
- .append(" (")
- .append(status)
- .append(")");
- }
- // Do not add ", " for the last subscription.
- if (list.size() > 0 && !subInfo.equals(list.get(list.size() - 1))) {
- summary.append(", ");
- }
-
- if (mIsRtlMode) {
- summary.insert(0, RTL_MARK).insert(summary.length(), RTL_MARK);
- }
- }
- return summary;
- }
- }
-
- @VisibleForTesting
- protected CharSequence getPreferredStatus(SubscriptionInfoEntity subInfo, int subsSize,
- int subId) {
- String status = "";
- boolean isCallPreferred = subInfo.getSubId() == getDefaultVoiceSubscriptionId();
- boolean isSmsPreferred = subInfo.getSubId() == getDefaultSmsSubscriptionId();
-
- if (!subInfo.isValidSubscription || !isInService(subId)) {
- status = setSummaryResId(subsSize > 1 ? R.string.calls_sms_unavailable :
- R.string.calls_sms_temp_unavailable);
- } else {
- if (isCallPreferred && isSmsPreferred) {
- status = setSummaryResId(R.string.calls_sms_preferred);
- } else if (isCallPreferred) {
- status = setSummaryResId(R.string.calls_sms_calls_preferred);
- } else if (isSmsPreferred) {
- status = setSummaryResId(R.string.calls_sms_sms_preferred);
- }
- }
- return status;
- }
-
- private String setSummaryResId(int resId) {
- return mContext.getResources().getString(resId);
- }
-
- @VisibleForTesting
- protected List<SubscriptionInfoEntity> getSubscriptionInfoList() {
- return mSubInfoEntityList;
- }
-
- private void update() {
- if (mPreference == null || mPreference.isDisabledByAdmin()) {
- return;
- }
- refreshSummary(mPreference);
- mPreference.setOnPreferenceClickListener(null);
- mPreference.setFragment(null);
-
- if (mSubInfoEntityList == null || mSubInfoEntityList.isEmpty()) {
- mPreference.setEnabled(false);
- } else {
- mPreference.setEnabled(true);
- mPreference.setFragment(NetworkProviderCallsSmsFragment.class.getCanonicalName());
- }
- }
-
- @Override
- public boolean isAvailable() {
- return SubscriptionUtil.isSimHardwareVisible(mContext) &&
- mUserManager.isAdminUser();
- }
-
- @Override
- public String getPreferenceKey() {
- return KEY;
- }
-
- @Override
- public void onAirplaneModeChanged(boolean airplaneModeEnabled) {
- update();
- }
-
- @Override
- public void updateState(Preference preference) {
- super.updateState(preference);
- if (preference == null) {
- return;
- }
- refreshSummary(mPreference);
- update();
- }
-
- @VisibleForTesting
- protected boolean isInService(int subId) {
- ServiceState serviceState =
- mTelephonyManager.createForSubscriptionId(subId).getServiceState();
- return Utils.isInService(serviceState);
- }
-
- @Override
- public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> activeSubInfoList) {
- mSubInfoEntityList = activeSubInfoList;
- update();
- }
-
- @VisibleForTesting
- protected int getDefaultVoiceSubscriptionId() {
- return mDefaultVoiceSubId;
- }
-
- @VisibleForTesting
- protected int getDefaultSmsSubscriptionId() {
- return mDefaultSmsSubId;
- }
-
- @Override
- public void onDefaultVoiceChanged(int defaultVoiceSubId) {
- mDefaultVoiceSubId = defaultVoiceSubId;
- update();
- }
-
- @Override
- public void onDefaultSmsChanged(int defaultSmsSubId) {
- mDefaultSmsSubId = defaultSmsSubId;
- update();
- }
-}
diff --git a/src/com/android/settings/network/NetworkProviderCallsSmsController.kt b/src/com/android/settings/network/NetworkProviderCallsSmsController.kt
new file mode 100644
index 0000000..a265041
--- /dev/null
+++ b/src/com/android/settings/network/NetworkProviderCallsSmsController.kt
@@ -0,0 +1,196 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.network
+
+import android.app.settings.SettingsEnums
+import android.content.Context
+import android.content.IntentFilter
+import android.os.UserManager
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import androidx.annotation.VisibleForTesting
+import androidx.compose.foundation.layout.Column
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.PermPhoneMsg
+import androidx.compose.material3.HorizontalDivider
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.remember
+import androidx.compose.ui.res.stringResource
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import androidx.lifecycle.viewmodel.compose.viewModel
+import com.android.settings.R
+import com.android.settings.core.SubSettingLauncher
+import com.android.settings.spa.preference.ComposePreferenceController
+import com.android.settingslib.Utils
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+import com.android.settingslib.spa.widget.ui.SettingsIcon
+import com.android.settingslib.spaprivileged.framework.common.broadcastReceiverFlow
+import com.android.settingslib.spaprivileged.framework.common.userManager
+import com.android.settingslib.spaprivileged.framework.compose.placeholder
+import com.android.settingslib.spaprivileged.model.enterprise.Restrictions
+import com.android.settingslib.spaprivileged.template.preference.RestrictedPreference
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.merge
+
+/**
+ * The summary text and click behavior of the "Calls & SMS" item on the Network & internet page.
+ */
+open class NetworkProviderCallsSmsController @JvmOverloads constructor(
+ context: Context,
+ preferenceKey: String,
+ private val getDisplayName: (SubscriptionInfo) -> CharSequence = { subInfo ->
+ SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, context)
+ },
+ private val isInService: (Int) -> Boolean = IsInServiceImpl(context)::isInService,
+) : ComposePreferenceController(context, preferenceKey) {
+
+ override fun getAvailabilityStatus() = when {
+ !SubscriptionUtil.isSimHardwareVisible(mContext) -> UNSUPPORTED_ON_DEVICE
+ !mContext.userManager.isAdminUser -> DISABLED_FOR_USER
+ else -> AVAILABLE
+ }
+
+ @Composable
+ override fun Content() {
+ Column {
+ CallsAndSms()
+ HorizontalDivider()
+ }
+ }
+
+ @Composable
+ private fun CallsAndSms() {
+ val viewModel: SubscriptionInfoListViewModel = viewModel()
+ val subscriptionInfos by viewModel.subscriptionInfoListFlow.collectAsStateWithLifecycle()
+ val summary by remember { summaryFlow(viewModel.subscriptionInfoListFlow) }
+ .collectAsStateWithLifecycle(initialValue = placeholder())
+ RestrictedPreference(
+ model = object : PreferenceModel {
+ override val title = stringResource(R.string.calls_and_sms)
+ override val icon = @Composable { SettingsIcon(Icons.Outlined.PermPhoneMsg) }
+ override val summary = { summary }
+ override val enabled = { subscriptionInfos.isNotEmpty() }
+ override val onClick = {
+ SubSettingLauncher(mContext).apply {
+ setDestination(NetworkProviderCallsSmsFragment::class.qualifiedName)
+ setSourceMetricsCategory(SettingsEnums.SETTINGS_NETWORK_CATEGORY)
+ }.launch()
+ }
+ },
+ restrictions = Restrictions(keys = listOf(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)),
+ )
+ }
+
+ private fun summaryFlow(subscriptionInfoListFlow: Flow<List<SubscriptionInfo>>) = combine(
+ subscriptionInfoListFlow,
+ mContext.defaultVoiceSubscriptionFlow(),
+ mContext.defaultSmsSubscriptionFlow(),
+ ::getSummary,
+ ).flowOn(Dispatchers.Default)
+
+ @VisibleForTesting
+ fun getSummary(
+ activeSubscriptionInfoList: List<SubscriptionInfo>,
+ defaultVoiceSubscriptionId: Int,
+ defaultSmsSubscriptionId: Int,
+ ): String {
+ if (activeSubscriptionInfoList.isEmpty()) {
+ return mContext.getString(R.string.calls_sms_no_sim)
+ }
+
+ activeSubscriptionInfoList.singleOrNull()?.let {
+ // Set displayName as summary if there is only one valid SIM.
+ if (isInService(it.subscriptionId)) return it.displayName.toString()
+ }
+
+ return activeSubscriptionInfoList.joinToString { subInfo ->
+ val displayName = getDisplayName(subInfo)
+
+ val subId = subInfo.subscriptionId
+ val statusResId = getPreferredStatus(
+ subId = subId,
+ subsSize = activeSubscriptionInfoList.size,
+ isCallPreferred = subId == defaultVoiceSubscriptionId,
+ isSmsPreferred = subId == defaultSmsSubscriptionId,
+ )
+ if (statusResId == null) {
+ // If there are 2 or more SIMs and one of these has no preferred status,
+ // set only its displayName as summary.
+ displayName
+ } else {
+ "$displayName (${mContext.getString(statusResId)})"
+ }
+ }
+ }
+
+ private fun getPreferredStatus(
+ subId: Int,
+ subsSize: Int,
+ isCallPreferred: Boolean,
+ isSmsPreferred: Boolean,
+ ): Int? = when {
+ !isInService(subId) -> {
+ if (subsSize > 1) {
+ R.string.calls_sms_unavailable
+ } else {
+ R.string.calls_sms_temp_unavailable
+ }
+ }
+
+ isCallPreferred && isSmsPreferred -> R.string.calls_sms_preferred
+ isCallPreferred -> R.string.calls_sms_calls_preferred
+ isSmsPreferred -> R.string.calls_sms_sms_preferred
+ else -> null
+ }
+}
+
+private fun Context.defaultVoiceSubscriptionFlow(): Flow<Int> =
+ merge(
+ flowOf(null), // kick an initial value
+ broadcastReceiverFlow(
+ IntentFilter(TelephonyManager.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED)
+ ),
+ ).map { SubscriptionManager.getDefaultVoiceSubscriptionId() }
+ .conflate().flowOn(Dispatchers.Default)
+
+private fun Context.defaultSmsSubscriptionFlow(): Flow<Int> =
+ merge(
+ flowOf(null), // kick an initial value
+ broadcastReceiverFlow(
+ IntentFilter(SubscriptionManager.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED)
+ ),
+ ).map { SubscriptionManager.getDefaultSmsSubscriptionId() }
+ .conflate().flowOn(Dispatchers.Default)
+
+private class IsInServiceImpl(context: Context) {
+ private val telephonyManager = context.getSystemService(TelephonyManager::class.java)!!
+
+ fun isInService(subId: Int): Boolean {
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) return false
+
+ val serviceState = telephonyManager.createForSubscriptionId(subId).serviceState
+ return Utils.isInService(serviceState)
+ }
+}
diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java
index b4de224..f14c32c 100644
--- a/src/com/android/settings/network/NetworkProviderSettings.java
+++ b/src/com/android/settings/network/NetworkProviderSettings.java
@@ -32,7 +32,6 @@
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.os.Bundle;
-import android.os.Handler;
import android.os.PowerManager;
import android.os.UserHandle;
import android.os.UserManager;
@@ -184,7 +183,6 @@
}
};
- private boolean mIsWifiEntryListStale = true;
@VisibleForTesting
final Runnable mUpdateWifiEntryPreferencesRunnable = () -> {
updateWifiEntryPreferences();
@@ -536,7 +534,6 @@
@Override
public void onStop() {
- mIsWifiEntryListStale = true;
getView().removeCallbacks(mRemoveLoadingRunnable);
getView().removeCallbacks(mUpdateWifiEntryPreferencesRunnable);
getView().removeCallbacks(mHideProgressBarRunnable);
@@ -845,8 +842,10 @@
return;
}
- // update the menu item
- requireActivity().invalidateMenu();
+ if (isAdded()) {
+ // update the menu item
+ requireActivity().invalidateMenu();
+ }
switch (wifiState) {
case WifiManager.WIFI_STATE_ENABLED:
@@ -876,6 +875,11 @@
}
}
+ @Override
+ public void onScanRequested() {
+ setProgressBarVisible(true);
+ }
+
@VisibleForTesting
void setWifiScanMessage(boolean isWifiEnabled) {
final Context context = getContext();
@@ -906,12 +910,10 @@
}
@Override
- public void onWifiEntriesChanged() {
- if (mIsWifiEntryListStale) {
- mIsWifiEntryListStale = false;
- updateWifiEntryPreferences();
- } else {
- updateWifiEntryPreferencesDelayed();
+ public void onWifiEntriesChanged(@WifiPickerTracker.WifiEntriesChangedReason int reason) {
+ updateWifiEntryPreferences();
+ if (reason == WifiPickerTracker.WIFI_ENTRIES_CHANGED_REASON_SCAN_RESULTS) {
+ setProgressBarVisible(false);
}
changeNextButtonState(mWifiPickerTracker != null
&& mWifiPickerTracker.getConnectedWifiEntry() != null);
@@ -948,24 +950,6 @@
setAdditionalSettingsSummaries();
}
- /**
- * Updates WifiEntries from {@link WifiPickerTracker#getWifiEntries()}. Adds a delay to have
- * progress bar displayed before starting to modify entries.
- */
- private void updateWifiEntryPreferencesDelayed() {
- // Safeguard from some delayed event handling
- if (getActivity() != null && !mIsRestricted && mWifiPickerTracker != null
- && mWifiPickerTracker.getWifiState() == WifiManager.WIFI_STATE_ENABLED) {
- final View view = getView();
- final Handler handler = view.getHandler();
- if (handler != null && handler.hasCallbacks(mUpdateWifiEntryPreferencesRunnable)) {
- return;
- }
- setProgressBarVisible(true);
- view.postDelayed(mUpdateWifiEntryPreferencesRunnable, 300);
- }
- }
-
protected void updateWifiEntryPreferences() {
// bypass the update if the activity and the view are not ready, or it's restricted UI.
if (getActivity() == null || getView() == null || mIsRestricted) {
@@ -1048,16 +1032,12 @@
removeCachedPrefs(mWifiEntryPreferenceCategory);
if (!hasAvailableWifiEntries) {
- setProgressBarVisible(true);
Preference pref = new Preference(getPrefContext());
pref.setSelectable(false);
pref.setSummary(R.string.wifi_empty_list_wifi_on);
pref.setOrder(index++);
pref.setKey(PREF_KEY_EMPTY_WIFI_LIST);
mWifiEntryPreferenceCategory.addPreference(pref);
- } else {
- // Continuing showing progress bar for an additional delay to overlap with animation
- getView().postDelayed(mHideProgressBarRunnable, 1700 /* delay millis */);
}
mAddWifiNetworkPreference.setOrder(index++);
@@ -1480,8 +1460,10 @@
@Override
public void onAirplaneModeChanged(boolean isAirplaneModeOn) {
updateAirplaneModeMsgPreference(isAirplaneModeOn /* visible */);
- // update the menu item
- requireActivity().invalidateMenu();
+ if (isAdded()) {
+ // update the menu item
+ requireActivity().invalidateMenu();
+ }
}
/**
diff --git a/src/com/android/settings/network/ProviderModelSliceHelper.java b/src/com/android/settings/network/ProviderModelSliceHelper.java
index e0d1eb1..686990b 100644
--- a/src/com/android/settings/network/ProviderModelSliceHelper.java
+++ b/src/com/android/settings/network/ProviderModelSliceHelper.java
@@ -15,6 +15,7 @@
*/
package com.android.settings.network;
+import static com.android.settings.network.MobileIconGroupExtKt.maybeToHtml;
import static com.android.settings.network.telephony.MobileNetworkUtils.NO_CELL_DATA_TYPE_ICON;
import android.app.PendingIntent;
@@ -31,7 +32,6 @@
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
-import android.text.Html;
import android.text.TextUtils;
import android.util.Log;
@@ -176,7 +176,7 @@
protected ListBuilder.RowBuilder createCarrierRow(String networkTypeDescription) {
final String title = getMobileTitle();
- final String summary = getMobileSummary(networkTypeDescription);
+ final CharSequence summary = getMobileSummary(networkTypeDescription);
Drawable drawable = mContext.getDrawable(
R.drawable.ic_signal_strength_zero_bar_no_internet);
try {
@@ -195,7 +195,7 @@
.setTitleItem(levelIcon, ListBuilder.ICON_IMAGE)
.addEndItem(toggleAction)
.setPrimaryAction(primaryAction)
- .setSubtitle(Html.fromHtml(summary, Html.FROM_HTML_MODE_LEGACY));
+ .setSubtitle(summary);
return rowBuilder;
}
@@ -255,7 +255,7 @@
return drawable;
}
- private String getMobileSummary(String networkTypeDescription) {
+ private CharSequence getMobileSummary(String networkTypeDescription) {
if (!isMobileDataEnabled()) {
return mContext.getString(R.string.mobile_data_off_summary);
}
@@ -268,7 +268,7 @@
mContext.getString(R.string.mobile_data_connection_active),
networkTypeDescription);
}
- return summary;
+ return maybeToHtml(summary);
}
protected String getMobileTitle() {
diff --git a/src/com/android/settings/network/SubscriptionInfoListViewModel.kt b/src/com/android/settings/network/SubscriptionInfoListViewModel.kt
new file mode 100644
index 0000000..d30b21d
--- /dev/null
+++ b/src/com/android/settings/network/SubscriptionInfoListViewModel.kt
@@ -0,0 +1,52 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.network
+
+import android.app.Application
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import androidx.lifecycle.AndroidViewModel
+import androidx.lifecycle.viewModelScope
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.asExecutor
+import kotlinx.coroutines.channels.awaitClose
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.callbackFlow
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.stateIn
+import kotlinx.coroutines.plus
+
+class SubscriptionInfoListViewModel(application: Application) : AndroidViewModel(application) {
+ private val scope = viewModelScope + Dispatchers.Default
+
+ val subscriptionInfoListFlow = callbackFlow<List<SubscriptionInfo>> {
+ val subscriptionManager = application.getSystemService(SubscriptionManager::class.java)!!
+
+ val listener = object : SubscriptionManager.OnSubscriptionsChangedListener() {
+ override fun onSubscriptionsChanged() {
+ trySend(subscriptionManager.activeSubscriptionInfoList ?: emptyList())
+ }
+ }
+
+ subscriptionManager.addOnSubscriptionsChangedListener(
+ Dispatchers.Default.asExecutor(),
+ listener,
+ )
+
+ awaitClose { subscriptionManager.removeOnSubscriptionsChangedListener(listener) }
+ }.conflate().stateIn(scope, SharingStarted.Eagerly, initialValue = emptyList())
+}
diff --git a/src/com/android/settings/network/SubscriptionsPreferenceController.java b/src/com/android/settings/network/SubscriptionsPreferenceController.java
index cc62189..0c3e6bd 100644
--- a/src/com/android/settings/network/SubscriptionsPreferenceController.java
+++ b/src/com/android/settings/network/SubscriptionsPreferenceController.java
@@ -19,6 +19,8 @@
import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE;
import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
+import static com.android.settings.network.MobileIconGroupExtKt.getSummaryForSub;
+import static com.android.settings.network.MobileIconGroupExtKt.maybeToHtml;
import static com.android.settings.network.telephony.MobileNetworkUtils.NO_CELL_DATA_TYPE_ICON;
import static com.android.settingslib.mobile.MobileMappings.getIconKey;
import static com.android.settingslib.mobile.MobileMappings.mapIconSets;
@@ -39,7 +41,6 @@
import android.telephony.TelephonyCallback;
import android.telephony.TelephonyDisplayInfo;
import android.telephony.TelephonyManager;
-import android.text.Html;
import android.util.ArraySet;
import android.util.Log;
@@ -289,18 +290,19 @@
String result = mSubsPrefCtrlInjector.getNetworkType(mContext, mConfig,
mTelephonyDisplayInfo, subId, isCarrierNetworkActive, mCarrierNetworkChangeMode);
if (mSubsPrefCtrlInjector.isActiveCellularNetwork(mContext) || isCarrierNetworkActive) {
+ String connectionState = mContext.getString(isDds
+ ? R.string.mobile_data_connection_active
+ : R.string.mobile_data_temp_connection_active);
if (result.isEmpty()) {
- result = mContext.getString(isDds ? R.string.mobile_data_connection_active
- : R.string.mobile_data_temp_connection_active);
+ return connectionState;
} else {
- result = mContext.getString(R.string.preference_summary_default_combination,
- mContext.getString(isDds ? R.string.mobile_data_connection_active
- : R.string.mobile_data_temp_connection_active), result);
+ result = mContext.getString(
+ R.string.preference_summary_default_combination, connectionState, result);
}
} else if (!isDataInService) {
- result = mContext.getString(R.string.mobile_data_no_connection);
+ return mContext.getString(R.string.mobile_data_no_connection);
}
- return Html.fromHtml(result, Html.FROM_HTML_MODE_LEGACY);
+ return maybeToHtml(result);
}
@VisibleForTesting
@@ -579,10 +581,7 @@
return "";
}
- int resId = iconGroup.dataContentDescription;
- return resId != 0
- ? SubscriptionManager.getResourcesForSubId(context, subId).getString(resId)
- : "";
+ return getSummaryForSub(iconGroup, context, subId);
}
/**
diff --git a/src/com/android/settings/network/apn/ApnEditPageProvider.kt b/src/com/android/settings/network/apn/ApnEditPageProvider.kt
index 0ed54e7..86d7456 100644
--- a/src/com/android/settings/network/apn/ApnEditPageProvider.kt
+++ b/src/com/android/settings/network/apn/ApnEditPageProvider.kt
@@ -38,10 +38,13 @@
import com.android.settings.network.apn.ApnNetworkTypes.getNetworkTypeDisplayNames
import com.android.settings.network.apn.ApnNetworkTypes.getNetworkTypeSelectedOptionsState
import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.compose.LocalNavController
import com.android.settingslib.spa.widget.editor.SettingsExposedDropdownMenuBox
import com.android.settingslib.spa.widget.editor.SettingsExposedDropdownMenuCheckBox
import com.android.settingslib.spa.widget.editor.SettingsOutlinedTextField
import com.android.settingslib.spa.widget.editor.SettingsTextFieldPassword
+import com.android.settingslib.spa.widget.preference.Preference
+import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.preference.SwitchPreference
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
import com.android.settingslib.spa.widget.scaffold.RegularScaffold
@@ -199,6 +202,18 @@
emptyVal = stringResource(R.string.network_type_unspecified),
enabled = apnData.networkTypeEnabled
) {}
+ if (!apnData.newApn) {
+ val navController = LocalNavController.current
+ Preference(
+ object : PreferenceModel {
+ override val title = stringResource(R.string.menu_delete)
+ override val onClick = {
+ deleteApn(uriInit, context)
+ navController.navigateBack()
+ }
+ }
+ )
+ }
}
}
}
\ No newline at end of file
diff --git a/src/com/android/settings/network/apn/ApnStatus.kt b/src/com/android/settings/network/apn/ApnStatus.kt
index 3ccd71e..a479868 100644
--- a/src/com/android/settings/network/apn/ApnStatus.kt
+++ b/src/com/android/settings/network/apn/ApnStatus.kt
@@ -93,6 +93,12 @@
values.put(Telephony.Carriers.NETWORK_TYPE_BITMASK, networkType)
values.put(Telephony.Carriers.CARRIER_ENABLED, apnEnable)
values.put(Telephony.Carriers.EDITED_STATUS, Telephony.Carriers.USER_EDITED)
+ if (newApn) {
+ val simCarrierId =
+ context.getSystemService(TelephonyManager::class.java)!!.createForSubscriptionId(subId)
+ .getSimCarrierId()
+ values.put(Telephony.Carriers.CARRIER_ID, simCarrierId)
+ }
return values
}
}
@@ -513,4 +519,9 @@
APN_TYPE_IMS,
)
}.joinToString()
+}
+
+fun deleteApn(uri: Uri, context: Context) {
+ val contentResolver = context.contentResolver
+ contentResolver.delete(uri, null, null)
}
\ No newline at end of file
diff --git a/src/com/android/settings/network/telephony/CallStateFlow.kt b/src/com/android/settings/network/telephony/CallStateFlow.kt
new file mode 100644
index 0000000..9d82602
--- /dev/null
+++ b/src/com/android/settings/network/telephony/CallStateFlow.kt
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.network.telephony
+
+import android.content.Context
+import android.telephony.TelephonyCallback
+import android.telephony.TelephonyManager
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.asExecutor
+import kotlinx.coroutines.channels.awaitClose
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.callbackFlow
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.flowOn
+
+/**
+ * Flow for call state.
+ */
+fun Context.callStateFlow(subId: Int): Flow<Int> = callbackFlow {
+ val telephonyManager = getSystemService(TelephonyManager::class.java)!!
+ .createForSubscriptionId(subId)
+
+ val callback = object : TelephonyCallback(), TelephonyCallback.CallStateListener {
+ override fun onCallStateChanged(state: Int) {
+ trySend(state)
+ }
+ }
+ telephonyManager.registerTelephonyCallback(Dispatchers.Default.asExecutor(), callback)
+
+ awaitClose { telephonyManager.unregisterTelephonyCallback(callback) }
+}.conflate().flowOn(Dispatchers.Default)
diff --git a/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java b/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java
deleted file mode 100644
index 3035a9f..0000000
--- a/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network.telephony;
-
-import android.content.Context;
-import android.content.Intent;
-import android.provider.Settings;
-import android.telephony.SubscriptionInfo;
-import android.telephony.euicc.EuiccManager;
-import android.text.TextUtils;
-
-import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.network.SubscriptionUtil;
-import com.android.settings.security.ConfirmSimDeletionPreferenceController;
-import com.android.settings.wifi.dpp.WifiDppUtils;
-
-/** This controls a preference allowing the user to delete the profile for an eSIM. */
-public class DeleteSimProfilePreferenceController extends BasePreferenceController {
-
- private SubscriptionInfo mSubscriptionInfo;
- private Fragment mParentFragment;
- private int mRequestCode;
- private boolean mConfirmationDefaultOn;
-
- public DeleteSimProfilePreferenceController(Context context, String preferenceKey) {
- super(context, preferenceKey);
- mConfirmationDefaultOn =
- context.getResources()
- .getBoolean(R.bool.config_sim_deletion_confirmation_default_on);
- }
-
- public void init(int subscriptionId, Fragment parentFragment, int requestCode) {
- mParentFragment = parentFragment;
-
- for (SubscriptionInfo info : SubscriptionUtil.getAvailableSubscriptions(mContext)) {
- if (info.getSubscriptionId() == subscriptionId && info.isEmbedded()) {
- mSubscriptionInfo = info;
- break;
- }
- }
- mRequestCode = requestCode;
- }
-
- @Override
- public boolean handlePreferenceTreeClick(Preference preference) {
- if (TextUtils.equals(preference.getKey(), getPreferenceKey())) {
- boolean confirmDeletion =
- Settings.Global.getInt(
- mContext.getContentResolver(),
- ConfirmSimDeletionPreferenceController.KEY_CONFIRM_SIM_DELETION,
- mConfirmationDefaultOn ? 1 : 0)
- == 1;
- if (confirmDeletion) {
- WifiDppUtils.showLockScreen(mContext, () -> deleteSim());
- } else {
- deleteSim();
- }
-
- return true;
- }
-
- return false;
- }
-
- private void deleteSim() {
- SubscriptionUtil.startDeleteEuiccSubscriptionDialogActivity(
- mContext, mSubscriptionInfo.getSubscriptionId());
- // result handled in MobileNetworkSettings
- }
-
- @Override
- public int getAvailabilityStatus() {
- if (mSubscriptionInfo != null) {
- return AVAILABLE;
- } else {
- return CONDITIONALLY_UNAVAILABLE;
- }
- }
-}
diff --git a/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.kt b/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.kt
new file mode 100644
index 0000000..093c4bf
--- /dev/null
+++ b/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.kt
@@ -0,0 +1,83 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.network.telephony
+
+import android.content.Context
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import androidx.lifecycle.LifecycleOwner
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import com.android.settings.R
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.network.SubscriptionUtil
+import com.android.settings.security.ConfirmSimDeletionPreferenceController.KEY_CONFIRM_SIM_DELETION
+import com.android.settings.wifi.dpp.WifiDppUtils
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBoolean
+
+/** This controls a preference allowing the user to delete the profile for an eSIM. */
+class DeleteSimProfilePreferenceController(context: Context, preferenceKey: String) :
+ BasePreferenceController(context, preferenceKey) {
+ private var subscriptionId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+ private var subscriptionInfo: SubscriptionInfo? = null
+ private lateinit var preference: Preference
+
+ fun init(subscriptionId: Int) {
+ this.subscriptionId = subscriptionId
+ subscriptionInfo = SubscriptionUtil.getAvailableSubscriptions(mContext)
+ .find { it.subscriptionId == subscriptionId && it.isEmbedded }
+ }
+
+ override fun getAvailabilityStatus() = when (subscriptionInfo) {
+ null -> CONDITIONALLY_UNAVAILABLE
+ else -> AVAILABLE
+ }
+
+ override fun displayPreference(screen: PreferenceScreen) {
+ super.displayPreference(screen)
+ preference = screen.findPreference(preferenceKey)!!
+ }
+
+ override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+ mContext.callStateFlow(subscriptionId).collectLatestWithLifecycle(viewLifecycleOwner) {
+ preference.isEnabled = (it == TelephonyManager.CALL_STATE_IDLE)
+ }
+ }
+
+ override fun handlePreferenceTreeClick(preference: Preference): Boolean {
+ if (preference.key != preferenceKey) return false
+
+ val confirmDeletion by mContext.settingsGlobalBoolean(
+ name = KEY_CONFIRM_SIM_DELETION,
+ defaultValue = mContext.resources
+ .getBoolean(R.bool.config_sim_deletion_confirmation_default_on),
+ )
+ if (confirmDeletion) {
+ WifiDppUtils.showLockScreen(mContext) { deleteSim() }
+ } else {
+ deleteSim()
+ }
+ return true
+ }
+
+ private fun deleteSim() {
+ SubscriptionUtil.startDeleteEuiccSubscriptionDialogActivity(mContext, subscriptionId)
+ // result handled in MobileNetworkSettings
+ }
+}
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
index a514414..dbe8ae8 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSettings.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
@@ -240,8 +240,7 @@
use(MmsMessagePreferenceController.class).init(mSubId);
use(AutoDataSwitchPreferenceController.class).init(mSubId);
use(DisabledSubscriptionController.class).init(mSubId);
- use(DeleteSimProfilePreferenceController.class).init(mSubId, this,
- REQUEST_CODE_DELETE_SUBSCRIPTION);
+ use(DeleteSimProfilePreferenceController.class).init(mSubId);
use(DisableSimFooterPreferenceController.class).init(mSubId);
use(NrDisabledInDsdsFooterPreferenceController.class).init(mSubId);
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java b/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java
index 453941d..20a3d89 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java
@@ -86,7 +86,7 @@
super.displayPreference(screen);
mSwitchBar = (SettingsMainSwitchPreference) screen.findPreference(mPreferenceKey);
- mSwitchBar.setOnBeforeCheckedChangeListener((toggleSwitch, isChecked) -> {
+ mSwitchBar.setOnBeforeCheckedChangeListener((isChecked) -> {
// TODO b/135222940: re-evaluate whether to use
// mSubscriptionManager#isSubscriptionEnabled
if (mSubscriptionManager.isActiveSubscriptionId(mSubId) != isChecked) {
diff --git a/src/com/android/settings/network/telephony/NetworkProviderWifiCallingGroup.java b/src/com/android/settings/network/telephony/NetworkProviderWifiCallingGroup.java
index ebfb283..cc0f22d 100644
--- a/src/com/android/settings/network/telephony/NetworkProviderWifiCallingGroup.java
+++ b/src/com/android/settings/network/telephony/NetworkProviderWifiCallingGroup.java
@@ -240,8 +240,8 @@
return true;
});
- pref.setEnabled(getTelephonyManagerForSubscriptionId(subId).getCallState()
- == TelephonyManager.CALL_STATE_IDLE);
+ pref.setEnabled(getTelephonyManagerForSubscriptionId(subId)
+ .getCallStateForSubscription() == TelephonyManager.CALL_STATE_IDLE);
pref.setOrder(order++);
int resId = com.android.internal.R.string.wifi_calling_off_summary;
diff --git a/src/com/android/settings/network/telephony/NetworkProviderWorker.java b/src/com/android/settings/network/telephony/NetworkProviderWorker.java
index c731bfd..ddfc031 100644
--- a/src/com/android/settings/network/telephony/NetworkProviderWorker.java
+++ b/src/com/android/settings/network/telephony/NetworkProviderWorker.java
@@ -17,6 +17,7 @@
package com.android.settings.network.telephony;
import static com.android.settings.network.InternetUpdater.INTERNET_ETHERNET;
+import static com.android.settings.network.MobileIconGroupExtKt.getSummaryForSub;
import static com.android.settingslib.mobile.MobileMappings.getIconKey;
import static com.android.settingslib.mobile.MobileMappings.mapIconSets;
@@ -284,19 +285,14 @@
private String updateNetworkTypeName(Context context, Config config,
TelephonyDisplayInfo telephonyDisplayInfo, int subId) {
- String iconKey = getIconKey(telephonyDisplayInfo);
- int resId = mapIconSets(config).get(iconKey).dataContentDescription;
if (mWifiPickerTrackerHelper != null
&& mWifiPickerTrackerHelper.isCarrierNetworkActive()) {
MobileIconGroup carrierMergedWifiIconGroup = TelephonyIcons.CARRIER_MERGED_WIFI;
- resId = carrierMergedWifiIconGroup.dataContentDescription;
- return resId != 0
- ? SubscriptionManager.getResourcesForSubId(context, subId)
- .getString(resId) : "";
+ return getSummaryForSub(carrierMergedWifiIconGroup, context, subId);
}
- return resId != 0
- ? SubscriptionManager.getResourcesForSubId(context, subId).getString(resId) : "";
+ String iconKey = getIconKey(telephonyDisplayInfo);
+ return getSummaryForSub(mapIconSets(config).get(iconKey), context, subId);
}
@VisibleForTesting
diff --git a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java
index 0a0b41f..5503e95 100644
--- a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java
+++ b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java
@@ -218,7 +218,7 @@
mTelephonyManager = getTelephonyManager(context, subId);
// assign current call state so that it helps to show correct preference state even
// before first onCallStateChanged() by initial registration.
- mCallState = mTelephonyManager.getCallState(subId);
+ mCallState = mTelephonyManager.getCallStateForSubscription();
mTelephonyManager.registerTelephonyCallback(context.getMainExecutor(), this);
}
diff --git a/src/com/android/settings/nfc/NfcPreferenceController.java b/src/com/android/settings/nfc/NfcPreferenceController.java
index 2ba00c6..4d75004 100644
--- a/src/com/android/settings/nfc/NfcPreferenceController.java
+++ b/src/com/android/settings/nfc/NfcPreferenceController.java
@@ -22,7 +22,8 @@
import android.net.Uri;
import android.nfc.NfcAdapter;
import android.util.Log;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.preference.PreferenceScreen;
@@ -33,12 +34,11 @@
import com.android.settingslib.core.lifecycle.events.OnPause;
import com.android.settingslib.core.lifecycle.events.OnResume;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import java.io.IOException;
public class NfcPreferenceController extends TogglePreferenceController
- implements LifecycleObserver, OnResume, OnPause, OnMainSwitchChangeListener {
+ implements LifecycleObserver, OnResume, OnPause, OnCheckedChangeListener {
public static final String KEY_TOGGLE_NFC = "toggle_nfc";
private final NfcAdapter mNfcAdapter;
@@ -64,7 +64,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked != mNfcAdapter.isEnabled()) {
setChecked(isChecked);
}
diff --git a/src/com/android/settings/notification/app/BlockPreferenceController.java b/src/com/android/settings/notification/app/BlockPreferenceController.java
index f4e2132..a3d0a73 100644
--- a/src/com/android/settings/notification/app/BlockPreferenceController.java
+++ b/src/com/android/settings/notification/app/BlockPreferenceController.java
@@ -23,7 +23,8 @@
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.preference.Preference;
@@ -31,10 +32,9 @@
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.notification.NotificationBackend;
import com.android.settings.widget.SettingsMainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
public class BlockPreferenceController extends NotificationPreferenceController
- implements PreferenceControllerMixin, OnMainSwitchChangeListener {
+ implements PreferenceControllerMixin, OnCheckedChangeListener {
private static final String KEY_BLOCK = "block";
private NotificationSettings.DependentFieldListener mDependentFieldListener;
@@ -104,7 +104,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
boolean blocked = !isChecked;
if (mChannel != null) {
final int originalImportance = mChannel.getImportance();
diff --git a/src/com/android/settings/notification/history/NotificationHistoryActivity.java b/src/com/android/settings/notification/history/NotificationHistoryActivity.java
index 4808773..4616934 100644
--- a/src/com/android/settings/notification/history/NotificationHistoryActivity.java
+++ b/src/com/android/settings/notification/history/NotificationHistoryActivity.java
@@ -47,6 +47,7 @@
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewOutlineProvider;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.TextView;
@@ -64,7 +65,6 @@
import com.android.settingslib.utils.StringUtil;
import com.android.settingslib.utils.ThreadUtils;
import com.android.settingslib.widget.MainSwitchBar;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import java.util.ArrayList;
import java.util.Arrays;
@@ -355,7 +355,7 @@
mHistoryEmpty.setVisibility(View.GONE);
}
- private final OnMainSwitchChangeListener mOnSwitchClickListener =
+ private final OnCheckedChangeListener mOnSwitchClickListener =
(switchView, isChecked) -> {
int oldState = 0;
try {
diff --git a/src/com/android/settings/notification/zen/ZenAutomaticRuleSwitchPreferenceController.java b/src/com/android/settings/notification/zen/ZenAutomaticRuleSwitchPreferenceController.java
index fa36dde..4d2a6a5 100644
--- a/src/com/android/settings/notification/zen/ZenAutomaticRuleSwitchPreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenAutomaticRuleSwitchPreferenceController.java
@@ -18,7 +18,8 @@
import android.app.AutomaticZenRule;
import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
@@ -27,11 +28,10 @@
import com.android.settings.R;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
public class ZenAutomaticRuleSwitchPreferenceController extends
AbstractZenModeAutomaticRulePreferenceController implements
- OnMainSwitchChangeListener {
+ OnCheckedChangeListener {
private static final String KEY = "zen_automatic_rule_switch";
private AutomaticZenRule mRule;
@@ -86,7 +86,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
final boolean enabled = isChecked;
if (enabled == mRule.isEnabled()) return;
mRule.setEnabled(enabled);
diff --git a/src/com/android/settings/onboarding/OnboardingFeatureProvider.kt b/src/com/android/settings/onboarding/OnboardingFeatureProvider.kt
index 054694f..f76e29a 100644
--- a/src/com/android/settings/onboarding/OnboardingFeatureProvider.kt
+++ b/src/com/android/settings/onboarding/OnboardingFeatureProvider.kt
@@ -15,6 +15,8 @@
*/
package com.android.settings.onboarding
+import android.app.backup.BackupHelper
+import android.app.backup.BackupRestoreEventLogger
import android.content.Context
/**
@@ -29,4 +31,12 @@
* @param preferenceKey The key to distinguish which preference has been changed.
*/
fun markPreferenceHasChanged(context: Context, preferenceKey: String)
+
+ /**
+ * Return a BackupHelper for backup sound related settings.
+ *
+ * @param context App context
+ * @param logger To log B&R stats.
+ */
+ fun getSoundBackupHelper(context: Context, logger: BackupRestoreEventLogger): BackupHelper
}
\ No newline at end of file
diff --git a/src/com/android/settings/overlay/FeatureFactory.kt b/src/com/android/settings/overlay/FeatureFactory.kt
index bc0cf1f..8a68122 100644
--- a/src/com/android/settings/overlay/FeatureFactory.kt
+++ b/src/com/android/settings/overlay/FeatureFactory.kt
@@ -162,7 +162,7 @@
abstract val stylusFeatureProvider: StylusFeatureProvider
/**
- * Retrieves implementation for TogglePreference feature.
+ * Retrieves implementation for Onboarding related feature.
*/
open val onboardingFeatureProvider: OnboardingFeatureProvider? = null
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
index 70d4d7d..a0db4ce 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
@@ -31,6 +31,7 @@
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.UserProperties;
import android.content.res.Configuration;
import android.graphics.Color;
import android.hardware.biometrics.BiometricConstants;
@@ -61,11 +62,6 @@
public class ConfirmDeviceCredentialActivity extends FragmentActivity {
public static final String TAG = ConfirmDeviceCredentialActivity.class.getSimpleName();
- // The normal flow that apps go through
- private static final int CREDENTIAL_NORMAL = 1;
- // Unlocks the managed profile when the primary profile is unlocked
- private static final int CREDENTIAL_MANAGED = 2;
-
private static final String TAG_BIOMETRIC_FRAGMENT = "fragment";
public static class InternalActivity extends ConfirmDeviceCredentialActivity {
@@ -84,7 +80,9 @@
private String mTitle;
private CharSequence mDetails;
private int mUserId;
- private int mCredentialMode;
+ // Used to force the verification path required to unlock profile that shares credentials with
+ // with parent
+ private boolean mForceVerifyPath = false;
private boolean mGoingToBackground;
private boolean mWaitingForBiometricCallback;
@@ -189,7 +187,9 @@
}
final int effectiveUserId = mUserManager.getCredentialOwnerProfile(mUserId);
final boolean isEffectiveUserManagedProfile =
- UserManager.get(this).isManagedProfile(effectiveUserId);
+ mUserManager.isManagedProfile(effectiveUserId);
+ final UserProperties userProperties =
+ mUserManager.getUserProperties(UserHandle.of(mUserId));
// if the client app did not hand in a title and we are about to show the work challenge,
// check whether there is a policy setting the organization name and use that as title
if ((mTitle == null) && isEffectiveUserManagedProfile) {
@@ -278,7 +278,19 @@
.setForceVerifyPath(true)
.show();
} else if (isEffectiveUserManagedProfile && isInternalActivity()) {
- mCredentialMode = CREDENTIAL_MANAGED;
+ // When the mForceVerifyPath is set to true, we launch the real confirm credential
+ // activity with an explicit but fake challenge value (0L). This will result in
+ // ConfirmLockPassword calling verifyTiedProfileChallenge() (if it's a profile with
+ // unified challenge), due to the difference between
+ // ConfirmLockPassword.startVerifyPassword() and
+ // ConfirmLockPassword.startCheckPassword(). Calling verifyTiedProfileChallenge() here
+ // is necessary when this is part of the turning on work profile flow, because it forces
+ // unlocking the work profile even before the profile is running.
+ // TODO: Remove the duplication of checkPassword and verifyPassword in
+ // ConfirmLockPassword,
+ // LockPatternChecker and LockPatternUtils. verifyPassword should be the only API to
+ // use, which optionally accepts a challenge.
+ mForceVerifyPath = true;
if (isBiometricAllowed(effectiveUserId, mUserId)) {
showBiometricPrompt(promptInfo);
launchedBiometric = true;
@@ -286,8 +298,19 @@
showConfirmCredentials();
launchedCDC = true;
}
+ } else if (android.os.Flags.allowPrivateProfile()
+ && userProperties != null
+ && userProperties.isAuthAlwaysRequiredToDisableQuietMode()
+ && isInternalActivity()) {
+ // Force verification path is required to be invoked as we might need to verify the tied
+ // profile challenge if the profile is using the unified challenge mode. This would
+ // result in ConfirmLockPassword.startVerifyPassword/
+ // ConfirmLockPattern.startVerifyPattern being called instead of the
+ // startCheckPassword/startCheckPattern
+ mForceVerifyPath = userProperties.isCredentialShareableWithParent();
+ showConfirmCredentials();
+ launchedCDC = true;
} else {
- mCredentialMode = CREDENTIAL_NORMAL;
if (isBiometricAllowed(effectiveUserId, mUserId)) {
// Don't need to check if biometrics / pin/pattern/pass are enrolled. It will go to
// onAuthenticationError and do the right thing automatically.
@@ -313,11 +336,8 @@
private String getTitleFromCredentialType(@LockPatternUtils.CredentialType int credentialType,
boolean isEffectiveUserManagedProfile) {
- int overrideStringId;
- int defaultStringId;
switch (credentialType) {
case LockPatternUtils.CREDENTIAL_TYPE_PIN:
-
if (isEffectiveUserManagedProfile) {
return mDevicePolicyManager.getResources().getString(
CONFIRM_WORK_PROFILE_PIN_HEADER,
@@ -410,29 +430,15 @@
* Shows ConfirmDeviceCredentials for normal apps.
*/
private void showConfirmCredentials() {
- boolean launched = false;
- ChooseLockSettingsHelper.Builder builder = new ChooseLockSettingsHelper.Builder(this)
+ boolean launched = new ChooseLockSettingsHelper.Builder(this)
.setHeader(mTitle)
.setDescription(mDetails)
.setExternal(true)
.setUserId(mUserId)
- .setTaskOverlay(mTaskOverlay);
- // The only difference between CREDENTIAL_MANAGED and CREDENTIAL_NORMAL is that for
- // CREDENTIAL_MANAGED, we launch the real confirm credential activity with an explicit
- // but fake challenge value (0L). This will result in ConfirmLockPassword calling
- // verifyTiedProfileChallenge() (if it's a profile with unified challenge), due to the
- // difference between ConfirmLockPassword.startVerifyPassword() and
- // ConfirmLockPassword.startCheckPassword(). Calling verifyTiedProfileChallenge() here is
- // necessary when this is part of the turning on work profile flow, because it forces
- // unlocking the work profile even before the profile is running.
- // TODO: Remove the duplication of checkPassword and verifyPassword in ConfirmLockPassword,
- // LockPatternChecker and LockPatternUtils. verifyPassword should be the only API to use,
- // which optionally accepts a challenge.
- if (mCredentialMode == CREDENTIAL_MANAGED) {
- launched = builder.setForceVerifyPath(true).show();
- } else if (mCredentialMode == CREDENTIAL_NORMAL) {
- launched = builder.show();
- }
+ .setTaskOverlay(mTaskOverlay)
+ .setForceVerifyPath(mForceVerifyPath)
+ .show();
+
if (!launched) {
Log.d(TAG, "No pin/pattern/pass set");
setResult(Activity.RESULT_OK);
diff --git a/src/com/android/settings/print/PrintServiceSettingsFragment.java b/src/com/android/settings/print/PrintServiceSettingsFragment.java
index c5316e6..e144ffd 100644
--- a/src/com/android/settings/print/PrintServiceSettingsFragment.java
+++ b/src/com/android/settings/print/PrintServiceSettingsFragment.java
@@ -43,12 +43,13 @@
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityManager;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.Filter;
import android.widget.Filterable;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SearchView;
-import android.widget.Switch;
import android.widget.TextView;
import androidx.annotation.NonNull;
@@ -61,7 +62,6 @@
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.widget.SettingsMainSwitchBar;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import java.util.ArrayList;
import java.util.LinkedHashMap;
@@ -72,7 +72,7 @@
* Fragment with print service settings.
*/
public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
- implements OnMainSwitchChangeListener,
+ implements OnCheckedChangeListener,
LoaderManager.LoaderCallbacks<List<PrintServiceInfo>> {
private static final String LOG_TAG = "PrintServiceSettings";
@@ -240,7 +240,7 @@
mSwitchBar.addOnSwitchChangeListener(this);
mSwitchBar.show();
- mSwitchBar.setOnBeforeCheckedChangeListener((toggleSwitch, checked) -> {
+ mSwitchBar.setOnBeforeCheckedChangeListener((checked) -> {
onPreferenceToggled(mPreferenceKey, checked);
return false;
});
@@ -250,7 +250,7 @@
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
updateEmptyView();
}
diff --git a/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java b/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java
index 3b59166..1061498 100644
--- a/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java
+++ b/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java
@@ -19,6 +19,11 @@
import static com.android.settings.privatespace.PrivateSpaceSetupActivity.ACCOUNT_LOGIN_ACTION;
import static com.android.settings.privatespace.PrivateSpaceSetupActivity.EXTRA_ACTION_TYPE;
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.animation.ValueAnimator;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
@@ -51,16 +56,17 @@
private static final String TAG = "AutoAdvanceFragment";
private static final String TITLE_INDEX = "title_index";
private static final int DELAY_BETWEEN_SCREENS = 5000; // 5 seconds in millis
+ private static final int ANIMATION_DURATION_MILLIS = 500;
private GlifLayout mRootView;
private Handler mHandler;
private int mScreenTitleIndex;
private static final List<Pair<Integer, Integer>> HEADER_IMAGE_PAIRS =
ImmutableList.of(
- new Pair(R.string.privatespace_lock_protected_title,
- R.drawable.privatespace_setup_flow_placeholder),
new Pair(R.string.privatespace_apps_hidden_title,
R.drawable.privatespace_setup_flow_placeholder),
new Pair(R.string.privatespace_access_from_apps_title,
+ R.drawable.privatespace_setup_flow_placeholder),
+ new Pair(R.string.privatespace_system_apps_installed_title,
R.drawable.privatespace_setup_flow_placeholder));
private Runnable mUpdateScreenResources =
@@ -69,7 +75,7 @@
public void run() {
if (getActivity() != null) {
if (++mScreenTitleIndex < HEADER_IMAGE_PAIRS.size()) {
- updateHeaderAndImage();
+ startFadeOutAnimation();
mHandler.postDelayed(mUpdateScreenResources, DELAY_BETWEEN_SCREENS);
} else {
PrivateSpaceMaintainer privateSpaceMaintainer = PrivateSpaceMaintainer
@@ -148,5 +154,32 @@
mRootView.setHeaderText(HEADER_IMAGE_PAIRS.get(mScreenTitleIndex).first);
((ImageView) mRootView.findViewById(R.id.placeholder_image))
.setImageResource(HEADER_IMAGE_PAIRS.get(mScreenTitleIndex).second);
+ startFadeInAnimation();
+ }
+
+ private void startFadeInAnimation() {
+ ValueAnimator textView = ObjectAnimator.ofFloat(
+ mRootView.getHeaderTextView(), View.ALPHA, 0f, 1f);
+ ValueAnimator imageView = ObjectAnimator.ofFloat(
+ mRootView.findViewById(R.id.placeholder_image), View.ALPHA, 0, 1f);
+ AnimatorSet fadeIn = new AnimatorSet();
+ fadeIn.playTogether(textView, imageView);
+ fadeIn.setDuration(ANIMATION_DURATION_MILLIS).start();
+ }
+
+ private void startFadeOutAnimation() {
+ AnimatorSet fadeOut = new AnimatorSet();
+ ValueAnimator textView = ObjectAnimator.ofFloat(
+ mRootView.getHeaderTextView(), View.ALPHA, 1f, 0f);
+ ValueAnimator imageView = ObjectAnimator.ofFloat(
+ mRootView.findViewById(R.id.placeholder_image), View.ALPHA, 1f, 0f);
+ fadeOut.playTogether(textView, imageView);
+ fadeOut.setDuration(ANIMATION_DURATION_MILLIS).start();
+ fadeOut.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ updateHeaderAndImage();
+ }
+ });
}
}
diff --git a/src/com/android/settings/privatespace/CreatePrivateSpaceController.java b/src/com/android/settings/privatespace/CreatePrivateSpaceController.java
deleted file mode 100644
index 3214988..0000000
--- a/src/com/android/settings/privatespace/CreatePrivateSpaceController.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.settings.privatespace;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.widget.Toast;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-
-// TODO(b/293569406): Remove this when we have the setup flow in place to create PS
-/**
- * Temp Controller to create the private space from the PS Settings page. This is to allow PM, UX,
- * and other folks to play around with PS before the PS setup flow is ready.
- */
-public final class CreatePrivateSpaceController extends BasePreferenceController {
-
- public CreatePrivateSpaceController(Context context, String preferenceKey) {
- super(context, preferenceKey);
- }
-
- @Override
- public int getAvailabilityStatus() {
- return AVAILABLE;
- }
-
- @Override
- public boolean handlePreferenceTreeClick(Preference preference) {
- if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
- return false;
- }
-
- if (PrivateSpaceMaintainer.getInstance(mContext).doesPrivateSpaceExist()) {
- showPrivateSpaceAlreadyExistsToast();
- return super.handlePreferenceTreeClick(preference);
- }
-
- if (PrivateSpaceMaintainer.getInstance(mContext).createPrivateSpace()) {
- showPrivateSpaceCreatedToast();
- } else {
- showPrivateSpaceCreationFailedToast();
- }
- return super.handlePreferenceTreeClick(preference);
- }
-
- private void showPrivateSpaceCreatedToast() {
- Toast.makeText(mContext, R.string.private_space_created, Toast.LENGTH_SHORT).show();
- }
-
- private void showPrivateSpaceCreationFailedToast() {
- Toast.makeText(mContext, R.string.private_space_create_failed, Toast.LENGTH_SHORT).show();
- }
-
- private void showPrivateSpaceAlreadyExistsToast() {
- Toast.makeText(mContext, R.string.private_space_already_exists, Toast.LENGTH_SHORT).show();
- }
-}
diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceController.java b/src/com/android/settings/privatespace/HidePrivateSpaceController.java
index b972a3f..8a0f167 100644
--- a/src/com/android/settings/privatespace/HidePrivateSpaceController.java
+++ b/src/com/android/settings/privatespace/HidePrivateSpaceController.java
@@ -16,10 +16,10 @@
package com.android.settings.privatespace;
-import static android.provider.Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT;
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL;
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL;
import android.content.Context;
-import android.provider.Settings;
import com.android.settings.core.TogglePreferenceController;
@@ -28,11 +28,11 @@
* in All Apps.
*/
public class HidePrivateSpaceController extends TogglePreferenceController {
- private static final int DISABLED_VALUE = 0;
- private static final int ENABLED_VALUE = 1;
+ private final PrivateSpaceMaintainer mPrivateSpaceMaintainer;
public HidePrivateSpaceController(Context context, String key) {
super(context, key);
+ mPrivateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(context);
}
@Override
@@ -43,14 +43,15 @@
@Override
public boolean isChecked() {
- return Settings.Secure.getInt(mContext.getContentResolver(),
- HIDE_PRIVATESPACE_ENTRY_POINT, DISABLED_VALUE) != DISABLED_VALUE;
+ return mPrivateSpaceMaintainer.getHidePrivateSpaceEntryPointSetting()
+ != HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL;
}
@Override
public boolean setChecked(boolean isChecked) {
- Settings.Secure.putInt(mContext.getContentResolver(), HIDE_PRIVATESPACE_ENTRY_POINT,
- isChecked ? ENABLED_VALUE : DISABLED_VALUE);
+ mPrivateSpaceMaintainer.setHidePrivateSpaceEntryPointSetting(
+ isChecked ? HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL
+ : HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL);
return true;
}
diff --git a/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java b/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java
index f72bcd9..5d00329 100644
--- a/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java
+++ b/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java
@@ -17,25 +17,13 @@
package com.android.settings.privatespace;
import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.Flags;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.List;
/** Fragment representing the Private Space dashboard in Settings. */
-@SearchIndexable
public class PrivateSpaceDashboardFragment extends DashboardFragment {
private static final String TAG = "PrivateSpaceDashboardFragment";
- private static final String KEY_CREATE_PROFILE_PREFERENCE = "private_space_create";
- private static final String KEY_DELETE_PROFILE_PREFERENCE = "private_space_delete";
- private static final String KEY_ONE_LOCK_PREFERENCE = "private_space_use_one_lock";
- private static final String KEY_PS_HIDDEN_PREFERENCE = "private_space_hidden";
@Override
protected int getPreferenceScreenResId() {
@@ -51,23 +39,4 @@
protected String getLogTag() {
return TAG;
}
-
- public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider(R.xml.private_space_settings) {
- @Override
- protected boolean isPageSearchEnabled(Context context) {
- return SafetyCenterManagerWrapper.get().isEnabled(context)
- && Flags.allowPrivateProfile();
- }
-
- @Override
- public List<String> getNonIndexableKeys(Context context) {
- List<String> keys = super.getNonIndexableKeys(context);
- keys.add(KEY_CREATE_PROFILE_PREFERENCE);
- keys.add(KEY_DELETE_PROFILE_PREFERENCE);
- keys.add(KEY_ONE_LOCK_PREFERENCE);
- keys.add(KEY_PS_HIDDEN_PREFERENCE);
- return keys;
- }
- };
}
diff --git a/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java b/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java
index e6094ce..341110b 100644
--- a/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java
+++ b/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java
@@ -17,6 +17,7 @@
package com.android.settings.privatespace;
import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE;
+import static android.provider.Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT;
import android.app.ActivityManager;
import android.app.IActivityManager;
@@ -27,6 +28,7 @@
import android.os.RemoteException;
import android.os.UserHandle;
import android.os.UserManager;
+import android.provider.Settings;
import android.util.ArraySet;
import android.util.Log;
@@ -40,6 +42,7 @@
/** A class to help with the creation / deletion of Private Space */
public class PrivateSpaceMaintainer {
private static final String TAG = "PrivateSpaceMaintainer";
+
@GuardedBy("this")
private static PrivateSpaceMaintainer sPrivateSpaceMaintainer;
@@ -49,6 +52,10 @@
private UserHandle mUserHandle;
private final KeyguardManager mKeyguardManager;
+ /** This is the default value for the hide private space entry point settings. */
+ public static final int HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL = 0;
+ public static final int HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL = 1;
+
public enum ErrorDeletingPrivateSpace {
DELETE_PS_ERROR_NONE,
DELETE_PS_ERROR_NO_PRIVATE_SPACE,
@@ -91,6 +98,7 @@
}
Log.i(TAG, "Private space created with id: " + mUserHandle.getIdentifier());
+ resetPrivateSpaceSettings();
}
return true;
}
@@ -197,4 +205,21 @@
return doesPrivateSpaceExist()
&& mKeyguardManager.isDeviceSecure(mUserHandle.getIdentifier());
}
+
+ /** Sets the setting to show PS entry point to the provided value. */
+ public void setHidePrivateSpaceEntryPointSetting(int value) {
+ Settings.Secure.putInt(mContext.getContentResolver(), HIDE_PRIVATESPACE_ENTRY_POINT, value);
+ }
+
+ /** @return the setting to show PS entry point. */
+ public int getHidePrivateSpaceEntryPointSetting() {
+ return Settings.Secure.getInt(
+ mContext.getContentResolver(),
+ HIDE_PRIVATESPACE_ENTRY_POINT,
+ HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL);
+ }
+
+ private void resetPrivateSpaceSettings() {
+ setHidePrivateSpaceEntryPointSetting(HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL);
+ }
}
diff --git a/src/com/android/settings/privatespace/SetupSuccessFragment.java b/src/com/android/settings/privatespace/SetupSuccessFragment.java
index b761da7..1868f65 100644
--- a/src/com/android/settings/privatespace/SetupSuccessFragment.java
+++ b/src/com/android/settings/privatespace/SetupSuccessFragment.java
@@ -18,6 +18,8 @@
import android.app.Activity;
import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -69,13 +71,18 @@
private View.OnClickListener onClickNext() {
return v -> {
- accessPrivateSpaceToast();
- // TODO(b/306228087): Replace with the intent to launch All Apps once it is working.
- Intent startMain = new Intent(Intent.ACTION_MAIN);
- startMain.addCategory(Intent.CATEGORY_HOME);
- startActivity(startMain);
Activity activity = getActivity();
if (activity != null) {
+ Intent allAppsIntent = new Intent(Intent.ACTION_ALL_APPS);
+ ResolveInfo resolveInfo = activity.getPackageManager().resolveActivityAsUser(
+ new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME),
+ PackageManager.MATCH_SYSTEM_ONLY, activity.getUserId());
+ if (resolveInfo != null) {
+ allAppsIntent.setPackage(resolveInfo.activityInfo.packageName);
+ allAppsIntent.setComponent(resolveInfo.activityInfo.getComponentName());
+ }
+ accessPrivateSpaceToast();
+ startActivity(allAppsIntent);
activity.finish();
}
};
diff --git a/src/com/android/settings/privatespace/UseOneLockController.java b/src/com/android/settings/privatespace/UseOneLockController.java
deleted file mode 100644
index a94db57..0000000
--- a/src/com/android/settings/privatespace/UseOneLockController.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.settings.privatespace;
-
-import android.content.Context;
-
-import com.android.settings.core.TogglePreferenceController;
-
-/** Represents the preference controller for using the same lock as the screen lock */
-public class UseOneLockController extends TogglePreferenceController {
- public UseOneLockController(Context context, String preferenceKey) {
- super(context, preferenceKey);
- }
-
- @Override
- public int getAvailabilityStatus() {
- return AVAILABLE;
- }
-
- @Override
- public boolean isChecked() {
- // TODO(b/293569406) Need to save this to a persistent store, maybe like SettingsProvider
- return false;
- }
-
- @Override
- public boolean setChecked(boolean isChecked) {
- // TODO(b/293569406) Need to save this to a persistent store, maybe like SettingsProvider
- return true;
- }
-
- @Override
- public int getSliceHighlightMenuRes() {
- return 0;
- }
-}
diff --git a/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java b/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java
new file mode 100644
index 0000000..e976261
--- /dev/null
+++ b/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java
@@ -0,0 +1,57 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.privatespace.onelock;
+
+import android.content.Context;
+import android.text.TextUtils;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+/** Represents the preference controller to enroll biometrics for private space lock. */
+public class FaceFingerprintUnlockController extends AbstractPreferenceController {
+ private static final String KEY_SET_UNSET_FACE_FINGERPRINT = "private_space_biometrics";
+
+ public FaceFingerprintUnlockController(Context context, SettingsPreferenceFragment host) {
+ super(context);
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return false;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_SET_UNSET_FACE_FINGERPRINT;
+ }
+
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ return TextUtils.equals(preference.getKey(), getPreferenceKey());
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ //TODO(b/308862923) : Add condition to check and enable when separate private lock is set.
+ preference.setSummary(mContext.getString(R.string.lock_settings_profile_unified_summary));
+ preference.setEnabled(false);
+ }
+}
diff --git a/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java b/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java
new file mode 100644
index 0000000..2783c1c
--- /dev/null
+++ b/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java
@@ -0,0 +1,134 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.privatespace.onelock;
+
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PASSWORD;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PATTERN;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PIN;
+import static com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment.HIDE_INSECURE_OPTIONS;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.preference.Preference;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.Utils;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.password.ChooseLockGeneric;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.transition.SettingsTransitionHelper;
+
+
+/** Represents the preference controller for changing private space lock. */
+public class PrivateSpaceLockController extends AbstractPreferenceController {
+ private static final String TAG = "PrivateSpaceLockContr";
+ private static final String KEY_CHANGE_PROFILE_LOCK =
+ "change_private_space_lock";
+
+ private final SettingsPreferenceFragment mHost;
+ private final UserManager mUserManager;
+ private final LockPatternUtils mLockPatternUtils;
+ private final int mProfileUserId;
+
+ public PrivateSpaceLockController(Context context, SettingsPreferenceFragment host) {
+ super(context);
+ mUserManager = context.getSystemService(UserManager.class);
+ mLockPatternUtils = FeatureFactory.getFeatureFactory()
+ .getSecurityFeatureProvider()
+ .getLockPatternUtils(context);
+ mHost = host;
+ UserHandle privateProfileHandle = PrivateSpaceMaintainer.getInstance(context)
+ .getPrivateProfileHandle();
+ if (privateProfileHandle != null) {
+ mProfileUserId = privateProfileHandle.getIdentifier();
+ } else {
+ mProfileUserId = -1;
+ Log.e(TAG, "Private profile user handle is not expected to be null.");
+ }
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return true;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return KEY_CHANGE_PROFILE_LOCK;
+ }
+
+ @Override
+ public boolean handlePreferenceTreeClick(Preference preference) {
+ if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
+ return false;
+ }
+ //Checks if the profile is in quiet mode and show a dialog to unpause the profile.
+ if (Utils.startQuietModeDialogIfNecessary(mContext, mUserManager,
+ mProfileUserId)) {
+ return false;
+ }
+ final Bundle extras = new Bundle();
+ extras.putInt(Intent.EXTRA_USER_ID, mProfileUserId);
+ extras.putBoolean(HIDE_INSECURE_OPTIONS, true);
+ new SubSettingLauncher(mContext)
+ .setDestination(ChooseLockGeneric.ChooseLockGenericFragment.class.getName())
+ .setSourceMetricsCategory(mHost.getMetricsCategory())
+ .setArguments(extras)
+ .setExtras(extras)
+ .setTransitionType(SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE)
+ .launch();
+ return true;
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ if (mLockPatternUtils.isSeparateProfileChallengeEnabled(mProfileUserId)) {
+ preference.setSummary(
+ mContext.getString(getCredentialTypeResId(mProfileUserId)));
+ preference.setEnabled(true);
+ } else {
+ preference.setSummary(mContext.getString(
+ R.string.lock_settings_profile_unified_summary));
+ preference.setEnabled(false);
+ }
+ }
+
+ private int getCredentialTypeResId(int userId) {
+ int credentialType = mLockPatternUtils.getCredentialTypeForUser(userId);
+ switch (credentialType) {
+ case CREDENTIAL_TYPE_PATTERN :
+ return R.string.unlock_set_unlock_mode_pattern;
+ case CREDENTIAL_TYPE_PIN:
+ return R.string.unlock_set_unlock_mode_pin;
+ case CREDENTIAL_TYPE_PASSWORD:
+ return R.string.unlock_set_unlock_mode_password;
+ default:
+ // This is returned for CREDENTIAL_TYPE_NONE
+ return R.string.unlock_set_unlock_mode_off;
+ }
+ }
+}
diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockController.java b/src/com/android/settings/privatespace/onelock/UseOneLockController.java
new file mode 100644
index 0000000..5c461e0
--- /dev/null
+++ b/src/com/android/settings/privatespace/onelock/UseOneLockController.java
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.privatespace.onelock;
+
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PASSWORD;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PATTERN;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PIN;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.util.Log;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+
+/** Represents the preference controller for using the same lock as the screen lock */
+public class UseOneLockController extends BasePreferenceController {
+ private static final String TAG = "UseOneLockController";
+ private final LockPatternUtils mLockPatternUtils;
+ private final PrivateSpaceMaintainer mPrivateSpaceMaintainer;
+
+ public UseOneLockController(Context context, String preferenceKey) {
+ super(context, preferenceKey);
+ mPrivateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(mContext);
+ mLockPatternUtils = FeatureFactory.getFeatureFactory()
+ .getSecurityFeatureProvider()
+ .getLockPatternUtils(context);
+ }
+ @Override
+ public int getAvailabilityStatus() {
+ return AVAILABLE;
+ }
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return 0;
+ }
+
+ @Override
+ public CharSequence getSummary() {
+ UserHandle privateProfileHandle = mPrivateSpaceMaintainer.getPrivateProfileHandle();
+ if (privateProfileHandle != null) {
+ int privateUserId = privateProfileHandle.getIdentifier();
+ if (mLockPatternUtils.isSeparateProfileChallengeEnabled(privateUserId)) {
+ return mContext.getString(getCredentialTypeResId(privateUserId));
+ }
+ } else {
+ Log.w(TAG, "Did not find Private Space.");
+ }
+ return mContext.getString(R.string.private_space_screen_lock_summary);
+ }
+
+ private int getCredentialTypeResId(int userId) {
+ int credentialType = mLockPatternUtils.getCredentialTypeForUser(userId);
+ switch (credentialType) {
+ case CREDENTIAL_TYPE_PATTERN:
+ return R.string.unlock_set_unlock_mode_pattern;
+ case CREDENTIAL_TYPE_PIN:
+ return R.string.unlock_set_unlock_mode_pin;
+ case CREDENTIAL_TYPE_PASSWORD:
+ return R.string.unlock_set_unlock_mode_password;
+ default:
+ // This is returned for CREDENTIAL_TYPE_NONE
+ return R.string.unlock_set_unlock_mode_off;
+ }
+ }
+}
diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java b/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java
new file mode 100644
index 0000000..218b870
--- /dev/null
+++ b/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java
@@ -0,0 +1,216 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.privatespace.onelock;
+
+import static com.android.settings.privatespace.PrivateSpaceSetupActivity.EXTRA_ACTION_TYPE;
+import static com.android.settings.privatespace.PrivateSpaceSetupActivity.SET_LOCK_ACTION;
+import static com.android.settings.privatespace.onelock.UseOneLockSettingsFragment.UNIFY_PRIVATE_LOCK_WITH_DEVICE_REQUEST;
+import static com.android.settings.privatespace.onelock.UseOneLockSettingsFragment.UNUNIFY_PRIVATE_LOCK_FROM_DEVICE_REQUEST;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.widget.LockscreenCredential;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.Utils;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.password.ChooseLockGeneric;
+import com.android.settings.password.ChooseLockSettingsHelper;
+import com.android.settings.privatespace.PrivateProfileContextHelperActivity;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.transition.SettingsTransitionHelper;
+import com.android.settingslib.widget.MainSwitchPreference;
+
+/** Represents the preference controller for using the same lock as the screen lock */
+public class UseOneLockControllerSwitch extends AbstractPreferenceController
+ implements Preference.OnPreferenceChangeListener {
+ private static final String TAG = "UseOneLockSwitch";
+ private static final String KEY_UNIFICATION = "private_lock_unification";
+ private final String mPreferenceKey;
+ private final SettingsPreferenceFragment mHost;
+ private final LockPatternUtils mLockPatternUtils;
+ private final UserManager mUserManager;
+ private final int mProfileUserId;
+ private final UserHandle mUserHandle;
+ private LockscreenCredential mCurrentDevicePassword;
+ private LockscreenCredential mCurrentProfilePassword;
+ private MainSwitchPreference mUnifyProfile;
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ mUnifyProfile = screen.findPreference(mPreferenceKey);
+ }
+ public UseOneLockControllerSwitch(Context context, SettingsPreferenceFragment host) {
+ this(context, host, KEY_UNIFICATION);
+ }
+
+ public UseOneLockControllerSwitch(Context context, SettingsPreferenceFragment host,
+ String key) {
+ super(context);
+ mHost = host;
+ mUserManager = context.getSystemService(UserManager.class);
+ mLockPatternUtils = FeatureFactory.getFeatureFactory().getSecurityFeatureProvider()
+ .getLockPatternUtils(context);
+ mUserHandle = PrivateSpaceMaintainer.getInstance(context).getPrivateProfileHandle();
+ mProfileUserId = mUserHandle != null ? mUserHandle.getIdentifier() : -1;
+ mCurrentDevicePassword = LockscreenCredential.createNone();
+ mCurrentProfilePassword = LockscreenCredential.createNone();
+ this.mPreferenceKey = key;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return mPreferenceKey;
+ }
+
+ @Override
+ public boolean isAvailable() {
+ return true;
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object value) {
+ //Checks if the profile is in quiet mode and show a dialog to unpause the profile.
+ if (Utils.startQuietModeDialogIfNecessary(mContext, mUserManager, mProfileUserId)) {
+ return false;
+ }
+ final boolean useOneLock = (Boolean) value;
+ if (useOneLock) {
+ startUnification();
+ } else {
+ showAlertDialog();
+ }
+ return true;
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ if (mUnifyProfile != null) {
+ final boolean separate =
+ mLockPatternUtils.isSeparateProfileChallengeEnabled(mProfileUserId);
+ mUnifyProfile.setChecked(!separate);
+ }
+ }
+
+ /** Method to handle onActivityResult */
+ public boolean handleActivityResult(int requestCode, int resultCode, Intent data) {
+ if (requestCode == UNUNIFY_PRIVATE_LOCK_FROM_DEVICE_REQUEST
+ && resultCode == Activity.RESULT_OK) {
+ mCurrentDevicePassword =
+ data.getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
+ separateLocks();
+ return true;
+ } else if (requestCode == UNIFY_PRIVATE_LOCK_WITH_DEVICE_REQUEST
+ && resultCode == Activity.RESULT_OK) {
+ mCurrentProfilePassword =
+ data.getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
+ unifyLocks();
+ return true;
+ }
+ return false;
+ }
+
+ private void separateLocks() {
+ final Bundle extras = new Bundle();
+ extras.putInt(Intent.EXTRA_USER_ID, mProfileUserId);
+ extras.putParcelable(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, mCurrentDevicePassword);
+ new SubSettingLauncher(mContext)
+ .setDestination(ChooseLockGeneric.ChooseLockGenericFragment.class.getName())
+ .setSourceMetricsCategory(mHost.getMetricsCategory())
+ .setArguments(extras)
+ .setTransitionType(SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE)
+ .launch();
+ }
+
+ /** Unify primary and profile locks. */
+ public void startUnification() {
+ // Confirm profile lock
+ final ChooseLockSettingsHelper.Builder builder =
+ new ChooseLockSettingsHelper.Builder(mHost.getActivity(), mHost);
+ final boolean launched = builder.setRequestCode(UNIFY_PRIVATE_LOCK_WITH_DEVICE_REQUEST)
+ .setReturnCredentials(true)
+ .setUserId(mProfileUserId)
+ .show();
+ if (!launched) {
+ // If profile has no lock, go straight to unification.
+ unifyLocks();
+ }
+ }
+
+ private void unifyLocks() {
+ unifyKeepingDeviceLock();
+ if (mCurrentDevicePassword != null) {
+ mCurrentDevicePassword.zeroize();
+ mCurrentDevicePassword = null;
+ }
+ if (mCurrentProfilePassword != null) {
+ mCurrentProfilePassword.zeroize();
+ mCurrentProfilePassword = null;
+ }
+ }
+
+ private void unifyKeepingDeviceLock() {
+ mLockPatternUtils.setSeparateProfileChallengeEnabled(mProfileUserId, false,
+ mCurrentProfilePassword);
+ }
+
+ private void showAlertDialog() {
+ if (mUserHandle == null) {
+ Log.e(TAG, "Private profile user handle is not expected to be null");
+ mUnifyProfile.setChecked(true);
+ return;
+ }
+ new AlertDialog.Builder(mContext)
+ .setMessage(R.string.private_space_new_lock_title)
+ .setPositiveButton(
+ R.string.privatespace_set_lock_label,
+ (dialog, which) -> {
+ Intent intent = new Intent(mContext,
+ PrivateProfileContextHelperActivity.class);
+ intent.putExtra(EXTRA_ACTION_TYPE, SET_LOCK_ACTION);
+ ((Activity) mContext).startActivityForResultAsUser(intent,
+ UNUNIFY_PRIVATE_LOCK_FROM_DEVICE_REQUEST,
+ /*Options*/ null, mUserHandle);
+ })
+ .setNegativeButton(R.string.privatespace_cancel_label,
+ (DialogInterface dialog, int which) -> {
+ mUnifyProfile.setChecked(true);
+ dialog.dismiss();
+ })
+ .setOnCancelListener(
+ (DialogInterface dialog) -> {
+ mUnifyProfile.setChecked(true);
+ dialog.dismiss();
+ })
+ .show();
+ }
+}
diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java b/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java
new file mode 100644
index 0000000..36f8448
--- /dev/null
+++ b/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java
@@ -0,0 +1,69 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.privatespace.onelock;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+
+import androidx.annotation.Nullable;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class UseOneLockSettingsFragment extends DashboardFragment {
+ private static final String TAG = "UseOneLockSettings";
+ public static final int UNIFY_PRIVATE_LOCK_WITH_DEVICE_REQUEST = 1;
+ public static final int UNUNIFY_PRIVATE_LOCK_FROM_DEVICE_REQUEST = 2;
+
+ @Override
+ public int getMetricsCategory() {
+ return SettingsEnums.PRIVATE_SPACE_SETTINGS;
+ }
+
+ @Override
+ protected int getPreferenceScreenResId() {
+ return R.xml.privatespace_one_lock;
+ }
+
+ @Override
+ protected String getLogTag() {
+ return TAG;
+ }
+
+ @Override
+ protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+ final List<AbstractPreferenceController> controllers = new ArrayList<>();
+ controllers.add(new UseOneLockControllerSwitch(context, this));
+ controllers.add(new PrivateSpaceLockController(context, this));
+ controllers.add(new FaceFingerprintUnlockController(context, this));
+ return controllers;
+ }
+
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ if (use(UseOneLockControllerSwitch.class)
+ .handleActivityResult(requestCode, resultCode, data)) {
+ return;
+ }
+ super.onActivityResult(requestCode, resultCode, data);
+ }
+}
diff --git a/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java b/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
index a608fbf..de0d386 100644
--- a/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
+++ b/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
@@ -153,7 +153,7 @@
private void handleLanguageSelect(Preference preference) {
String selectedLanguage = preference.getKey();
mMetricsFeatureProvider.action(mContext,
- SettingsEnums.ACTION_CHOOSE_LANGUAGE_FOR_NUMBERS_PREFERENCES, selectedLanguage);
+ SettingsEnums.ACTION_CHOOSE_LANGUAGE_FOR_NUMBERS_PREFERENCES);
final Bundle extra = new Bundle();
extra.putString(RegionalPreferencesEntriesFragment.ARG_KEY_REGIONAL_PREFERENCE,
ARG_VALUE_NUMBERING_SYSTEM_SELECT);
@@ -177,8 +177,7 @@
saveNumberingSystemToLocale(Locale.forLanguageTag(mSelectedLanguage),
numberingSystem);
mMetricsFeatureProvider.action(mContext,
- SettingsEnums.ACTION_SET_NUMBERS_PREFERENCES,
- updatedLocale.getDisplayName() + ": " + numberingSystem);
+ SettingsEnums.ACTION_SET_NUMBERS_PREFERENCES);
// After updated locale to framework, this fragment will recreate,
// so it needs to update the argument of selected language.
Bundle bundle = new Bundle();
diff --git a/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java b/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java
index ac0e7ee..8be0043 100644
--- a/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java
+++ b/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java
@@ -16,6 +16,7 @@
package com.android.settings.regionalpreferences;
+import android.app.settings.SettingsEnums;
import android.content.Context;
import androidx.preference.PreferenceCategory;
@@ -65,8 +66,10 @@
RegionalPreferencesDataUtils.savePreference(mContext, getExtensionTypes(),
item.equals(RegionalPreferencesDataUtils.DEFAULT_VALUE)
? null : item);
- mMetricsFeatureProvider.action(mContext, getMetricsActionKey(),
- getPreferenceTitle(value) + " > " + getPreferenceTitle(item));
+ String metrics =
+ getMetricsActionKey() == SettingsEnums.ACTION_SET_FIRST_DAY_OF_WEEK ? ""
+ : getPreferenceTitle(value) + " > " + getPreferenceTitle(item);
+ mMetricsFeatureProvider.action(mContext, getMetricsActionKey(), metrics);
return true;
});
pref.setSelected(!value.isEmpty() && item.equals(value));
diff --git a/src/com/android/settings/search/SearchResultTrampoline.java b/src/com/android/settings/search/SearchResultTrampoline.java
index f72b097..5d897af 100644
--- a/src/com/android/settings/search/SearchResultTrampoline.java
+++ b/src/com/android/settings/search/SearchResultTrampoline.java
@@ -18,6 +18,7 @@
import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS;
import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB;
+import static com.android.settings.activityembedding.EmbeddedDeepLinkUtils.getTrampolineIntent;
import android.app.Activity;
import android.content.ComponentName;
@@ -107,7 +108,7 @@
startActivity(intent);
} else if (isSettingsIntelligence(callingActivity)) {
if (FeatureFlagUtils.isEnabled(this, FeatureFlags.SETTINGS_SEARCH_ALWAYS_EXPAND)) {
- startActivity(SettingsActivity.getTrampolineIntent(intent, highlightMenuKey)
+ startActivity(getTrampolineIntent(intent, highlightMenuKey)
.setClass(this, DeepLinkHomepageActivityInternal.class)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS));
@@ -130,7 +131,7 @@
}
} else {
// Two-pane case
- startActivity(SettingsActivity.getTrampolineIntent(intent, highlightMenuKey)
+ startActivity(getTrampolineIntent(intent, highlightMenuKey)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
}
diff --git a/src/com/android/settings/security/ContentProtectionPreferenceController.java b/src/com/android/settings/security/ContentProtectionPreferenceController.java
index 0129800..ff472dd 100644
--- a/src/com/android/settings/security/ContentProtectionPreferenceController.java
+++ b/src/com/android/settings/security/ContentProtectionPreferenceController.java
@@ -15,11 +15,16 @@
*/
package com.android.settings.security;
-import static android.view.contentprotection.flags.Flags.settingUiEnabled;
+import static com.android.internal.R.string.config_defaultContentProtectionService;
+import android.content.ComponentName;
import android.content.Context;
+import android.provider.DeviceConfig;
+import android.view.contentcapture.ContentCaptureManager;
import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
import com.android.settings.core.BasePreferenceController;
@@ -31,7 +36,8 @@
@Override
public int getAvailabilityStatus() {
- // TODO(b/306565942): Add a resource value check.
- return settingUiEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+ return ContentProtectionPreferenceUtils.isAvailable(mContext)
+ ? AVAILABLE
+ : UNSUPPORTED_ON_DEVICE;
}
}
diff --git a/src/com/android/settings/security/ContentProtectionPreferenceFragment.java b/src/com/android/settings/security/ContentProtectionPreferenceFragment.java
index a58f6e5..c65fd96 100644
--- a/src/com/android/settings/security/ContentProtectionPreferenceFragment.java
+++ b/src/com/android/settings/security/ContentProtectionPreferenceFragment.java
@@ -16,25 +16,27 @@
package com.android.settings.security;
-import android.content.Context;
import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
-import com.android.settings.dashboard.DashboardFragment;
+import androidx.annotation.VisibleForTesting;
+
import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable;
-import android.os.Bundle;
-
@SearchIndexable
public class ContentProtectionPreferenceFragment extends DashboardFragment {
private static final String TAG = "ContentProtectionPreferenceFragment";
// Required by @SearchIndexable to make the fragment and preferences to be indexed.
// Do not rename.
- public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider(R.layout.content_protection_preference_fragment);
+ @VisibleForTesting
+ public static final ContentProtectionSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+ new ContentProtectionSearchIndexProvider(
+ R.layout.content_protection_preference_fragment);
@Override
public void onAttach(Context context) {
@@ -44,7 +46,6 @@
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
- // TODO(b/304681048): Update the toggles' behavior according to user's profile
}
@Override
@@ -61,4 +62,17 @@
protected String getLogTag() {
return TAG;
}
+
+ public static class ContentProtectionSearchIndexProvider extends BaseSearchIndexProvider {
+
+ public ContentProtectionSearchIndexProvider(int xmlRes) {
+ super(xmlRes);
+ }
+
+ @Override
+ @VisibleForTesting
+ public boolean isPageSearchEnabled(Context context) {
+ return ContentProtectionPreferenceUtils.isAvailable(context);
+ }
+ }
}
diff --git a/src/com/android/settings/security/ContentProtectionPreferenceUtils.java b/src/com/android/settings/security/ContentProtectionPreferenceUtils.java
new file mode 100644
index 0000000..d84d7c5
--- /dev/null
+++ b/src/com/android/settings/security/ContentProtectionPreferenceUtils.java
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+package com.android.settings.security;
+
+import static com.android.internal.R.string.config_defaultContentProtectionService;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.provider.DeviceConfig;
+import android.view.contentcapture.ContentCaptureManager;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.NonNull;
+
+/** Util class for content protection preference. */
+public class ContentProtectionPreferenceUtils {
+
+ /**
+ * Whether or not the content protection setting page is available.
+ */
+ public static boolean isAvailable(@NonNull Context context) {
+ if (!settingUiEnabled() || getContentProtectionServiceComponentName(context) == null) {
+ return false;
+ }
+ return true;
+ }
+
+ private static String getContentProtectionServiceFlatComponentName(@NonNull Context context) {
+ return context.getString(config_defaultContentProtectionService);
+ }
+
+ @Nullable
+ private static ComponentName getContentProtectionServiceComponentName(@NonNull Context context) {
+ String flatComponentName = getContentProtectionServiceFlatComponentName(context);
+ if (flatComponentName == null) {
+ return null;
+ }
+ return ComponentName.unflattenFromString(flatComponentName);
+ }
+
+ /**
+ * Whether or not the content protection UI is enabled.
+ */
+ private static boolean settingUiEnabled() {
+ return DeviceConfig.getBoolean(
+ DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+ ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+ ContentCaptureManager.DEFAULT_ENABLE_CONTENT_PROTECTION_RECEIVER);
+ }
+}
diff --git a/src/com/android/settings/security/ContentProtectionTogglePreferenceController.java b/src/com/android/settings/security/ContentProtectionTogglePreferenceController.java
new file mode 100644
index 0000000..c874a5e
--- /dev/null
+++ b/src/com/android/settings/security/ContentProtectionTogglePreferenceController.java
@@ -0,0 +1,93 @@
+/*
+ * 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.
+ */
+package com.android.settings.security;
+
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.widget.SettingsMainSwitchPreference;
+
+/** Preference controller for content protection toggle switch bar. */
+public class ContentProtectionTogglePreferenceController extends TogglePreferenceController
+ implements OnCheckedChangeListener {
+
+ @VisibleForTesting
+ static final String KEY_CONTENT_PROTECTION_PREFERENCE = "content_protection_user_consent";
+
+ private SettingsMainSwitchPreference mSwitchBar;
+ private final ContentResolver mContentResolver;
+ private final boolean isFullyManagedDevice = Utils.getDeviceOwnerComponent(mContext) != null;
+
+ public ContentProtectionTogglePreferenceController(Context context, String preferenceKey) {
+ super(context, preferenceKey);
+ mContentResolver = context.getContentResolver();
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ return AVAILABLE;
+ }
+
+ @Override
+ public boolean isChecked() {
+ if (isFullyManagedDevice) {
+ // If fully managed device, it should always unchecked
+ return false;
+ }
+ return Settings.Global.getInt(mContentResolver, KEY_CONTENT_PROTECTION_PREFERENCE, 0) >= 0;
+ }
+
+ @Override
+ public boolean setChecked(boolean isChecked) {
+ Settings.Global.putInt(
+ mContentResolver, KEY_CONTENT_PROTECTION_PREFERENCE, isChecked ? 1 : -1);
+ return true;
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+
+ mSwitchBar = screen.findPreference(getPreferenceKey());
+ mSwitchBar.addOnSwitchChangeListener(this);
+ if (isFullyManagedDevice) {
+ // If fully managed device, the switch bar is greyed out
+ mSwitchBar.setEnabled(false);
+ }
+ }
+
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ if (isChecked != isChecked()) {
+ setChecked(isChecked);
+ }
+ }
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_security;
+ }
+}
diff --git a/src/com/android/settings/security/ContentProtectionWorkSwitchController.java b/src/com/android/settings/security/ContentProtectionWorkSwitchController.java
new file mode 100644
index 0000000..0404dcd
--- /dev/null
+++ b/src/com/android/settings/security/ContentProtectionWorkSwitchController.java
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ */
+package com.android.settings.security;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.os.UserManager;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+/** Preference controller for content protection work profile switch bar. */
+public class ContentProtectionWorkSwitchController extends TogglePreferenceController {
+
+ public ContentProtectionWorkSwitchController(
+ @NonNull Context context, @NonNull String preferenceKey) {
+ super(context, preferenceKey);
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ return getManagedProfile() != null ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+ }
+
+ // The switch is always set to unchecked until Android V by design
+ @Override
+ public boolean isChecked() {
+ return false;
+ }
+
+ // The switch is disabled until Android V by design
+ @Override
+ public boolean setChecked(boolean isChecked) {
+ return false;
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+
+ RestrictedSwitchPreference switchPreference = screen.findPreference(getPreferenceKey());
+ UserHandle managedProfile = getManagedProfile();
+ if (managedProfile != null) {
+ switchPreference.setDisabledByAdmin(getEnforcedAdmin(managedProfile));
+ }
+ }
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_security;
+ }
+
+ @VisibleForTesting
+ @Nullable
+ protected UserHandle getManagedProfile() {
+ return Utils.getManagedProfile(mContext.getSystemService(UserManager.class));
+ }
+
+ @VisibleForTesting
+ @Nullable
+ protected RestrictedLockUtils.EnforcedAdmin getEnforcedAdmin(
+ @NonNull UserHandle managedProfile) {
+ return RestrictedLockUtils.getProfileOrDeviceOwner(mContext, managedProfile);
+ }
+}
diff --git a/src/com/android/settings/security/ScreenPinningSettings.java b/src/com/android/settings/security/ScreenPinningSettings.java
index 20b6403..99d6492 100644
--- a/src/com/android/settings/security/ScreenPinningSettings.java
+++ b/src/com/android/settings/security/ScreenPinningSettings.java
@@ -27,7 +27,8 @@
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.appcompat.app.AlertDialog;
import androidx.preference.Preference;
@@ -45,13 +46,12 @@
import com.android.settings.widget.SettingsMainSwitchBar;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
/**
* Screen pinning settings.
*/
@SearchIndexable
public class ScreenPinningSettings extends SettingsPreferenceFragment
- implements OnMainSwitchChangeListener, DialogInterface.OnClickListener {
+ implements OnCheckedChangeListener, DialogInterface.OnClickListener {
private static final String KEY_USE_SCREEN_LOCK = "use_screen_lock";
private static final String KEY_FOOTER = "screen_pinning_settings_screen_footer";
@@ -198,7 +198,7 @@
* Listens to the state change of the overall lock-to-app switch.
*/
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
new AlertDialog.Builder(getContext())
.setMessage(R.string.screen_pinning_dialog_message)
diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java
index fdae1d0..ec60f44 100644
--- a/src/com/android/settings/slices/SettingsSliceProvider.java
+++ b/src/com/android/settings/slices/SettingsSliceProvider.java
@@ -474,18 +474,25 @@
@VisibleForTesting
boolean isPrivateSlicesNeeded(Uri uri) {
- final String queryUri = getContext().getString(R.string.config_non_public_slice_query_uri);
+ final Context context = getContext();
+ final String queryUri = context.getString(R.string.config_non_public_slice_query_uri);
if (!TextUtils.isEmpty(queryUri) && TextUtils.equals(uri.toString(), queryUri)) {
// check if the calling package is eligible for private slices
final int callingUid = Binder.getCallingUid();
- final boolean hasPermission = getContext().checkPermission(
- android.Manifest.permission.READ_SEARCH_INDEXABLES, Binder.getCallingPid(),
- callingUid) == PackageManager.PERMISSION_GRANTED;
- final String callingPackage = getContext().getPackageManager()
- .getPackagesForUid(callingUid)[0];
- return hasPermission && TextUtils.equals(callingPackage,
- getContext().getString(R.string.config_settingsintelligence_package_name));
+ final boolean hasPermission =
+ context.checkPermission(
+ android.Manifest.permission.READ_SEARCH_INDEXABLES,
+ Binder.getCallingPid(),
+ callingUid)
+ == PackageManager.PERMISSION_GRANTED;
+ final String[] packages = context.getPackageManager().getPackagesForUid(callingUid);
+ final String callingPackage =
+ packages != null && packages.length > 0 ? packages[0] : null;
+ return hasPermission
+ && TextUtils.equals(
+ callingPackage,
+ context.getString(R.string.config_settingsintelligence_package_name));
}
return false;
}
diff --git a/src/com/android/settings/slices/VolumeSliceHelper.java b/src/com/android/settings/slices/VolumeSliceHelper.java
index 1ba1778..8947cc4 100644
--- a/src/com/android/settings/slices/VolumeSliceHelper.java
+++ b/src/com/android/settings/slices/VolumeSliceHelper.java
@@ -24,7 +24,6 @@
import android.content.IntentFilter;
import android.media.AudioManager;
import android.net.Uri;
-import android.util.ArrayMap;
import android.util.Log;
import androidx.annotation.VisibleForTesting;
@@ -32,6 +31,7 @@
import com.android.settingslib.SliceBroadcastRelay;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
/**
* This helper is to handle the broadcasts of volume slices
@@ -41,7 +41,7 @@
private static final String TAG = "VolumeSliceHelper";
@VisibleForTesting
- static Map<Uri, Integer> sRegisteredUri = new ArrayMap<>();
+ static Map<Uri, Integer> sRegisteredUri = new ConcurrentHashMap<>();
@VisibleForTesting
static IntentFilter sIntentFilter;
@@ -133,23 +133,19 @@
}
private static void handleStreamChanged(Context context, int inputType) {
- synchronized (sRegisteredUri) {
- for (Map.Entry<Uri, Integer> entry : sRegisteredUri.entrySet()) {
- if (entry.getValue() == inputType) {
- context.getContentResolver().notifyChange(entry.getKey(), null /* observer */);
- if (inputType != AudioManager.STREAM_RING) { // Two URIs are mapped to ring
- break;
- }
+ for (Map.Entry<Uri, Integer> entry : sRegisteredUri.entrySet()) {
+ if (entry.getValue() == inputType) {
+ context.getContentResolver().notifyChange(entry.getKey(), null /* observer */);
+ if (inputType != AudioManager.STREAM_RING) { // Two URIs are mapped to ring
+ break;
}
}
}
}
private static void notifyAllStreamsChanged(Context context) {
- synchronized (sRegisteredUri) {
- sRegisteredUri.forEach((uri, audioStream) -> {
- context.getContentResolver().notifyChange(uri, null /* observer */);
- });
- }
+ sRegisteredUri.keySet().forEach(uri -> {
+ context.getContentResolver().notifyChange(uri, null /* observer */);
+ });
}
}
diff --git a/src/com/android/settings/spa/SettingsSpaEnvironment.kt b/src/com/android/settings/spa/SettingsSpaEnvironment.kt
index 6b96460..7ab836b 100644
--- a/src/com/android/settings/spa/SettingsSpaEnvironment.kt
+++ b/src/com/android/settings/spa/SettingsSpaEnvironment.kt
@@ -82,35 +82,41 @@
allProviders = getTogglePermissionAppListProviders()
)
SettingsPageProviderRepository(
- allPageProviders = listOf(
- HomePageProvider,
- AppsMainPageProvider,
- AllAppListPageProvider,
- AppInfoSettingsProvider,
- SpecialAppAccessPageProvider,
- NotificationMainPageProvider,
- AppListNotificationsPageProvider,
- SystemMainPageProvider,
- LanguageAndInputPageProvider,
- AppLanguagesPageProvider,
- UsageStatsPageProvider,
- PlatformCompatAppListPageProvider,
- BackgroundInstalledAppsPageProvider,
- UserAspectRatioAppsPageProvider,
- CloneAppInfoSettingsProvider,
- NetworkAndInternetPageProvider,
- AboutPhonePageProvider,
- StorageAppListPageProvider.Apps,
- StorageAppListPageProvider.Games,
- ApnEditPageProvider,
- ) + togglePermissionAppListTemplate.createPageProviders(),
+ allPageProviders = settingsPageProviders()
+ + togglePermissionAppListTemplate.createPageProviders(),
rootPages = listOf(
HomePageProvider.createSettingsPage()
),
)
}
- override val logger =
- if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_ENABLE_SPA_METRICS))
- SpaLogProvider
- else object : SpaLogger {}
+
+
+ open fun settingsPageProviders() = listOf(
+ HomePageProvider,
+ AppsMainPageProvider,
+ AllAppListPageProvider,
+ AppInfoSettingsProvider,
+ SpecialAppAccessPageProvider,
+ NotificationMainPageProvider,
+ AppListNotificationsPageProvider,
+ SystemMainPageProvider,
+ LanguageAndInputPageProvider,
+ AppLanguagesPageProvider,
+ UsageStatsPageProvider,
+ PlatformCompatAppListPageProvider,
+ BackgroundInstalledAppsPageProvider,
+ UserAspectRatioAppsPageProvider,
+ CloneAppInfoSettingsProvider,
+ NetworkAndInternetPageProvider,
+ AboutPhonePageProvider,
+ StorageAppListPageProvider.Apps,
+ StorageAppListPageProvider.Games,
+ ApnEditPageProvider,
+ )
+
+ override val logger = if (FeatureFlagUtils.isEnabled(
+ context, FeatureFlagUtils.SETTINGS_ENABLE_SPA_METRICS
+ )
+ ) SpaLogProvider
+ else object : SpaLogger {}
}
diff --git a/src/com/android/settings/spa/SpaActivity.kt b/src/com/android/settings/spa/SpaActivity.kt
index 2b52b21..e5bee8b 100644
--- a/src/com/android/settings/spa/SpaActivity.kt
+++ b/src/com/android/settings/spa/SpaActivity.kt
@@ -16,18 +16,14 @@
package com.android.settings.spa
-import android.app.ActivityManager
import android.content.Context
import android.content.Intent
-import android.os.RemoteException
-import android.os.UserHandle
import android.util.Log
import androidx.annotation.VisibleForTesting
import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
import com.android.settingslib.spa.framework.BrowseActivity
import com.android.settingslib.spa.framework.common.SettingsPage
import com.android.settingslib.spa.framework.util.SESSION_BROWSE
-import com.android.settingslib.spa.framework.util.SESSION_EXTERNAL
import com.android.settingslib.spa.framework.util.appendSpaParams
import com.google.android.setupcompat.util.WizardManagerHelper
@@ -44,7 +40,7 @@
@VisibleForTesting
fun Context.isSuwAndPageBlocked(name: String): Boolean =
if (name in SuwBlockedPages && !WizardManagerHelper.isDeviceProvisioned(this)) {
- Log.w(TAG, "$name blocked before SUW completed.");
+ Log.w(TAG, "$name blocked before SUW completed.")
true
} else {
false
@@ -54,29 +50,8 @@
fun Context.startSpaActivity(destination: String) {
val intent = Intent(this, SpaActivity::class.java)
.appendSpaParams(destination = destination)
- if (isLaunchedFromInternal()) {
- intent.appendSpaParams(sessionName = SESSION_BROWSE)
- } else {
- intent.appendSpaParams(sessionName = SESSION_EXTERNAL)
- }
+ .appendSpaParams(sessionName = SESSION_BROWSE)
startActivity(intent)
}
-
- @JvmStatic
- fun Context.startSpaActivityForApp(destinationPrefix: String, intent: Intent): Boolean {
- val packageName = intent.data?.schemeSpecificPart ?: return false
- startSpaActivity("$destinationPrefix/$packageName/${UserHandle.myUserId()}")
- return true
- }
-
- fun Context.isLaunchedFromInternal(): Boolean {
- var pkg: String? = null
- try {
- pkg = ActivityManager.getService().getLaunchedFromPackage(getActivityToken())
- } catch (e: RemoteException) {
- Log.v(TAG, "Could not talk to activity manager.", e)
- }
- return applicationContext.packageName == pkg
- }
}
}
diff --git a/src/com/android/settings/spa/SpaAppBridgeActivity.kt b/src/com/android/settings/spa/SpaAppBridgeActivity.kt
index 9177939..1a77442 100644
--- a/src/com/android/settings/spa/SpaAppBridgeActivity.kt
+++ b/src/com/android/settings/spa/SpaAppBridgeActivity.kt
@@ -17,9 +17,11 @@
package com.android.settings.spa
import android.app.Activity
+import android.content.Intent
import android.os.Bundle
-import com.android.settings.spa.SpaActivity.Companion.startSpaActivityForApp
+import android.os.UserHandle
import com.android.settings.spa.SpaBridgeActivity.Companion.getDestination
+import com.android.settings.spa.SpaBridgeActivity.Companion.startSpaActivityFromBridge
/**
* Activity used as a bridge to [SpaActivity] with package scheme for application usage.
@@ -31,9 +33,18 @@
class SpaAppBridgeActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- getDestination()?.let { destination ->
- startSpaActivityForApp(destination, intent)
+ getDestination()?.let { destinationPrefix ->
+ getDestinationForApp(destinationPrefix, intent)?.let { destination ->
+ startSpaActivityFromBridge(destination)
+ }
}
finish()
}
+
+ companion object {
+ fun getDestinationForApp(destinationPrefix: String, intent: Intent): String? {
+ val packageName = intent.data?.schemeSpecificPart ?: return null
+ return "$destinationPrefix/$packageName/${UserHandle.myUserId()}"
+ }
+ }
}
diff --git a/src/com/android/settings/spa/SpaBridgeActivity.kt b/src/com/android/settings/spa/SpaBridgeActivity.kt
index 904be88..0e239ae 100644
--- a/src/com/android/settings/spa/SpaBridgeActivity.kt
+++ b/src/com/android/settings/spa/SpaBridgeActivity.kt
@@ -17,10 +17,15 @@
package com.android.settings.spa
import android.app.Activity
+import android.content.Intent
import android.content.pm.PackageManager
import android.content.pm.PackageManager.ComponentInfoFlags
import android.os.Bundle
-import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
+import androidx.annotation.VisibleForTesting
+import com.android.settings.activityembedding.ActivityEmbeddingUtils
+import com.android.settings.activityembedding.EmbeddedDeepLinkUtils.tryStartMultiPaneDeepLink
+import com.android.settingslib.spa.framework.util.SESSION_EXTERNAL
+import com.android.settingslib.spa.framework.util.appendSpaParams
/**
* Activity used as a bridge to [SpaActivity].
@@ -33,17 +38,28 @@
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
getDestination()?.let { destination ->
- startSpaActivity(destination)
+ startSpaActivityFromBridge(destination)
}
finish()
}
companion object {
+ fun Activity.startSpaActivityFromBridge(destination: String) {
+ val intent = Intent(this, SpaActivity::class.java)
+ .appendSpaParams(destination = destination)
+ .appendSpaParams(sessionName = SESSION_EXTERNAL)
+ if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this) ||
+ !tryStartMultiPaneDeepLink(intent)) {
+ startActivity(intent)
+ }
+ }
+
fun Activity.getDestination(): String? =
packageManager.getActivityInfo(
componentName, ComponentInfoFlags.of(PackageManager.GET_META_DATA.toLong())
).metaData.getString(META_DATA_KEY_DESTINATION)
- private const val META_DATA_KEY_DESTINATION = "com.android.settings.spa.DESTINATION"
+ @VisibleForTesting
+ const val META_DATA_KEY_DESTINATION = "com.android.settings.spa.DESTINATION"
}
}
diff --git a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt
index 96884be..1e6e545 100644
--- a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt
+++ b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt
@@ -63,18 +63,18 @@
}.flowOn(Dispatchers.IO)
fun startActivity() =
- navigateToAppAspectRatioSettings(context, app)
+ navigateToAppAspectRatioSettings(context, app, AppInfoSettingsProvider.METRICS_CATEGORY)
val summaryFlow = flow {
emit(manager.getUserMinAspectRatioEntry(app.packageName, context.userId))
}.flowOn(Dispatchers.IO)
}
-fun navigateToAppAspectRatioSettings(context: Context, app: ApplicationInfo) {
+fun navigateToAppAspectRatioSettings(context: Context, app: ApplicationInfo, metricsCategory: Int) {
AppInfoDashboardFragment.startAppInfoFragment(
UserAspectRatioDetails::class.java,
app,
context,
- AppInfoSettingsProvider.METRICS_CATEGORY,
+ metricsCategory,
)
}
diff --git a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
index 5af29ef..7368750f 100644
--- a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
+++ b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
@@ -16,6 +16,7 @@
package com.android.settings.spa.app.appcompat
+import android.app.settings.SettingsEnums
import android.content.Context
import android.content.pm.ApplicationInfo
import android.content.pm.PackageInfo
@@ -155,7 +156,13 @@
override fun AppListItemModel<UserAspectRatioAppListItemModel>.AppItem() {
val app = record.app
AppListItem(
- onClick = { navigateToAppAspectRatioSettings(context, app) }
+ onClick = {
+ navigateToAppAspectRatioSettings(
+ context,
+ app,
+ SettingsEnums.USER_ASPECT_RATIO_APP_LIST_SETTINGS
+ )
+ }
)
}
diff --git a/src/com/android/settings/spa/app/appinfo/AppForceStopButton.kt b/src/com/android/settings/spa/app/appinfo/AppForceStopButton.kt
index 086f59e..7615442 100644
--- a/src/com/android/settings/spa/app/appinfo/AppForceStopButton.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppForceStopButton.kt
@@ -20,7 +20,7 @@
import android.content.pm.ApplicationInfo
import android.os.UserManager
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.outlined.WarningAmber
+import androidx.compose.material.icons.outlined.Report
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
@@ -48,7 +48,7 @@
val dialogPresenter = confirmDialogPresenter()
return ActionButton(
text = context.getString(R.string.force_stop),
- imageVector = Icons.Outlined.WarningAmber,
+ imageVector = Icons.Outlined.Report,
enabled = isForceStopButtonEnable(app),
) { onForceStopButtonClicked(app, dialogPresenter) }
}
diff --git a/src/com/android/settings/spa/app/specialaccess/VoiceActivationApps.kt b/src/com/android/settings/spa/app/specialaccess/VoiceActivationApps.kt
index de5f3b7..1225806 100644
--- a/src/com/android/settings/spa/app/specialaccess/VoiceActivationApps.kt
+++ b/src/com/android/settings/spa/app/specialaccess/VoiceActivationApps.kt
@@ -20,14 +20,18 @@
import android.app.AppOpsManager
import android.app.settings.SettingsEnums
import android.content.Context
-import android.content.res.Resources
import com.android.settings.R
import com.android.settings.overlay.FeatureFactory
+import com.android.settingslib.spaprivileged.model.app.PackageManagers.hasGrantPermission
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
-
+/**
+ * This class builds an App List under voice activation apps and the individual page which
+ * allows the user to toggle voice activation related permissions on / off for the apps displayed
+ * in the list.
+ */
object VoiceActivationAppsListProvider : TogglePermissionAppListProvider {
override val permissionType = "VoiceActivationApps"
override fun createModel(context: Context) = VoiceActivationAppsListModel(context)
@@ -46,6 +50,9 @@
logPermissionChange(newAllowed)
}
+ override fun isChangeable(record: AppOpPermissionRecord): Boolean =
+ super.isChangeable(record) && record.app.hasGrantPermission(permission)
+
private fun logPermissionChange(newAllowed: Boolean) {
val category = when {
newAllowed -> SettingsEnums.APP_SPECIAL_PERMISSION_RECEIVE_SANDBOX_TRIGGER_AUDIO_ALLOW
diff --git a/src/com/android/settings/spa/preference/ComposePreference.kt b/src/com/android/settings/spa/preference/ComposePreference.kt
index aec85a9..aa5c32c 100644
--- a/src/com/android/settings/spa/preference/ComposePreference.kt
+++ b/src/com/android/settings/spa/preference/ComposePreference.kt
@@ -18,6 +18,7 @@
import android.content.Context
import android.util.AttributeSet
+import androidx.annotation.VisibleForTesting
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.platform.ViewCompositionStrategy
@@ -26,13 +27,23 @@
import com.android.settings.R
import com.android.settingslib.spa.framework.theme.SettingsTheme
-class ComposePreference @JvmOverloads constructor(
+open class ComposePreference @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0,
defStyleRes: Int = 0,
) : Preference(context, attrs, defStyleAttr, defStyleRes) {
- var content: @Composable () -> Unit = {}
+ private var content: @Composable () -> Unit = {}
+
+ fun setContent(content: @Composable () -> Unit) {
+ this.content = content
+ }
+
+ @VisibleForTesting
+ @Composable
+ fun Content() {
+ content()
+ }
init {
layoutResource = R.layout.preference_compose
diff --git a/src/com/android/settings/spa/preference/ComposePreferenceController.kt b/src/com/android/settings/spa/preference/ComposePreferenceController.kt
index 3ddb66b..9dd8282 100644
--- a/src/com/android/settings/spa/preference/ComposePreferenceController.kt
+++ b/src/com/android/settings/spa/preference/ComposePreferenceController.kt
@@ -29,7 +29,7 @@
override fun displayPreference(screen: PreferenceScreen) {
super.displayPreference(screen)
preference = screen.findPreference(preferenceKey)!!
- preference.content = { Content() }
+ preference.setContent { Content() }
}
@Composable
diff --git a/src/com/android/settings/system/ClientInitiatedActionRepository.kt b/src/com/android/settings/system/ClientInitiatedActionRepository.kt
new file mode 100644
index 0000000..24c04b4
--- /dev/null
+++ b/src/com/android/settings/system/ClientInitiatedActionRepository.kt
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.system
+
+import android.content.Context
+import android.content.Intent
+import android.telephony.CarrierConfigManager
+import android.util.Log
+
+class ClientInitiatedActionRepository(private val context: Context) {
+ private val configManager = context.getSystemService(CarrierConfigManager::class.java)!!
+
+ /**
+ * Trigger client initiated action (send intent) on system update
+ */
+ fun onSystemUpdate() {
+ val bundle =
+ configManager.getConfig(
+ CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL,
+ CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING,
+ CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING,
+ CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING,
+ )
+
+ if (!bundle.getBoolean(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL)) return
+
+ val action =
+ bundle.getString(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING)
+ if (action.isNullOrEmpty()) return
+ val extra = bundle.getString(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING)
+ val extraValue =
+ bundle.getString(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING)
+ Log.d(TAG, "onSystemUpdate: broadcasting intent $action with extra $extra, $extraValue")
+ val intent = Intent(action).apply {
+ if (!extra.isNullOrEmpty()) putExtra(extra, extraValue)
+ addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND)
+ }
+ context.applicationContext.sendBroadcast(intent)
+ }
+
+ companion object {
+ private const val TAG = "ClientInitiatedAction"
+ }
+}
diff --git a/src/com/android/settings/system/SystemUpdatePreferenceController.kt b/src/com/android/settings/system/SystemUpdatePreferenceController.kt
index 01df065..87a402e 100644
--- a/src/com/android/settings/system/SystemUpdatePreferenceController.kt
+++ b/src/com/android/settings/system/SystemUpdatePreferenceController.kt
@@ -17,12 +17,9 @@
package com.android.settings.system
import android.content.Context
-import android.content.Intent
import android.os.Build
-import android.os.PersistableBundle
import android.os.SystemUpdateManager
import android.os.UserManager
-import android.telephony.CarrierConfigManager
import android.util.Log
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
@@ -31,7 +28,6 @@
import androidx.preference.Preference
import androidx.preference.PreferenceScreen
import com.android.settings.R
-import com.android.settings.Utils
import com.android.settings.core.BasePreferenceController
import com.android.settingslib.spaprivileged.framework.common.userManager
import kotlinx.coroutines.launch
@@ -39,6 +35,8 @@
open class SystemUpdatePreferenceController(context: Context, preferenceKey: String) :
BasePreferenceController(context, preferenceKey) {
private val userManager: UserManager = context.userManager
+ private val systemUpdateRepository = SystemUpdateRepository(context)
+ private val clientInitiatedActionRepository = ClientInitiatedActionRepository(context)
private lateinit var preference: Preference
override fun getAvailabilityStatus() =
@@ -50,23 +48,18 @@
super.displayPreference(screen)
preference = screen.findPreference(preferenceKey)!!
if (isAvailable) {
- Utils.updatePreferenceToSpecificActivityOrRemove(
- mContext,
- screen,
- preferenceKey,
- Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY,
- )
+ val intent = systemUpdateRepository.getSystemUpdateIntent()
+ if (intent != null) { // Replace the intent with this specific activity
+ preference.intent = intent
+ } else { // Did not find a matching activity, so remove the preference
+ screen.removePreference(preference)
+ }
}
}
override fun handlePreferenceTreeClick(preference: Preference): Boolean {
if (preferenceKey == preference.key) {
- val configManager = mContext.getSystemService(CarrierConfigManager::class.java)!!
- configManager.getConfig(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL)?.let {
- if (it.getBoolean(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL)) {
- ciActionOnSysUpdate(it)
- }
- }
+ clientInitiatedActionRepository.onSystemUpdate()
}
// always return false here because this handler does not want to block other handlers.
return false
@@ -111,26 +104,6 @@
Build.VERSION.RELEASE_OR_PREVIEW_DISPLAY,
)
- /**
- * Trigger client initiated action (send intent) on system update
- */
- private fun ciActionOnSysUpdate(b: PersistableBundle) {
- val intentStr = b.getString(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING)
- if (intentStr.isNullOrEmpty()) return
- val extra = b.getString(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING)
- val extraVal =
- b.getString(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING)
- Log.d(
- TAG,
- "ciActionOnSysUpdate: broadcasting intent $intentStr with extra $extra, $extraVal"
- )
- val intent = Intent(intentStr).apply {
- if (!extra.isNullOrEmpty()) putExtra(extra, extraVal)
- addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND)
- }
- mContext.applicationContext.sendBroadcast(intent)
- }
-
companion object {
private const val TAG = "SysUpdatePrefContr"
}
diff --git a/src/com/android/settings/system/SystemUpdateRepository.kt b/src/com/android/settings/system/SystemUpdateRepository.kt
new file mode 100644
index 0000000..f8804be
--- /dev/null
+++ b/src/com/android/settings/system/SystemUpdateRepository.kt
@@ -0,0 +1,38 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.system
+
+import android.content.Context
+import android.content.Intent
+import android.content.pm.PackageManager
+import android.provider.Settings
+
+class SystemUpdateRepository(context: Context) {
+ private val packageManager = context.packageManager
+
+ /**
+ * Finds a matching activity for the system update intent.
+ */
+ fun getSystemUpdateIntent(): Intent? {
+ val intent = Intent(Settings.ACTION_SYSTEM_UPDATE_SETTINGS)
+ return packageManager.resolveActivity(intent, PackageManager.MATCH_SYSTEM_ONLY)
+ ?.activityInfo
+ ?.let { activityInfo ->
+ Intent().setClassName(activityInfo.packageName, activityInfo.name)
+ }
+ }
+}
diff --git a/src/com/android/settings/users/MultiUserSwitchBarController.java b/src/com/android/settings/users/MultiUserSwitchBarController.java
index 33651c3..238e86e 100644
--- a/src/com/android/settings/users/MultiUserSwitchBarController.java
+++ b/src/com/android/settings/users/MultiUserSwitchBarController.java
@@ -57,11 +57,10 @@
mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
.checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_USER_SWITCH,
UserHandle.myUserId()));
-
} else if (mUserCapabilities.mDisallowAddUser) {
+ onSwitchToggled(false);
mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
- .checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_ADD_USER,
- UserHandle.myUserId()));
+ .checkIfAddUserDisallowed(mContext, UserHandle.myUserId()));
} else {
mSwitchBar.setEnabled(!mUserCapabilities.mDisallowSwitchUser
&& !mUserCapabilities.mIsGuest && mUserCapabilities.isAdmin());
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index 64699ff..29d136f 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -1724,6 +1724,9 @@
public List<SearchIndexableRaw> getRawDataToIndex(Context context,
boolean enabled) {
final List<SearchIndexableRaw> rawData = new ArrayList<>();
+ if (!UserManager.supportsMultipleUsers()) {
+ return rawData;
+ }
SearchIndexableRaw allowMultipleUsersResult = new SearchIndexableRaw(context);
diff --git a/src/com/android/settings/vpn2/ConfigDialog.java b/src/com/android/settings/vpn2/ConfigDialog.java
index 036487d..1c001cb 100644
--- a/src/com/android/settings/vpn2/ConfigDialog.java
+++ b/src/com/android/settings/vpn2/ConfigDialog.java
@@ -16,8 +16,6 @@
package com.android.settings.vpn2;
-import static com.android.internal.net.VpnProfile.isLegacyType;
-
import android.content.Context;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
@@ -43,9 +41,6 @@
import com.android.settings.R;
import com.android.settings.utils.AndroidKeystoreAliasLoader;
-import java.net.InetAddress;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.List;
@@ -60,13 +55,18 @@
View.OnClickListener, AdapterView.OnItemSelectedListener,
CompoundButton.OnCheckedChangeListener {
private static final String TAG = "ConfigDialog";
+ // Vpn profile constants to match with R.array.vpn_types.
+ private static final List<Integer> VPN_TYPES = List.of(
+ VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS,
+ VpnProfile.TYPE_IKEV2_IPSEC_PSK,
+ VpnProfile.TYPE_IKEV2_IPSEC_RSA
+ );
+
private final DialogInterface.OnClickListener mListener;
private final VpnProfile mProfile;
private boolean mEditing;
private boolean mExists;
- private List<String> mTotalTypes;
- private List<String> mAllowedTypes;
private View mView;
@@ -75,14 +75,9 @@
private TextView mServer;
private TextView mUsername;
private TextView mPassword;
- private TextView mSearchDomains;
- private TextView mDnsServers;
- private TextView mRoutes;
private Spinner mProxySettings;
private TextView mProxyHost;
private TextView mProxyPort;
- private CheckBox mMppe;
- private TextView mL2tpSecret;
private TextView mIpsecIdentifier;
private TextView mIpsecSecret;
private Spinner mIpsecUserCert;
@@ -116,14 +111,9 @@
mServer = (TextView) mView.findViewById(R.id.server);
mUsername = (TextView) mView.findViewById(R.id.username);
mPassword = (TextView) mView.findViewById(R.id.password);
- mSearchDomains = (TextView) mView.findViewById(R.id.search_domains);
- mDnsServers = (TextView) mView.findViewById(R.id.dns_servers);
- mRoutes = (TextView) mView.findViewById(R.id.routes);
mProxySettings = (Spinner) mView.findViewById(R.id.vpn_proxy_settings);
mProxyHost = (TextView) mView.findViewById(R.id.vpn_proxy_host);
mProxyPort = (TextView) mView.findViewById(R.id.vpn_proxy_port);
- mMppe = (CheckBox) mView.findViewById(R.id.mppe);
- mL2tpSecret = (TextView) mView.findViewById(R.id.l2tp_secret);
mIpsecIdentifier = (TextView) mView.findViewById(R.id.ipsec_identifier);
mIpsecSecret = (TextView) mView.findViewById(R.id.ipsec_secret);
mIpsecUserCert = (Spinner) mView.findViewById(R.id.ipsec_user_cert);
@@ -137,29 +127,17 @@
// Second, copy values from the profile.
mName.setText(mProfile.name);
setTypesByFeature(mType);
- // Not all types will be available to the user. Find the index corresponding to the
- // string of the profile's type.
- if (mAllowedTypes != null && mTotalTypes != null) {
- mType.setSelection(mAllowedTypes.indexOf(mTotalTypes.get(mProfile.type)));
- } else {
- Log.w(TAG, "Allowed or Total vpn types not initialized when setting initial selection");
- }
+ mType.setSelection(convertVpnProfileConstantToTypeIndex(mProfile.type));
mServer.setText(mProfile.server);
if (mProfile.saveLogin) {
mUsername.setText(mProfile.username);
mPassword.setText(mProfile.password);
}
- mSearchDomains.setText(mProfile.searchDomains);
- mDnsServers.setText(mProfile.dnsServers);
- mRoutes.setText(mProfile.routes);
if (mProfile.proxy != null) {
mProxyHost.setText(mProfile.proxy.getHost());
int port = mProfile.proxy.getPort();
mProxyPort.setText(port == 0 ? "" : Integer.toString(port));
}
- mMppe.setChecked(mProfile.mppe);
- mL2tpSecret.setText(mProfile.l2tpSecret);
- mL2tpSecret.setTextAppearance(android.R.style.TextAppearance_DeviceDefault_Medium);
mIpsecIdentifier.setText(mProfile.ipsecIdentifier);
mIpsecSecret.setText(mProfile.ipsecSecret);
final AndroidKeystoreAliasLoader androidKeystoreAliasLoader =
@@ -185,8 +163,6 @@
mServer.addTextChangedListener(this);
mUsername.addTextChangedListener(this);
mPassword.addTextChangedListener(this);
- mDnsServers.addTextChangedListener(this);
- mRoutes.addTextChangedListener(this);
mProxySettings.setOnItemSelectedListener(this);
mProxyHost.addTextChangedListener(this);
mProxyPort.addTextChangedListener(this);
@@ -217,12 +193,6 @@
// Create a button to forget the profile if it has already been saved..
setButton(DialogInterface.BUTTON_NEUTRAL,
context.getString(R.string.vpn_forget), mListener);
-
- // Display warning subtitle if the existing VPN is an insecure type...
- if (VpnProfile.isLegacyType(mProfile.type)) {
- TextView subtitle = mView.findViewById(R.id.dialog_alert_subtitle);
- subtitle.setVisibility(View.VISIBLE);
- }
}
// Create a button to save the profile.
@@ -285,10 +255,7 @@
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (parent == mType) {
- // Because the spinner may not display all available types,
- // convert the selected position into the actual vpn profile type integer.
- final int profileType = convertAllowedIndexToProfileType(position);
- changeType(profileType);
+ changeType(VPN_TYPES.get(position));
} else if (parent == mProxySettings) {
updateProxyFieldsVisibility(position);
}
@@ -330,17 +297,7 @@
} else {
mAlwaysOnVpn.setChecked(false);
mAlwaysOnVpn.setEnabled(false);
- if (!profile.isTypeValidForLockdown()) {
- mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_type);
- } else if (isLegacyType(profile.type) && !profile.isServerAddressNumeric()) {
- mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_server);
- } else if (isLegacyType(profile.type) && !profile.hasDns()) {
- mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_no_dns);
- } else if (isLegacyType(profile.type) && !profile.areDnsAddressesNumeric()) {
- mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_dns);
- } else {
- mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_other);
- }
+ mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_other);
mAlwaysOnInvalidReason.setVisibility(View.VISIBLE);
}
@@ -370,21 +327,14 @@
}
private boolean isAdvancedOptionsEnabled() {
- return mSearchDomains.getText().length() > 0 || mDnsServers.getText().length() > 0 ||
- mRoutes.getText().length() > 0 || mProxyHost.getText().length() > 0
- || mProxyPort.getText().length() > 0;
+ return mProxyHost.getText().length() > 0 || mProxyPort.getText().length() > 0;
}
private void configureAdvancedOptionsVisibility() {
if (mShowOptions.isChecked() || isAdvancedOptionsEnabled()) {
mView.findViewById(R.id.options).setVisibility(View.VISIBLE);
mShowOptions.setVisibility(View.GONE);
-
- // Configure networking option visibility
// TODO(b/149070123): Add ability for platform VPNs to support DNS & routes
- final int visibility =
- isLegacyType(getSelectedVpnType()) ? View.VISIBLE : View.GONE;
- mView.findViewById(R.id.network_options).setVisibility(visibility);
} else {
mView.findViewById(R.id.options).setVisibility(View.GONE);
mShowOptions.setVisibility(View.VISIBLE);
@@ -393,8 +343,6 @@
private void changeType(int type) {
// First, hide everything.
- mMppe.setVisibility(View.GONE);
- mView.findViewById(R.id.l2tp).setVisibility(View.GONE);
mView.findViewById(R.id.ipsec_psk).setVisibility(View.GONE);
mView.findViewById(R.id.ipsec_user).setVisibility(View.GONE);
mView.findViewById(R.id.ipsec_peer).setVisibility(View.GONE);
@@ -403,34 +351,18 @@
setUsernamePasswordVisibility(type);
// Always enable identity for IKEv2/IPsec profiles.
- if (!isLegacyType(type)) {
- mView.findViewById(R.id.options_ipsec_identity).setVisibility(View.VISIBLE);
- }
+ mView.findViewById(R.id.options_ipsec_identity).setVisibility(View.VISIBLE);
// Then, unhide type-specific fields.
switch (type) {
- case VpnProfile.TYPE_PPTP:
- mMppe.setVisibility(View.VISIBLE);
- break;
-
- case VpnProfile.TYPE_L2TP_IPSEC_PSK:
- mView.findViewById(R.id.l2tp).setVisibility(View.VISIBLE);
- // fall through
- case VpnProfile.TYPE_IKEV2_IPSEC_PSK: // fall through
- case VpnProfile.TYPE_IPSEC_XAUTH_PSK:
+ case VpnProfile.TYPE_IKEV2_IPSEC_PSK:
mView.findViewById(R.id.ipsec_psk).setVisibility(View.VISIBLE);
mView.findViewById(R.id.options_ipsec_identity).setVisibility(View.VISIBLE);
break;
-
- case VpnProfile.TYPE_L2TP_IPSEC_RSA:
- mView.findViewById(R.id.l2tp).setVisibility(View.VISIBLE);
- // fall through
- case VpnProfile.TYPE_IKEV2_IPSEC_RSA: // fall through
- case VpnProfile.TYPE_IPSEC_XAUTH_RSA:
+ case VpnProfile.TYPE_IKEV2_IPSEC_RSA:
mView.findViewById(R.id.ipsec_user).setVisibility(View.VISIBLE);
// fall through
- case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS: // fall through
- case VpnProfile.TYPE_IPSEC_HYBRID_RSA:
+ case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS:
mView.findViewById(R.id.ipsec_peer).setVisibility(View.VISIBLE);
break;
}
@@ -443,7 +375,8 @@
return false;
}
- final int type = getSelectedVpnType();
+ final int position = mType.getSelectedItemPosition();
+ final int type = VPN_TYPES.get(position);
if (!editing && requiresUsernamePassword(type)) {
return mUsername.getText().length() != 0 && mPassword.getText().length() != 0;
}
@@ -451,15 +384,8 @@
return false;
}
- // TODO(b/149070123): Add ability for platform VPNs to support DNS & routes
- if (isLegacyType(mProfile.type)
- && (!validateAddresses(mDnsServers.getText().toString(), false)
- || !validateAddresses(mRoutes.getText().toString(), true))) {
- return false;
- }
-
// All IKEv2 methods require an identifier
- if (!isLegacyType(mProfile.type) && mIpsecIdentifier.getText().length() == 0) {
+ if (mIpsecIdentifier.getText().length() == 0) {
return false;
}
@@ -468,56 +394,23 @@
}
switch (type) {
- case VpnProfile.TYPE_PPTP: // fall through
- case VpnProfile.TYPE_IPSEC_HYBRID_RSA: // fall through
case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS:
return true;
- case VpnProfile.TYPE_IKEV2_IPSEC_PSK: // fall through
- case VpnProfile.TYPE_L2TP_IPSEC_PSK: // fall through
- case VpnProfile.TYPE_IPSEC_XAUTH_PSK:
+ case VpnProfile.TYPE_IKEV2_IPSEC_PSK:
return mIpsecSecret.getText().length() != 0;
- case VpnProfile.TYPE_IKEV2_IPSEC_RSA: // fall through
- case VpnProfile.TYPE_L2TP_IPSEC_RSA: // fall through
- case VpnProfile.TYPE_IPSEC_XAUTH_RSA:
+ case VpnProfile.TYPE_IKEV2_IPSEC_RSA:
return mIpsecUserCert.getSelectedItemPosition() != 0;
}
return false;
}
- private boolean validateAddresses(String addresses, boolean cidr) {
- try {
- for (String address : addresses.split(" ")) {
- if (address.isEmpty()) {
- continue;
- }
- // Legacy VPN currently only supports IPv4.
- int prefixLength = 32;
- if (cidr) {
- String[] parts = address.split("/", 2);
- address = parts[0];
- prefixLength = Integer.parseInt(parts[1]);
- }
- byte[] bytes = InetAddress.parseNumericAddress(address).getAddress();
- int integer = (bytes[3] & 0xFF) | (bytes[2] & 0xFF) << 8 |
- (bytes[1] & 0xFF) << 16 | (bytes[0] & 0xFF) << 24;
- if (bytes.length != 4 || prefixLength < 0 || prefixLength > 32 ||
- (prefixLength < 32 && (integer << prefixLength) != 0)) {
- return false;
- }
- }
- } catch (Exception e) {
- return false;
- }
- return true;
- }
-
private void setTypesByFeature(Spinner typeSpinner) {
String[] types = getContext().getResources().getStringArray(R.array.vpn_types);
- mTotalTypes = new ArrayList<>(Arrays.asList(types));
- mAllowedTypes = new ArrayList<>(Arrays.asList(types));
-
+ if (types.length != VPN_TYPES.size()) {
+ Log.wtf(TAG, "VPN_TYPES array length does not match string array");
+ }
// Although FEATURE_IPSEC_TUNNELS should always be present in android S and beyond,
// keep this check here just to be safe.
if (!getContext().getPackageManager().hasSystemFeature(
@@ -532,17 +425,6 @@
mProfile.type = VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS;
}
- // Remove all types which are legacy types from the typesList
- if (!VpnProfile.isLegacyType(mProfile.type)) {
- for (int i = mAllowedTypes.size() - 1; i >= 0; i--) {
- // This must be removed from back to front in order to ensure index consistency
- if (VpnProfile.isLegacyType(i)) {
- mAllowedTypes.remove(i);
- }
- }
-
- types = mAllowedTypes.toArray(new String[0]);
- }
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getContext(), android.R.layout.simple_spinner_item, types);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
@@ -606,20 +488,14 @@
// First, save common fields.
VpnProfile profile = new VpnProfile(mProfile.key);
profile.name = mName.getText().toString();
- profile.type = getSelectedVpnType();
+ final int position = mType.getSelectedItemPosition();
+ profile.type = VPN_TYPES.get(position);
profile.server = mServer.getText().toString().trim();
profile.username = mUsername.getText().toString();
profile.password = mPassword.getText().toString();
// Save fields based on VPN type.
- if (isLegacyType(profile.type)) {
- // TODO(b/149070123): Add ability for platform VPNs to support DNS & routes
- profile.searchDomains = mSearchDomains.getText().toString().trim();
- profile.dnsServers = mDnsServers.getText().toString().trim();
- profile.routes = mRoutes.getText().toString().trim();
- } else {
- profile.ipsecIdentifier = mIpsecIdentifier.getText().toString();
- }
+ profile.ipsecIdentifier = mIpsecIdentifier.getText().toString();
if (hasProxy()) {
String proxyHost = mProxyHost.getText().toString().trim();
@@ -640,34 +516,17 @@
}
// Then, save type-specific fields.
switch (profile.type) {
- case VpnProfile.TYPE_PPTP:
- profile.mppe = mMppe.isChecked();
- break;
-
- case VpnProfile.TYPE_L2TP_IPSEC_PSK:
- profile.l2tpSecret = mL2tpSecret.getText().toString();
- // fall through
- case VpnProfile.TYPE_IKEV2_IPSEC_PSK: // fall through
- case VpnProfile.TYPE_IPSEC_XAUTH_PSK:
- profile.ipsecIdentifier = mIpsecIdentifier.getText().toString();
+ case VpnProfile.TYPE_IKEV2_IPSEC_PSK:
profile.ipsecSecret = mIpsecSecret.getText().toString();
break;
case VpnProfile.TYPE_IKEV2_IPSEC_RSA:
if (mIpsecUserCert.getSelectedItemPosition() != 0) {
- profile.ipsecSecret = (String) mIpsecUserCert.getSelectedItem();
- }
- // fall through
- case VpnProfile.TYPE_L2TP_IPSEC_RSA:
- profile.l2tpSecret = mL2tpSecret.getText().toString();
- // fall through
- case VpnProfile.TYPE_IPSEC_XAUTH_RSA:
- if (mIpsecUserCert.getSelectedItemPosition() != 0) {
profile.ipsecUserCert = (String) mIpsecUserCert.getSelectedItem();
+ profile.ipsecSecret = profile.ipsecUserCert;
}
// fall through
- case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS: // fall through
- case VpnProfile.TYPE_IPSEC_HYBRID_RSA:
+ case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS:
if (mIpsecCaCert.getSelectedItemPosition() != 0) {
profile.ipsecCaCert = (String) mIpsecCaCert.getSelectedItem();
}
@@ -692,19 +551,13 @@
return ProxyUtils.validate(host, port, "") == ProxyUtils.PROXY_VALID;
}
- private int getSelectedVpnType() {
- return convertAllowedIndexToProfileType(mType.getSelectedItemPosition());
- }
-
- private int convertAllowedIndexToProfileType(int allowedSelectedPosition) {
- if (mAllowedTypes != null && mTotalTypes != null) {
- final String typeString = mAllowedTypes.get(allowedSelectedPosition);
- final int profileType = mTotalTypes.indexOf(typeString);
- return profileType;
- } else {
- Log.w(TAG, "Allowed or Total vpn types not initialized when converting protileType");
- return allowedSelectedPosition;
+ private int convertVpnProfileConstantToTypeIndex(int vpnType) {
+ final int typeIndex = VPN_TYPES.indexOf(vpnType);
+ if (typeIndex == -1) {
+ // Existing legacy profile type
+ Log.wtf(TAG, "Invalid existing profile type");
+ return 0;
}
+ return typeIndex;
}
-
}
diff --git a/src/com/android/settings/vpn2/ConfigDialogFragment.java b/src/com/android/settings/vpn2/ConfigDialogFragment.java
index b8825fe..559003a 100644
--- a/src/com/android/settings/vpn2/ConfigDialogFragment.java
+++ b/src/com/android/settings/vpn2/ConfigDialogFragment.java
@@ -207,6 +207,12 @@
mService.startLegacyVpn(profile);
} catch (IllegalStateException e) {
Toast.makeText(mContext, R.string.vpn_no_network, Toast.LENGTH_LONG).show();
+ } catch (UnsupportedOperationException e) {
+ Log.e(TAG, "Attempted to start an unsupported VPN type.");
+ final AlertDialog unusedDialog = new AlertDialog.Builder(mContext)
+ .setMessage(R.string.vpn_start_unsupported)
+ .setPositiveButton(android.R.string.ok, null)
+ .show();
}
}
}
diff --git a/src/com/android/settings/wfd/WifiDisplaySettings.java b/src/com/android/settings/wfd/WifiDisplaySettings.java
index 96f067c..2ec69c4 100644
--- a/src/com/android/settings/wfd/WifiDisplaySettings.java
+++ b/src/com/android/settings/wfd/WifiDisplaySettings.java
@@ -140,7 +140,6 @@
mWifiP2pChannel = mWifiP2pManager.initialize(context, Looper.getMainLooper(), null);
addPreferencesFromResource(R.xml.wifi_display_settings);
- setHasOptionsMenu(true);
}
@Override
@@ -197,8 +196,9 @@
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
- if (mWifiDisplayStatus != null && mWifiDisplayStatus.getFeatureState()
- != WifiDisplayStatus.FEATURE_STATE_UNAVAILABLE) {
+ if (getResources().getBoolean(R.bool.config_show_wifi_display_enable_menu)
+ && mWifiDisplayStatus != null && mWifiDisplayStatus.getFeatureState()
+ != WifiDisplayStatus.FEATURE_STATE_UNAVAILABLE) {
MenuItem item = menu.add(Menu.NONE, MENU_ID_ENABLE_WIFI_DISPLAY, 0,
R.string.wifi_display_enable_menu_item);
item.setCheckable(true);
diff --git a/src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java b/src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java
index a93a986..7145460 100644
--- a/src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java
+++ b/src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java
@@ -29,12 +29,14 @@
import android.util.TypedValue;
import android.view.View;
+import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceGroupAdapter;
import androidx.preference.PreferenceScreen;
import androidx.preference.PreferenceViewHolder;
import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.RecyclerView.ViewHolder;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
@@ -159,15 +161,32 @@
root.postDelayed(() -> {
if (ensureHighlightPosition()) {
recyclerView.smoothScrollToPosition(mHighlightPosition);
+ highlightAndFocusTargetItem(recyclerView, mHighlightPosition);
}
}, DELAY_HIGHLIGHT_DURATION_MILLIS);
+ }
- // Highlight preference after 900 milliseconds.
- root.postDelayed(() -> {
- if (ensureHighlightPosition()) {
- notifyItemChanged(mHighlightPosition);
- }
- }, DELAY_COLLAPSE_DURATION_MILLIS + DELAY_HIGHLIGHT_DURATION_MILLIS);
+ private void highlightAndFocusTargetItem(RecyclerView recyclerView, int highlightPosition) {
+ ViewHolder target = recyclerView.findViewHolderForAdapterPosition(highlightPosition);
+ if (target != null) { // view already visible
+ notifyItemChanged(mHighlightPosition);
+ target.itemView.requestFocus();
+ } else { // otherwise we're about to scroll to that view (but we might not be scrolling yet)
+ recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
+ @Override
+ public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
+ if (newState == RecyclerView.SCROLL_STATE_IDLE) {
+ notifyItemChanged(mHighlightPosition);
+ ViewHolder target = recyclerView
+ .findViewHolderForAdapterPosition(highlightPosition);
+ if (target != null) {
+ target.itemView.requestFocus();
+ }
+ recyclerView.removeOnScrollListener(this);
+ }
+ }
+ });
+ }
}
/**
diff --git a/src/com/android/settings/widget/MainSwitchBarController.java b/src/com/android/settings/widget/MainSwitchBarController.java
index 8aa5c9b..455da94 100644
--- a/src/com/android/settings/widget/MainSwitchBarController.java
+++ b/src/com/android/settings/widget/MainSwitchBarController.java
@@ -16,16 +16,16 @@
package com.android.settings.widget;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
/**
* The switch controller that is used to update the switch widget in the SettingsMainSwitchBar.
*/
public class MainSwitchBarController extends SwitchWidgetController implements
- OnMainSwitchChangeListener {
+ OnCheckedChangeListener {
private final SettingsMainSwitchBar mMainSwitch;
@@ -74,7 +74,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (mListener != null) {
mListener.onSwitchToggled(isChecked);
}
diff --git a/src/com/android/settings/widget/SettingsMainSwitchBar.java b/src/com/android/settings/widget/SettingsMainSwitchBar.java
index ac2c136..e8c6fc9 100644
--- a/src/com/android/settings/widget/SettingsMainSwitchBar.java
+++ b/src/com/android/settings/widget/SettingsMainSwitchBar.java
@@ -21,7 +21,6 @@
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
-import android.widget.Switch;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.RestrictedLockUtils;
@@ -39,10 +38,9 @@
public interface OnBeforeCheckedChangeListener {
/**
- * @param switchView The Switch view whose state has changed.
- * @param isChecked The new checked state of switchView.
+ * @param isChecked The new checked state of switchView.
*/
- boolean onBeforeCheckedChanged(Switch switchView, boolean isChecked);
+ boolean onBeforeCheckedChanged(boolean isChecked);
}
private EnforcedAdmin mEnforcedAdmin;
@@ -117,7 +115,7 @@
@Override
public void setChecked(boolean checked) {
if (mOnBeforeListener != null
- && mOnBeforeListener.onBeforeCheckedChanged(mSwitch, checked)) {
+ && mOnBeforeListener.onBeforeCheckedChanged(checked)) {
return;
}
super.setChecked(checked);
diff --git a/src/com/android/settings/widget/SettingsMainSwitchPreference.java b/src/com/android/settings/widget/SettingsMainSwitchPreference.java
index ba17c85..fc43e58 100644
--- a/src/com/android/settings/widget/SettingsMainSwitchPreference.java
+++ b/src/com/android/settings/widget/SettingsMainSwitchPreference.java
@@ -20,7 +20,8 @@
import android.content.Context;
import android.util.AttributeSet;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.preference.PreferenceViewHolder;
import androidx.preference.TwoStatePreference;
@@ -29,7 +30,6 @@
import com.android.settings.widget.SettingsMainSwitchBar.OnBeforeCheckedChangeListener;
import com.android.settingslib.RestrictedPreferenceHelper;
import com.android.settingslib.core.instrumentation.SettingsJankMonitor;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import java.util.ArrayList;
import java.util.List;
@@ -40,11 +40,11 @@
* to enable or disable the preferences on the page.
*/
public class SettingsMainSwitchPreference extends TwoStatePreference implements
- OnMainSwitchChangeListener {
+ OnCheckedChangeListener {
private final List<OnBeforeCheckedChangeListener> mBeforeCheckedChangeListeners =
new ArrayList<>();
- private final List<OnMainSwitchChangeListener> mSwitchChangeListeners = new ArrayList<>();
+ private final List<OnCheckedChangeListener> mSwitchChangeListeners = new ArrayList<>();
private SettingsMainSwitchBar mMainSwitchBar;
private EnforcedAdmin mEnforcedAdmin;
@@ -127,9 +127,9 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
super.setChecked(isChecked);
- SettingsJankMonitor.detectToggleJank(getKey(), switchView);
+ SettingsJankMonitor.detectToggleJank(getKey(), buttonView);
}
/**
@@ -197,7 +197,7 @@
/**
* Adds a listener for switch changes
*/
- public void addOnSwitchChangeListener(OnMainSwitchChangeListener listener) {
+ public void addOnSwitchChangeListener(OnCheckedChangeListener listener) {
if (!mSwitchChangeListeners.contains(listener)) {
mSwitchChangeListeners.add(listener);
}
@@ -209,7 +209,7 @@
/**
* Remove a listener for switch changes
*/
- public void removeOnSwitchChangeListener(OnMainSwitchChangeListener listener) {
+ public void removeOnSwitchChangeListener(OnCheckedChangeListener listener) {
mSwitchChangeListeners.remove(listener);
if (mMainSwitchBar != null) {
mMainSwitchBar.removeOnSwitchChangeListener(listener);
@@ -239,7 +239,7 @@
for (OnBeforeCheckedChangeListener listener : mBeforeCheckedChangeListeners) {
mMainSwitchBar.setOnBeforeCheckedChangeListener(listener);
}
- for (OnMainSwitchChangeListener listener : mSwitchChangeListeners) {
+ for (OnCheckedChangeListener listener : mSwitchChangeListeners) {
mMainSwitchBar.addOnSwitchChangeListener(listener);
}
}
diff --git a/src/com/android/settings/widget/SettingsMainSwitchPreferenceController.java b/src/com/android/settings/widget/SettingsMainSwitchPreferenceController.java
index 5fa9259..60e3388 100644
--- a/src/com/android/settings/widget/SettingsMainSwitchPreferenceController.java
+++ b/src/com/android/settings/widget/SettingsMainSwitchPreferenceController.java
@@ -17,20 +17,20 @@
package com.android.settings.widget;
import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
/**
* Preference controller for MainSwitchPreference.
*/
public abstract class SettingsMainSwitchPreferenceController extends
- TogglePreferenceController implements OnMainSwitchChangeListener {
+ TogglePreferenceController implements OnCheckedChangeListener {
protected MainSwitchPreference mSwitchPreference;
@@ -49,7 +49,7 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mSwitchPreference.setChecked(isChecked);
setChecked(isChecked);
}
diff --git a/src/com/android/settings/wifi/WifiSummaryUpdater.java b/src/com/android/settings/wifi/WifiSummaryUpdater.java
index 93bbe0f..645d2ea 100644
--- a/src/com/android/settings/wifi/WifiSummaryUpdater.java
+++ b/src/com/android/settings/wifi/WifiSummaryUpdater.java
@@ -36,7 +36,7 @@
* Helper class that listeners to wifi callback and notify client when there is update in
* wifi summary info.
*/
-public final class WifiSummaryUpdater extends SummaryUpdater {
+public class WifiSummaryUpdater extends SummaryUpdater {
private final WifiStatusTracker mWifiTracker;
private final BroadcastReceiver mReceiver;
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
index 650536e..a90d627 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
@@ -38,7 +38,8 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.appcompat.app.AlertDialog;
import androidx.preference.Preference;
@@ -55,7 +56,6 @@
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.network.ims.WifiCallingQueryImsState;
import com.android.settings.widget.SettingsMainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import java.util.List;
@@ -64,7 +64,7 @@
* The preference screen lets you enable/disable Wi-Fi Calling and change Wi-Fi Calling mode.
*/
public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
- implements OnMainSwitchChangeListener,
+ implements OnCheckedChangeListener,
Preference.OnPreferenceChangeListener {
private static final String TAG = "WifiCallingForSub";
@@ -125,7 +125,7 @@
if (prefSwitch != null) {
isWfcEnabled = prefSwitch.isChecked();
isCallStateIdle = getTelephonyManagerForSub(
- WifiCallingSettingsForSub.this.mSubId).getCallState()
+ WifiCallingSettingsForSub.this.mSubId).getCallStateForSubscription()
== TelephonyManager.CALL_STATE_IDLE;
boolean isNonTtyOrTtyOnVolteEnabled = true;
@@ -463,7 +463,7 @@
* Listens to the state change of the switch.
*/
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Log.d(TAG, "onSwitchChanged(" + isChecked + ")");
if (!isChecked) {
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
index 5ab8807..b67c848 100644
--- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -59,7 +59,6 @@
import androidx.annotation.VisibleForTesting;
import androidx.core.text.BidiFormatter;
import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceScreen;
import androidx.recyclerview.widget.RecyclerView;
@@ -184,7 +183,6 @@
private Preference mSubnetPref;
private Preference mDnsPref;
private Preference mTypePref;
- private PreferenceCategory mIpv6Category;
private Preference mIpv6AddressPref;
private final IconInjector mIconInjector;
private final Clock mClock;
@@ -376,8 +374,6 @@
mSubnetPref = screen.findPreference(KEY_SUBNET_MASK_PREF);
mDnsPref = screen.findPreference(KEY_DNS_PREF);
mTypePref = screen.findPreference(KEY_WIFI_TYPE_PREF);
-
- mIpv6Category = screen.findPreference(KEY_IPV6_CATEGORY);
mIpv6AddressPref = screen.findPreference(KEY_IPV6_ADDRESSES_PREF);
}
@@ -648,7 +644,7 @@
}
private void refreshSsid() {
- if (mWifiEntry.isSubscription() && mWifiEntry.getSsid() != null) {
+ if (mWifiEntry.shouldShowSsid() && mWifiEntry.getSsid() != null) {
mSsidPref.setVisible(true);
mSsidPref.setSummary(mWifiEntry.getSsid());
} else {
@@ -824,7 +820,7 @@
mSubnetPref.setVisible(false);
mGatewayPref.setVisible(false);
mDnsPref.setVisible(false);
- mIpv6Category.setVisible(false);
+ mIpv6AddressPref.setVisible(false);
return;
}
@@ -864,11 +860,11 @@
updatePreference(mDnsPref, dnsServers);
if (ipv6Addresses.length() > 0) {
+ mIpv6AddressPref.setVisible(true);
mIpv6AddressPref.setSummary(
BidiFormatter.getInstance().unicodeWrap(ipv6Addresses.toString()));
- mIpv6Category.setVisible(true);
} else {
- mIpv6Category.setVisible(false);
+ mIpv6AddressPref.setVisible(false);
}
}
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
index 75a3789..9febba3 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
@@ -32,7 +32,8 @@
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.annotation.VisibleForTesting;
@@ -41,13 +42,12 @@
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
/**
* Controller for logic pertaining to switch Wi-Fi tethering.
*/
public class WifiTetherSwitchBarController implements
- LifecycleObserver, OnStart, OnStop, DataSaverBackend.Listener, OnMainSwitchChangeListener {
+ LifecycleObserver, OnStart, OnStop, DataSaverBackend.Listener, OnCheckedChangeListener {
private static final String TAG = "WifiTetherSBC";
private static final IntentFilter WIFI_INTENT_FILTER;
@@ -101,9 +101,9 @@
}
@Override
- public void onSwitchChanged(Switch switchView, boolean isChecked) {
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// Filter out unnecessary callbacks when switch is disabled.
- if (!switchView.isEnabled()) return;
+ if (!buttonView.isEnabled()) return;
if (isChecked) {
startTether();
diff --git a/tests/robotests/src/com/android/settings/SettingsActivityTest.java b/tests/robotests/src/com/android/settings/SettingsActivityTest.java
index 696fd4c..89f8449 100644
--- a/tests/robotests/src/com/android/settings/SettingsActivityTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsActivityTest.java
@@ -16,8 +16,6 @@
package com.android.settings;
-import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI;
-
import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;
import static com.google.common.truth.Truth.assertThat;
@@ -32,7 +30,6 @@
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
-import android.net.Uri;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
@@ -52,7 +49,6 @@
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
-import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
@@ -118,29 +114,6 @@
assertThat(((ListenerFragment) fragments.get(1)).mOnActivityResultCalled).isTrue();
}
- @Test
- public void getTrampolineIntent_intentSelector_shouldNotChangeIntentAction() {
- Intent targetIntent = new Intent().setClassName("android",
- "com.android.internal.app.PlatLogoActivity");
- Intent intent = new Intent(android.provider.Settings.ACTION_DISPLAY_SETTINGS);
- intent.setComponent(intent.resolveActivity(mContext.getPackageManager()));
- intent.setSelector(new Intent().setData(
- Uri.fromParts(targetIntent.toUri(Intent.URI_INTENT_SCHEME), /* ssp= */ "",
- /* fragment= */ null)));
-
- Intent resultIntent = SettingsActivity.getTrampolineIntent(intent, "menu_key");
-
- String intentUriString =
- resultIntent.getStringExtra(EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI);
- Intent parsedIntent = null;
- try {
- parsedIntent = Intent.parseUri(intentUriString, Intent.URI_INTENT_SCHEME);
- } catch (URISyntaxException e) {
- // Do nothng.
- }
- assertThat(parsedIntent.getAction()).isEqualTo(intent.getAction());
- }
-
public static class ListenerFragment extends Fragment implements OnActivityResultListener {
private boolean mOnActivityResultCalled;
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragmentTest.java
index 995d74f..c105d08 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragmentTest.java
@@ -32,7 +32,6 @@
import android.content.pm.ApplicationInfo;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
-import android.util.FeatureFlagUtils;
import android.view.accessibility.AccessibilityManager;
import androidx.test.core.app.ApplicationProvider;
@@ -158,8 +157,6 @@
@Test
public void onCreate_hearingAidsComponentName_launchAccessibilityHearingAidsFragment() {
- FeatureFlagUtils.setEnabled(mContext,
- FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE, true);
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_COMPONENT_NAME,
ACCESSIBILITY_HEARING_AIDS_COMPONENT_NAME.flattenToString());
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java
index 3333782..bb15378 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java
@@ -18,11 +18,7 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf;
@@ -35,7 +31,6 @@
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
-import android.util.FeatureFlagUtils;
import androidx.preference.Preference;
import androidx.test.core.app.ApplicationProvider;
@@ -111,8 +106,6 @@
@Before
public void setUp() {
- FeatureFlagUtils.setEnabled(mContext,
- FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE, true);
mShadowApplication = shadowOf((Application) ApplicationProvider.getApplicationContext());
setupEnvironment();
@@ -252,37 +245,6 @@
}
@Test
- public void handleHearingAidPreferenceClick_noHearingAid_launchHearingAidInstructionDialog() {
- FeatureFlagUtils.setEnabled(mContext,
- FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE, false);
- mPreferenceController = spy(new AccessibilityHearingAidPreferenceController(mContext,
- HEARING_AID_PREFERENCE));
- mPreferenceController.setPreference(mHearingAidPreference);
- doNothing().when(mPreferenceController).launchHearingAidInstructionDialog();
-
- mPreferenceController.handlePreferenceTreeClick(mHearingAidPreference);
-
- verify(mPreferenceController).launchHearingAidInstructionDialog();
- }
-
- @Test
- public void handleHearingAidPreferenceClick_withHearingAid_launchBluetoothDeviceDetailSetting
- () {
- FeatureFlagUtils.setEnabled(mContext,
- FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE, false);
- mPreferenceController = spy(new AccessibilityHearingAidPreferenceController(mContext,
- HEARING_AID_PREFERENCE));
- mPreferenceController.setPreference(mHearingAidPreference);
- when(mHearingAidProfile.getConnectedDevices()).thenReturn(generateHearingAidDeviceList());
- when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
- doNothing().when(mPreferenceController).launchBluetoothDeviceDetailSetting(any());
-
- mPreferenceController.handlePreferenceTreeClick(mHearingAidPreference);
-
- verify(mPreferenceController).launchBluetoothDeviceDetailSetting(mCachedBluetoothDevice);
- }
-
- @Test
public void onServiceConnected_onHearingAidProfileConnected_updateSummary() {
when(mCachedBluetoothDevice.getDeviceSide()).thenReturn(
HearingAidInfo.DeviceSide.SIDE_LEFT);
diff --git a/tests/robotests/src/com/android/settings/accessibility/CaptioningTogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/CaptioningTogglePreferenceControllerTest.java
index cdc1741..e0a04bc 100644
--- a/tests/robotests/src/com/android/settings/accessibility/CaptioningTogglePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/CaptioningTogglePreferenceControllerTest.java
@@ -142,7 +142,7 @@
public void onSwitchChanged_switchChecked_shouldSetCaptionEnabled() {
mController.displayPreference(mScreen);
- mController.onSwitchChanged(/* switchView= */ null, /* isChecked= */ true);
+ mController.onCheckedChanged(/* buttonView= */ null, /* isChecked= */ true);
assertThat(isCaptionEnabled()).isTrue();
}
@@ -151,7 +151,7 @@
public void onSwitchChanged_switchUnchecked_shouldSetCaptionDisabled() {
mController.displayPreference(mScreen);
- mController.onSwitchChanged(/* switchView= */ null, /* isChecked= */ false);
+ mController.onCheckedChanged(/* buttonView= */ null, /* isChecked= */ false);
assertThat(isCaptionEnabled()).isFalse();
}
diff --git a/tests/robotests/src/com/android/settings/accessibility/PreviewSizeSeekBarControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/PreviewSizeSeekBarControllerTest.java
index 87cd544..14306e0 100644
--- a/tests/robotests/src/com/android/settings/accessibility/PreviewSizeSeekBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/PreviewSizeSeekBarControllerTest.java
@@ -26,31 +26,39 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import android.app.Activity;
import android.content.ComponentName;
-import android.content.Context;
+import android.content.Intent;
import android.os.Bundle;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.view.LayoutInflater;
import android.widget.PopupWindow;
import android.widget.SeekBar;
+import androidx.fragment.app.testing.EmptyFragmentActivity;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
import androidx.preference.PreferenceViewHolder;
import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.rules.ActivityScenarioRule;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.testutils.shadow.ShadowFragment;
-import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor;
import com.android.settings.widget.LabeledSeekBarPreference;
+import com.android.settingslib.testutils.shadow.ShadowInteractionJankMonitor;
+
+import com.google.android.setupcompat.util.WizardManagerHelper;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import org.mockito.Spy;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.annotation.LooperMode;
@@ -64,10 +72,16 @@
@LooperMode(LooperMode.Mode.LEGACY)
@Config(shadows = {ShadowInteractionJankMonitor.class})
public class PreviewSizeSeekBarControllerTest {
+
+ @Rule
+ public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+ @Rule
+ public ActivityScenarioRule<EmptyFragmentActivity> rule =
+ new ActivityScenarioRule<>(EmptyFragmentActivity.class);
private static final String FONT_SIZE_KEY = "font_size";
private static final String KEY_SAVED_QS_TOOLTIP_RESHOW = "qs_tooltip_reshow";
- @Spy
- private final Context mContext = ApplicationProvider.getApplicationContext();
+ private Activity mContext;
private PreviewSizeSeekBarController mSeekBarController;
private FontSizeData mFontSizeData;
private LabeledSeekBarPreference mSeekBarPreference;
@@ -91,7 +105,9 @@
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
+ ShadowInteractionJankMonitor.reset();
+ rule.getScenario().onActivity(activity -> mContext = activity);
mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
mFragment = spy(new TestFragment());
when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager);
@@ -197,6 +213,24 @@
}
@Test
+ @RequiresFlagsEnabled(Flags.FLAG_REMOVE_QS_TOOLTIP_IN_SUW)
+ public void onProgressChanged_inSuw_toolTipShouldNotShown() {
+ Intent intent = mContext.getIntent();
+ intent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true);
+ mContext.setIntent(intent);
+ mSeekBarController.displayPreference(mPreferenceScreen);
+
+ // Simulate changing the progress for the first time
+ int newProgress = (mSeekBarPreference.getProgress() != 0) ? 0 : mSeekBarPreference.getMax();
+ mSeekBarPreference.setProgress(newProgress);
+ mSeekBarPreference.onProgressChanged(new SeekBar(mContext),
+ newProgress,
+ /* fromUser= */ false);
+
+ assertThat(getLatestPopupWindow()).isNull();
+ }
+
+ @Test
public void onProgressChanged_tooltipViewHasBeenShown_notShowTooltipView() {
mSeekBarController.displayPreference(mPreferenceScreen);
// Simulate changing the progress for the first time
diff --git a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizardTest.java b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizardTest.java
index 4ee2a2d..41502b3 100644
--- a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizardTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizardTest.java
@@ -16,11 +16,13 @@
package com.android.settings.accessibility;
+import static com.android.settings.accessibility.TextReadingPreferenceFragment.PREVIEW_KEY;
import static com.android.settings.accessibility.TextReadingPreferenceFragment.RESET_KEY;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
@@ -65,6 +67,9 @@
@Mock
private FragmentActivity mActivity;
+ @Mock
+ private TextReadingPreviewPreference mPreviewPreference;
+
@Spy
private final Context mContext = ApplicationProvider.getApplicationContext();
private TextReadingPreferenceFragmentForSetupWizard mFragment;
@@ -77,6 +82,7 @@
doReturn(mContext).when(mFragment).getContext();
doReturn(mock(LifecycleOwner.class)).when(mFragment).getViewLifecycleOwner();
doReturn(resetPreference).when(mFragment).findPreference(RESET_KEY);
+ doReturn(mPreviewPreference).when(mFragment).findPreference(PREVIEW_KEY);
doReturn(mFooterBarMixin).when(mGlifLayoutView).getMixin(FooterBarMixin.class);
}
@@ -109,4 +115,12 @@
verify(mFooterBarMixin).setPrimaryButton(any());
verify(mFooterBarMixin).setSecondaryButton(any());
}
+
+ @Test
+ public void adjustPreviewPaddingsForSetupWizard_setPreviewLayoutPaddings() {
+ mFragment.adjustPreviewPaddingsForSetupWizard();
+
+ verify(mPreviewPreference).setLayoutMinHorizontalPadding(anyInt());
+ verify(mPreviewPreference).setBackgroundMinHorizontalPadding(anyInt());
+ }
}
diff --git a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewPreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewPreferenceTest.java
index 0162d26..4ca1dca 100644
--- a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewPreferenceTest.java
@@ -28,6 +28,7 @@
import android.content.res.Configuration;
import android.view.LayoutInflater;
import android.view.View;
+import android.widget.FrameLayout;
import android.widget.LinearLayout;
import androidx.preference.PreferenceViewHolder;
@@ -146,6 +147,44 @@
assertThat(mTextReadingPreviewPreference.getCurrentItem()).isEqualTo(currentItem);
}
+ @Test
+ public void adjustPaddings_setMinPaddingsLessThanXMLValue_paddingsNotIncreased() {
+ // get the default xml padding value
+ mTextReadingPreviewPreference.onBindViewHolder(mHolder);
+ final FrameLayout previewLayout = (FrameLayout) mHolder.itemView;
+ final LinearLayout backgroundView = previewLayout.findViewById(R.id.preview_background);
+
+ final int currentLayoutPaddingStart = previewLayout.getPaddingStart();
+ final int currentBackgroundPaddingStart = backgroundView.getPaddingStart();
+ mTextReadingPreviewPreference.setLayoutMinHorizontalPadding(
+ currentLayoutPaddingStart - 10);
+ mTextReadingPreviewPreference.setBackgroundMinHorizontalPadding(
+ currentBackgroundPaddingStart - 10);
+ mTextReadingPreviewPreference.adjustPaddings(previewLayout, backgroundView);
+
+ assertThat(previewLayout.getPaddingStart()).isEqualTo(currentLayoutPaddingStart);
+ assertThat(backgroundView.getPaddingStart()).isEqualTo(currentBackgroundPaddingStart);
+ }
+
+ @Test
+ public void adjustPaddings_setMinPaddingsLargerThanXMLValue_paddingsIncreased() {
+ // get the default xml padding value
+ mTextReadingPreviewPreference.onBindViewHolder(mHolder);
+ final FrameLayout previewLayout = (FrameLayout) mHolder.itemView;
+ final LinearLayout backgroundView = previewLayout.findViewById(R.id.preview_background);
+
+ final int currentLayoutPaddingStart = previewLayout.getPaddingStart();
+ final int currentBackgroundPaddingStart = backgroundView.getPaddingStart();
+ mTextReadingPreviewPreference.setLayoutMinHorizontalPadding(
+ currentLayoutPaddingStart + 10);
+ mTextReadingPreviewPreference.setBackgroundMinHorizontalPadding(
+ currentBackgroundPaddingStart + 10);
+ mTextReadingPreviewPreference.adjustPaddings(previewLayout, backgroundView);
+
+ assertThat(previewLayout.getPaddingStart()).isEqualTo(currentLayoutPaddingStart + 10);
+ assertThat(backgroundView.getPaddingStart()).isEqualTo(currentBackgroundPaddingStart + 10);
+ }
+
private static Configuration[] createConfigurations(int count) {
final Configuration[] configurations = new Configuration[count];
for (int i = 0; i < count; i++) {
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
index 66211a2..2c59c26 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
@@ -60,6 +60,8 @@
import com.android.settings.testutils.shadow.ShadowFragment;
import com.android.settingslib.widget.TopIntroPreference;
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -302,6 +304,20 @@
}
@Test
+ @RequiresFlagsEnabled(com.android.settings.accessibility.Flags.FLAG_REMOVE_QS_TOOLTIP_IN_SUW)
+ @Config(shadows = ShadowFragment.class)
+ public void onPreferenceToggledOnEnabledService_inSuw_toolTipViewShouldNotShow() {
+ Intent suwIntent = new Intent();
+ suwIntent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true);
+ when(mActivity.getIntent()).thenReturn(suwIntent);
+
+ mFragment.onPreferenceToggled(
+ ToggleFeaturePreferenceFragment.KEY_USE_SERVICE_PREFERENCE, /* enabled= */ true);
+
+ assertThat(getLatestPopupWindow()).isNull();
+ }
+
+ @Test
@Config(shadows = ShadowFragment.class)
public void onPreferenceToggledOnEnabledService_tooltipViewShown_notShowTooltipView() {
mFragment.onPreferenceToggled(
diff --git a/tests/robotests/src/com/android/settings/accounts/ManagedProfileQuietModeEnablerTest.java b/tests/robotests/src/com/android/settings/accounts/ManagedProfileQuietModeEnablerTest.java
index 81c44df..305b03a 100644
--- a/tests/robotests/src/com/android/settings/accounts/ManagedProfileQuietModeEnablerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/ManagedProfileQuietModeEnablerTest.java
@@ -19,18 +19,22 @@
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.never;
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.app.admin.flags.Flags;
import android.content.Context;
import android.content.Intent;
import android.content.pm.UserInfo;
import android.os.UserHandle;
import android.os.UserManager;
+import android.platform.test.annotations.RequiresFlagsEnabled;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleOwner;
@@ -42,13 +46,15 @@
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
+import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.annotation.LooperMode;
+import java.util.Arrays;
import java.util.Collections;
+import java.util.List;
-@RunWith(RobolectricTestRunner.class)
+@RunWith(ParameterizedRobolectricTestRunner.class)
@LooperMode(LooperMode.Mode.LEGACY)
public class ManagedProfileQuietModeEnablerTest {
private static final int MANAGED_USER_ID = 10;
@@ -63,6 +69,12 @@
}
};
+ @ParameterizedRobolectricTestRunner.Parameters
+ public static List<?> params() {
+ return Arrays.asList(true, false);
+ }
+ final boolean mEnable;
+
@Mock
private ManagedProfileQuietModeEnabler.QuietModeChangeListener mOnQuietModeChangeListener;
@Mock
@@ -72,6 +84,10 @@
@Mock
private UserInfo mUserInfo;
+ public ManagedProfileQuietModeEnablerTest(boolean enable) {
+ mEnable = enable;
+ }
+
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
@@ -88,10 +104,21 @@
@Test
public void onSetQuietMode_shouldRequestQuietModeEnabled() {
- mQuietModeEnabler.setQuietModeEnabled(false);
- verify(mUserManager).requestQuietModeEnabled(false, mManagedUser);
- mQuietModeEnabler.setQuietModeEnabled(true);
- verify(mUserManager).requestQuietModeEnabled(true, mManagedUser);
+ when(mUserManager.isQuietModeEnabled(any(UserHandle.class))).thenReturn(!mEnable);
+
+ mQuietModeEnabler.setQuietModeEnabled(mEnable);
+
+ verify(mUserManager).requestQuietModeEnabled(mEnable, mManagedUser);
+ }
+
+ @Test
+ @RequiresFlagsEnabled(Flags.FLAG_QUIET_MODE_CREDENTIAL_BUG_FIX)
+ public void onSetQuietMode_ifQuietModeAlreadyInDesiredState_shouldNotRequestQuietModeEnabled() {
+ when(mUserManager.isQuietModeEnabled(any(UserHandle.class))).thenReturn(mEnable);
+
+ mQuietModeEnabler.setQuietModeEnabled(mEnable);
+
+ verify(mUserManager, never()).requestQuietModeEnabled(anyBoolean(), any());
}
@Test
@@ -107,6 +134,7 @@
Intent.EXTRA_USER_HANDLE, MANAGED_USER_ID));
mContext.sendBroadcast(new Intent(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE).putExtra(
Intent.EXTRA_USER_HANDLE, MANAGED_USER_ID));
+
verify(mOnQuietModeChangeListener, times(2)).onQuietModeChanged();
}
@@ -123,6 +151,7 @@
Context.RECEIVER_EXPORTED/*UNAUDITED*/);
mQuietModeEnabler.onStop(mLifecycleOwner);
+
verify(mContext).unregisterReceiver(mQuietModeEnabler.mReceiver);
}
}
diff --git a/tests/robotests/src/com/android/settings/accounts/WorkModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/WorkModePreferenceControllerTest.java
index d6be73d..8b4ebca 100644
--- a/tests/robotests/src/com/android/settings/accounts/WorkModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/WorkModePreferenceControllerTest.java
@@ -40,9 +40,12 @@
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.robolectric.ParameterizedRobolectricTestRunner;
import org.robolectric.RobolectricTestRunner;
+import java.util.Arrays;
import java.util.Collections;
+import java.util.List;
@RunWith(RobolectricTestRunner.class)
public class WorkModePreferenceControllerTest {
@@ -54,6 +57,11 @@
private WorkModePreferenceController mController;
private MainSwitchPreference mPreference;
+ @ParameterizedRobolectricTestRunner.Parameters
+ public static List<?> params() {
+ return Arrays.asList(true, false);
+ }
+ final boolean mEnable;
@Mock
private UserManager mUserManager;
@Mock
@@ -65,6 +73,10 @@
@Mock
Switch mSwitch;
+ public WorkModePreferenceControllerTest(boolean enable) {
+ mEnable = enable;
+ }
+
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
@@ -99,28 +111,19 @@
@Test
public void updateState_shouldRefreshContent() {
when(mUserManager.isQuietModeEnabled(any(UserHandle.class)))
- .thenReturn(false);
+ .thenReturn(mEnable);
mController.updateState(mPreference);
- assertThat(mPreference.isChecked()).isTrue();
-
- when(mUserManager.isQuietModeEnabled(any(UserHandle.class)))
- .thenReturn(true);
-
- mController.updateState(mPreference);
-
- assertThat(mPreference.isChecked()).isFalse();
+ assertThat(mPreference.isChecked()).isEqualTo(!mEnable);
}
@Test
public void onPreferenceChange_shouldRequestQuietModeEnabled() {
- mController.onSwitchChanged(mSwitch, true);
+ when(mUserManager.isQuietModeEnabled(any(UserHandle.class))).thenReturn(mEnable);
- verify(mUserManager).requestQuietModeEnabled(false, mManagedUser);
+ mController.onCheckedChanged(mSwitch, mEnable);
- mController.onSwitchChanged(mSwitch, false);
-
- verify(mUserManager).requestQuietModeEnabled(true, mManagedUser);
+ verify(mUserManager).requestQuietModeEnabled(!mEnable, mManagedUser);
}
}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java b/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java
index 78cfd36..85d1b78 100644
--- a/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java
+++ b/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java
@@ -98,7 +98,7 @@
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
+ when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
mFakeFeatureFlags = new FakeFeatureFlagsImpl();
mFakeFeatureFlags.setFlag(Flags.FLAG_ARCHIVING, true);
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintPreferenceTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintPreferenceTest.java
index 116591d..c8c867c 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintPreferenceTest.java
@@ -21,6 +21,7 @@
import static org.mockito.Mockito.verify;
import android.content.Context;
+import android.hardware.fingerprint.Fingerprint;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
@@ -60,6 +61,21 @@
}
@Test
+ public void deleteContentDescription() {
+ final FrameLayout layout = new FrameLayout(mContext);
+ LayoutInflater.from(mContext).inflate(mPreference.getSecondTargetResId(), layout, true);
+ final String fingerprintName = "fingerprint test";
+ mPreference.setFingerprint(new Fingerprint(fingerprintName, 0, 0));
+ final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(layout);
+ mPreference.onBindViewHolder(holder);
+
+ final View view = layout.findViewById(R.id.delete_button);
+ String expectedContentDescription =
+ mContext.getString(R.string.delete) + " " + fingerprintName;
+ assertThat(view.getContentDescription().toString()).isEqualTo(expectedContentDescription);
+ }
+
+ @Test
public void bindAndClickDeleteButton_shouldInvokeOnDeleteListener() {
final FrameLayout layout = new FrameLayout(mContext);
LayoutInflater.from(mContext).inflate(mPreference.getSecondTargetResId(), layout, true);
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsControllerTest.java
index bf4e055..364d299 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsControllerTest.java
@@ -23,7 +23,6 @@
import android.content.Context;
import android.content.Intent;
-import android.util.FeatureFlagUtils;
import androidx.preference.Preference;
@@ -63,8 +62,6 @@
@Test
public void isAvailable_isHearingAidDevice_available() {
- FeatureFlagUtils.setEnabled(mContext,
- FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE, true);
when(mCachedDevice.isHearingAidDevice()).thenReturn(true);
assertThat(mController.isAvailable()).isTrue();
@@ -72,8 +69,6 @@
@Test
public void isAvailable_isNotHearingAidDevice_notAvailable() {
- FeatureFlagUtils.setEnabled(mContext,
- FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE, true);
when(mCachedDevice.isHearingAidDevice()).thenReturn(false);
assertThat(mController.isAvailable()).isFalse();
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
index d381975..1d1f2f8 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
@@ -56,6 +56,9 @@
private static final String KEY_FAST_PAIR_DEVICE_SEE_ALL = "fast_pair_devices_see_all";
private static final String KEY_FAST_PAIR_DEVICE_LIST = "fast_pair_devices";
private static final String KEY_ADD_BT_DEVICES = "add_bt_devices";
+ private static final String KEY_AUDIO_SHARING_DEVICE_LIST = "audio_sharing_device_list";
+ private static final String KEY_AUDIO_SHARING_SETTINGS =
+ "connected_device_audio_sharing_settings";
private static final String SETTINGS_PACKAGE_NAME = "com.android.settings";
private static final String SYSTEMUI_PACKAGE_NAME = "com.android.systemui";
private static final String SLICE_ACTION = "com.android.settings.SEARCH_RESULT_TRAMPOLINE";
@@ -93,9 +96,17 @@
final List<String> niks = ConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
.getNonIndexableKeys(mContext);
- assertThat(niks).containsExactly(KEY_CONNECTED_DEVICES, KEY_AVAILABLE_DEVICES,
- KEY_NEARBY_DEVICES, KEY_DISCOVERABLE_FOOTER, KEY_SAVED_DEVICE_SEE_ALL,
- KEY_FAST_PAIR_DEVICE_SEE_ALL, KEY_FAST_PAIR_DEVICE_LIST);
+ assertThat(niks)
+ .containsExactly(
+ KEY_CONNECTED_DEVICES,
+ KEY_AVAILABLE_DEVICES,
+ KEY_NEARBY_DEVICES,
+ KEY_DISCOVERABLE_FOOTER,
+ KEY_SAVED_DEVICE_SEE_ALL,
+ KEY_FAST_PAIR_DEVICE_SEE_ALL,
+ KEY_FAST_PAIR_DEVICE_LIST,
+ KEY_AUDIO_SHARING_DEVICE_LIST,
+ KEY_AUDIO_SHARING_SETTINGS);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
index b521be1..a540d28 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
@@ -16,6 +16,8 @@
package com.android.settings.connecteddevice.stylus;
+import static android.view.KeyEvent.KEYCODE_STYLUS_BUTTON_TAIL;
+
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertEquals;
@@ -52,7 +54,7 @@
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
@@ -139,6 +141,8 @@
.setSources(InputDevice.SOURCE_STYLUS)
.build());
when(mInputDevice.getBluetoothAddress()).thenReturn("SOME:ADDRESS");
+ when(mInputDevice.hasKeys(KEYCODE_STYLUS_BUTTON_TAIL)).thenReturn(
+ new boolean[]{true});
mController = new StylusDevicesController(mContext, mInputDevice, null, mLifecycle);
}
@@ -221,6 +225,28 @@
}
@Test
+ public void usiStylusInputDevice_doesntSupportTailButton_tailButtonPreferenceNotShown() {
+ when(mInputDevice.hasKeys(KEYCODE_STYLUS_BUTTON_TAIL)).thenReturn(new boolean[]{false});
+ when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_DEVICE_TYPE)).thenReturn(
+ BluetoothDevice.DEVICE_TYPE_WATCH.getBytes());
+ StylusDevicesController controller = new StylusDevicesController(
+ mContext, mInputDevice, mCachedBluetoothDevice, mLifecycle
+ );
+
+ showScreen(controller);
+ Preference handwritingPref = mPreferenceContainer.getPreference(0);
+ Preference buttonPref = mPreferenceContainer.getPreference(1);
+
+ assertThat(mPreferenceContainer.getPreferenceCount()).isEqualTo(2);
+ assertThat(handwritingPref.getTitle().toString()).isEqualTo(
+ mContext.getString(R.string.stylus_textfield_handwriting));
+ assertThat(handwritingPref.isVisible()).isTrue();
+ assertThat(buttonPref.getTitle().toString()).isEqualTo(
+ mContext.getString(R.string.stylus_ignore_button));
+ assertThat(buttonPref.isVisible()).isTrue();
+ }
+
+ @Test
public void btStylusInputDevice_showsAllPreferences() {
showScreen(mController);
Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
@@ -492,7 +518,8 @@
Settings.Secure.STYLUS_BUTTONS_ENABLED, 0);
showScreen(mController);
- SwitchPreference buttonsPref = (SwitchPreference) mPreferenceContainer.getPreference(2);
+ SwitchPreferenceCompat buttonsPref =
+ (SwitchPreferenceCompat) mPreferenceContainer.getPreference(2);
assertThat(buttonsPref.isChecked()).isEqualTo(true);
}
@@ -503,7 +530,8 @@
Settings.Secure.STYLUS_BUTTONS_ENABLED, 1);
showScreen(mController);
- SwitchPreference buttonsPref = (SwitchPreference) mPreferenceContainer.getPreference(2);
+ SwitchPreferenceCompat buttonsPref =
+ (SwitchPreferenceCompat) mPreferenceContainer.getPreference(2);
assertThat(buttonsPref.isChecked()).isEqualTo(false);
}
@@ -513,7 +541,8 @@
Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.STYLUS_BUTTONS_ENABLED, 0);
showScreen(mController);
- SwitchPreference buttonsPref = (SwitchPreference) mPreferenceContainer.getPreference(2);
+ SwitchPreferenceCompat buttonsPref =
+ (SwitchPreferenceCompat) mPreferenceContainer.getPreference(2);
buttonsPref.performClick();
diff --git a/tests/robotests/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriterTest.java b/tests/robotests/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriterTest.java
deleted file mode 100644
index 30a2594..0000000
--- a/tests/robotests/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriterTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.core.instrumentation;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-
-import com.android.settings.intelligence.LogProto.SettingsLog;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RuntimeEnvironment;
-
-import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-public class SettingsIntelligenceLogWriterTest {
- private Context mContext;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
- }
-
- @Test
- public void serialize_hasSizeOne_returnCorrectData() throws IOException {
- final SettingsLog event = SettingsLog.newBuilder()
- .setAttribution(SettingsEnums.DASHBOARD_SUMMARY)
- .setAction(SettingsEnums.ACTION_SET_NEW_PASSWORD)
- .setPageId(SettingsEnums.SET_NEW_PASSWORD_ACTIVITY)
- .setChangedPreferenceKey("package")
- .setChangedPreferenceIntValue(100)
- .build();
- List<SettingsLog> events = new ArrayList<>();
- events.add(event);
-
- // execute
- final byte[] data = SettingsIntelligenceLogWriter.serialize(events);
-
- // parse data
- final ByteArrayInputStream bin = new ByteArrayInputStream(data);
- final DataInputStream inputStream = new DataInputStream(bin);
- final int size = inputStream.readInt();
- final byte[] change = new byte[inputStream.readInt()];
- inputStream.read(change);
- inputStream.close();
- final SettingsLog settingsLog = SettingsLog.parseFrom(change);
-
- // assert
- assertThat(events.size()).isEqualTo(size);
- assertThat(settingsLog.getAttribution()).isEqualTo(SettingsEnums.DASHBOARD_SUMMARY);
- assertThat(settingsLog.getAction()).isEqualTo(SettingsEnums.ACTION_SET_NEW_PASSWORD);
- assertThat(settingsLog.getPageId()).isEqualTo(SettingsEnums.SET_NEW_PASSWORD_ACTIVITY);
- assertThat(settingsLog.getChangedPreferenceKey()).isEqualTo("package");
- assertThat(settingsLog.getChangedPreferenceIntValue()).isEqualTo(100);
- }
-}
diff --git a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java
index 056935c..0f0de56 100644
--- a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java
@@ -18,6 +18,7 @@
import static android.content.Intent.EXTRA_USER_ID;
+import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.EXTRA_PROFILE;
import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.PERSONAL_TAB;
import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.PRIVATE_TAB;
import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.WORK_TAB;
@@ -255,6 +256,37 @@
assertThat(fragments).hasLength(3);
}
+ @Test
+ public void testGetFragments_whenAvailableBundle_returnsFragmentsWithCorrectBundles() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+ Bundle bundle = new Bundle();
+ Fragment[] fragments = ProfileSelectFragment.getFragments(
+ mContext,
+ bundle,
+ TestProfileSelectFragment::new,
+ TestProfileSelectFragment::new,
+ TestProfileSelectFragment::new,
+ new ProfileSelectFragment.PrivateSpaceInfoProvider() {
+ @Override
+ public boolean isPrivateSpaceLocked(Context context) {
+ return false;
+ }
+ },
+ new ProfileSelectFragment.ManagedProfileInfoProvider() {
+ @Override
+ public UserHandle getManagedProfile(Context context) {
+ return new UserHandle(123);
+ }
+ });
+ assertThat(fragments).hasLength(3);
+ assertThat(fragments[0].getArguments().getInt(EXTRA_PROFILE))
+ .isEqualTo(ProfileSelectFragment.ProfileType.PERSONAL);
+ assertThat(fragments[1].getArguments().getInt(EXTRA_PROFILE))
+ .isEqualTo(ProfileSelectFragment.ProfileType.WORK);
+ assertThat(fragments[2].getArguments().getInt(EXTRA_PROFILE))
+ .isEqualTo(ProfileSelectFragment.ProfileType.PRIVATE);
+ }
+
public static class TestProfileSelectFragment extends ProfileSelectFragment {
@Override
diff --git a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java
index 7b7c7a6..1d841fa 100644
--- a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java
@@ -239,6 +239,7 @@
ReflectionHelpers.setField(mFragment, "mUnrestrictedData", unrestrictedDataPref);
ReflectionHelpers.setField(mFragment, "mDataSaverBackend", dataSaverBackend);
ReflectionHelpers.setField(mFragment.services, "mPolicyManager", networkPolicyManager);
+ ReflectionHelpers.setField(mFragment, "mContext", RuntimeEnvironment.application);
when(mFragment.getListView()).thenReturn(mock(RecyclerView.class));
ShadowRestrictedLockUtilsInternal.setRestricted(true);
diff --git a/tests/robotests/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarControllerTest.java
index 17283cf..9841a0f 100644
--- a/tests/robotests/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarControllerTest.java
@@ -80,7 +80,7 @@
@Test
public void onSwitchChanged_false_recordsAMetric() {
- mController.onSwitchChanged(null, false);
+ mController.onCheckedChanged(null, false);
verify(mMetricsFeatureProvider)
.action(
@@ -91,7 +91,7 @@
@Test
public void onSwitchChanged_true_recordsAMetric() {
- mController.onSwitchChanged(null, true);
+ mController.onCheckedChanged(null, true);
verify(mMetricsFeatureProvider)
.action(
@@ -102,7 +102,7 @@
@Test
public void onSwitchChanged_showWarningFragmentIfNotEnabledByDefault() {
- mController.onSwitchChanged(null, true);
+ mController.onCheckedChanged(null, true);
verify(mFragmentManager.beginTransaction())
.add(any(Fragment.class), eq(ActivationWarningFragment.TAG));
@@ -112,7 +112,7 @@
public void onSwitchChange_doNotShowWarningFragmentIfEnabledByDefault() {
SystemProperties.set("ro.storage_manager.enabled", "true");
- mController.onSwitchChanged(null, true);
+ mController.onCheckedChanged(null, true);
verify(mFragmentManager.beginTransaction(), never())
.add(any(Fragment.class), eq(ActivationWarningFragment.TAG));
diff --git a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
index 3189b47..37a4aea 100644
--- a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
@@ -160,7 +160,7 @@
Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
- mDashboard.onSwitchChanged(null, false /* isChecked */);
+ mDashboard.onCheckedChanged(null, false /* isChecked */);
assertThat(ShadowEnableDevelopmentSettingWarningDialog.mShown).isFalse();
}
@@ -172,7 +172,7 @@
Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
- mDashboard.onSwitchChanged(null, true /* isChecked */);
+ mDashboard.onCheckedChanged(null, true /* isChecked */);
assertThat(ShadowEnableDevelopmentSettingWarningDialog.mShown).isTrue();
}
@@ -184,7 +184,7 @@
Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
- mDashboard.onSwitchChanged(null, false /* isChecked */);
+ mDashboard.onCheckedChanged(null, false /* isChecked */);
assertThat(ShadowEnableDevelopmentSettingWarningDialog.mShown).isFalse();
assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isFalse();
@@ -203,7 +203,7 @@
Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
- mDashboard.onSwitchChanged(null, false /* isChecked */);
+ mDashboard.onCheckedChanged(null, false /* isChecked */);
AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNotNull();
diff --git a/tests/robotests/src/com/android/settings/development/DevelopmentSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/development/DevelopmentSwitchBarControllerTest.java
index f776536..34d22e0 100644
--- a/tests/robotests/src/com/android/settings/development/DevelopmentSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/DevelopmentSwitchBarControllerTest.java
@@ -24,6 +24,7 @@
import static org.mockito.Mockito.when;
import android.content.Context;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import androidx.lifecycle.LifecycleOwner;
@@ -31,7 +32,6 @@
import com.android.settings.testutils.shadow.ShadowUtils;
import com.android.settings.widget.SettingsMainSwitchBar;
import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import org.junit.After;
import org.junit.Before;
@@ -78,7 +78,7 @@
ShadowUtils.setIsUserAMonkey(true);
new DevelopmentSwitchBarController(mSettings, mSwitchBar,
true /* isAvailable */, mLifecycle);
- final List<OnMainSwitchChangeListener> listeners =
+ final List<OnCheckedChangeListener> listeners =
ReflectionHelpers.getField(mSwitchBar, "mSwitchChangeListeners");
mLifecycle.handleLifecycleEvent(ON_START);
@@ -93,7 +93,7 @@
ShadowUtils.setIsUserAMonkey(false);
new DevelopmentSwitchBarController(mSettings, mSwitchBar,
true /* isAvailable */, mLifecycle);
- final List<OnMainSwitchChangeListener> listeners =
+ final List<OnCheckedChangeListener> listeners =
ReflectionHelpers.getField(mSwitchBar, "mSwitchChangeListeners");
mLifecycle.handleLifecycleEvent(ON_START);
@@ -109,7 +109,7 @@
ShadowUtils.setIsUserAMonkey(false);
new DevelopmentSwitchBarController(mSettings, mSwitchBar,
true /* isAvailable */, mLifecycle);
- final List<OnMainSwitchChangeListener> listeners =
+ final List<OnCheckedChangeListener> listeners =
ReflectionHelpers.getField(mSwitchBar, "mSwitchChangeListeners");
mLifecycle.handleLifecycleEvent(ON_START);
diff --git a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerTest.java b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerTest.java
index 686df7a..e623eb8 100644
--- a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerTest.java
@@ -19,7 +19,6 @@
import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.ANGLE_DRIVER_SUFFIX;
import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.PROPERTY_DEBUG_ANGLE_DEVELOPER_OPTION;
import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.PROPERTY_PERSISTENT_GRAPHICS_EGL;
-import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.PROPERTY_RO_GFX_ANGLE_SUPPORTED;
import static com.google.common.truth.Truth.assertThat;
@@ -83,7 +82,6 @@
@Test
public void onPreferenceChange_switchOn_shouldEnableAngleAsSystemDriver() {
- ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
// since GraphicsEnvironment is mocked in Robolectric test environment,
// we will override the system property persist.graphics.egl as if it is changed by
// mGraphicsEnvironment.toggleAngleAsSystemDriver(true).
@@ -100,7 +98,6 @@
@Test
public void onPreferenceChange_switchOff_shouldDisableAngleAsSystemDriver() {
- ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
// since GraphicsEnvironment is mocked in Robolectric test environment,
// we will override the system property persist.graphics.egl as if it is changed by
// mGraphicsEnvironment.toggleAngleAsSystemDriver(false).
@@ -116,30 +113,14 @@
}
@Test
- public void updateState_angleNotSupported_preferenceShouldNotBeChecked() {
- ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "");
- mController.updateState(mPreference);
- verify(mPreference).setChecked(false);
- }
-
- @Test
- public void updateState_angleNotSupported_preferenceShouldNotBeEnabled() {
- ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "");
- mController.updateState(mPreference);
- verify(mPreference).setEnabled(false);
- }
-
- @Test
- public void updateState_angleSupported_angleUsed_preferenceShouldBeChecked() {
- ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
+ public void updateState_angleUsed_preferenceShouldBeChecked() {
ShadowSystemProperties.override(PROPERTY_PERSISTENT_GRAPHICS_EGL, ANGLE_DRIVER_SUFFIX);
mController.updateState(mPreference);
verify(mPreference).setChecked(true);
}
@Test
- public void updateState_angleSupported_angleNotUsed_preferenceShouldNotBeChecked() {
- ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
+ public void updateState_angleNotUsed_preferenceShouldNotBeChecked() {
ShadowSystemProperties.override(PROPERTY_PERSISTENT_GRAPHICS_EGL, "");
mController.updateState(mPreference);
verify(mPreference).setChecked(false);
@@ -147,7 +128,6 @@
@Test
public void onDeveloperOptionSwitchDisabled_shouldDisableAngleAsSystemDriver() {
- ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
mController.onDeveloperOptionsSwitchDisabled();
final String systemEGLDriver = SystemProperties.get(PROPERTY_PERSISTENT_GRAPHICS_EGL);
assertThat(systemEGLDriver).isEqualTo("");
@@ -155,14 +135,12 @@
@Test
public void onDeveloperOptionSwitchDisabled_preferenceShouldNotBeChecked() {
- ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
mController.onDeveloperOptionsSwitchDisabled();
verify(mPreference).setChecked(false);
}
@Test
public void onDeveloperOptionsSwitchDisabled_preferenceShouldNotBeEnabled() {
- ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
mController.onDeveloperOptionsSwitchDisabled();
verify(mPreference).setEnabled(false);
}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceControllerTest.java
index 9129906..a326061 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceControllerTest.java
@@ -18,8 +18,8 @@
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
-import static com.android.settings.deviceinfo.firmwareversion.MainlineModuleVersionPreferenceController.MODULE_UPDATE_INTENT;
-import static com.android.settings.deviceinfo.firmwareversion.MainlineModuleVersionPreferenceController.MODULE_UPDATE_V2_INTENT;
+import static com.android.settings.deviceinfo.firmwareversion.MainlineModuleVersionPreferenceController.MODULE_UPDATE_INTENT_ACTION;
+import static com.android.settings.deviceinfo.firmwareversion.MainlineModuleVersionPreferenceController.MODULE_UPDATE_V2_INTENT_ACTION;
import static com.google.common.truth.Truth.assertThat;
@@ -29,13 +29,18 @@
import static org.mockito.Mockito.when;
import android.content.Context;
+import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import androidx.preference.Preference;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -46,6 +51,15 @@
@RunWith(RobolectricTestRunner.class)
public class MainlineModuleVersionPreferenceControllerTest {
+ private static final String MODULE_PACKAGE = "com.android.vending";
+ private static final Intent MODULE_UPDATE_V2_INTENT =
+ new Intent(MODULE_UPDATE_V2_INTENT_ACTION).setPackage(MODULE_PACKAGE);
+ private static final Intent MODULE_UPDATE_INTENT =
+ new Intent(MODULE_UPDATE_INTENT_ACTION).setPackage(MODULE_PACKAGE);
+
+ @Rule
+ public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
@Mock
private PackageManager mPackageManager;
@@ -58,6 +72,9 @@
mContext = spy(RuntimeEnvironment.application);
mPreference = new Preference(mContext);
when(mContext.getPackageManager()).thenReturn(mPackageManager);
+ when(mContext
+ .getString(com.android.settings.R.string.config_mainline_module_update_package))
+ .thenReturn(MODULE_PACKAGE);
}
@Test
@@ -123,6 +140,7 @@
assertThat(mPreference.isSelectable()).isTrue();
}
+ @RequiresFlagsEnabled(com.android.settings.flags.Flags.FLAG_MAINLINE_MODULE_EXPLICIT_INTENT)
@Test
public void updateState_canHandleIntent_setIntentToPreference() throws Exception {
setupModulePackage("test version 123");
@@ -137,6 +155,7 @@
assertThat(mPreference.getIntent()).isEqualTo(MODULE_UPDATE_INTENT);
}
+ @RequiresFlagsEnabled(com.android.settings.flags.Flags.FLAG_MAINLINE_MODULE_EXPLICIT_INTENT)
@Test
public void updateState_canHandleIntent_preferenceShouldBeSelectable() throws Exception {
setupModulePackage("test version 123");
@@ -151,6 +170,7 @@
assertThat(mPreference.isSelectable()).isTrue();
}
+ @RequiresFlagsEnabled(com.android.settings.flags.Flags.FLAG_MAINLINE_MODULE_EXPLICIT_INTENT)
@Test
public void updateState_cannotHandleIntent_setNullToPreference() throws Exception {
setupModulePackage("test version 123");
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/legal/ModuleLicensePreferenceTest.java b/tests/robotests/src/com/android/settings/deviceinfo/legal/ModuleLicensePreferenceTest.java
index 08eec9e..1352402 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/legal/ModuleLicensePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/legal/ModuleLicensePreferenceTest.java
@@ -24,7 +24,6 @@
import android.content.pm.ModuleInfo;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.MockitoAnnotations;
@@ -57,7 +56,6 @@
}
@Test
- @Ignore
public void onClick_sendsCorrectIntent() {
ModuleLicensePreference pref = new ModuleLicensePreference(mContext, mModuleInfo);
@@ -69,7 +67,7 @@
.isEqualTo(ModuleLicenseProvider.getUriForPackage(PACKAGE_NAME));
assertThat(intent.getType()).isEqualTo(ModuleLicenseProvider.LICENSE_FILE_MIME_TYPE);
assertThat(intent.getCharSequenceExtra(Intent.EXTRA_TITLE)).isEqualTo(NAME);
- assertThat(intent.getFlags()).isEqualTo(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ assertThat((intent.getFlags() & Intent.FLAG_GRANT_READ_URI_PERMISSION)).isNotEqualTo(0);
assertThat(intent.getCategories()).contains(Intent.CATEGORY_DEFAULT);
assertThat(intent.getPackage()).isEqualTo("com.android.htmlviewer");
}
diff --git a/tests/robotests/src/com/android/settings/display/ControlsTrivialPrivacyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/ControlsTrivialPrivacyPreferenceControllerTest.java
index a82e1f1..03bf763 100644
--- a/tests/robotests/src/com/android/settings/display/ControlsTrivialPrivacyPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/ControlsTrivialPrivacyPreferenceControllerTest.java
@@ -20,6 +20,7 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.spy;
@@ -220,7 +221,7 @@
final ResolveInfo resolveInfo = new ResolveInfo();
resolveInfo.activityInfo = activityInfo;
- when(mPackageManager.resolveActivity(any(), any())).thenReturn(resolveInfo);
+ when(mPackageManager.resolveActivity(any(), anyInt())).thenReturn(resolveInfo);
}
}
}
diff --git a/tests/robotests/src/com/android/settings/display/NightDisplayActivationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/NightDisplayActivationPreferenceControllerTest.java
index d084c51..5c38411 100644
--- a/tests/robotests/src/com/android/settings/display/NightDisplayActivationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/NightDisplayActivationPreferenceControllerTest.java
@@ -104,7 +104,7 @@
final NightDisplayActivationPreferenceController controller =
new NightDisplayActivationPreferenceController(mContext, "night_display_activated");
- controller.onSwitchChanged(null, true);
+ controller.onCheckedChanged(null, true);
assertThat(mColorDisplayManager.isNightDisplayActivated()).isEqualTo(true);
}
@@ -115,7 +115,7 @@
final NightDisplayActivationPreferenceController controller =
new NightDisplayActivationPreferenceController(mContext, "night_display_activated");
- controller.onSwitchChanged(null, false);
+ controller.onCheckedChanged(null, false);
assertThat(mColorDisplayManager.isNightDisplayActivated()).isEqualTo(false);
}
diff --git a/tests/robotests/src/com/android/settings/dream/DreamMainSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/dream/DreamMainSwitchPreferenceControllerTest.java
index fb55164..924c63a 100644
--- a/tests/robotests/src/com/android/settings/dream/DreamMainSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/dream/DreamMainSwitchPreferenceControllerTest.java
@@ -28,7 +28,6 @@
import com.android.settingslib.dream.DreamBackend;
import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
import org.junit.After;
import org.junit.Before;
@@ -53,8 +52,6 @@
private DreamMainSwitchPreferenceController mController;
private MainSwitchPreference mPreference;
private DreamBackend mBackend;
- @Mock
- private OnMainSwitchChangeListener mChangeListener;
private ShadowContentResolver mShadowContentResolver;
@Before
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index 80486cb..d01d7e0 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -78,11 +78,12 @@
import java.util.concurrent.TimeUnit;
@RunWith(RobolectricTestRunner.class)
-@Config(shadows = {
- ShadowEntityHeaderController.class,
- ShadowActivityManager.class,
- com.android.settings.testutils.shadow.ShadowFragment.class,
-})
+@Config(
+ shadows = {
+ ShadowEntityHeaderController.class,
+ ShadowActivityManager.class,
+ com.android.settings.testutils.shadow.ShadowFragment.class,
+ })
public class AdvancedPowerUsageDetailTest {
private static final String APP_LABEL = "app label";
private static final String SUMMARY = "summary";
@@ -99,30 +100,19 @@
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private FragmentActivity mActivity;
- @Mock
- private EntityHeaderController mEntityHeaderController;
- @Mock
- private LayoutPreference mHeaderPreference;
- @Mock
- private ApplicationsState mState;
- @Mock
- private ApplicationsState.AppEntry mAppEntry;
- @Mock
- private Bundle mBundle;
- @Mock
- private BatteryEntry mBatteryEntry;
- @Mock
- private PackageManager mPackageManager;
- @Mock
- private InstallSourceInfo mInstallSourceInfo;
- @Mock
- private AppOpsManager mAppOpsManager;
- @Mock
- private LoaderManager mLoaderManager;
- @Mock
- private BatteryOptimizeUtils mBatteryOptimizeUtils;
- @Mock
- private BackupManager mBackupManager;
+
+ @Mock private EntityHeaderController mEntityHeaderController;
+ @Mock private LayoutPreference mHeaderPreference;
+ @Mock private ApplicationsState mState;
+ @Mock private ApplicationsState.AppEntry mAppEntry;
+ @Mock private Bundle mBundle;
+ @Mock private BatteryEntry mBatteryEntry;
+ @Mock private PackageManager mPackageManager;
+ @Mock private InstallSourceInfo mInstallSourceInfo;
+ @Mock private AppOpsManager mAppOpsManager;
+ @Mock private LoaderManager mLoaderManager;
+ @Mock private BatteryOptimizeUtils mBatteryOptimizeUtils;
+ @Mock private BackupManager mBackupManager;
private Context mContext;
private PrimarySwitchPreference mAllowBackgroundUsagePreference;
@@ -149,19 +139,26 @@
doReturn(mLoaderManager).when(mFragment).getLoaderManager();
ShadowEntityHeaderController.setUseMock(mEntityHeaderController);
- doReturn(mEntityHeaderController).when(mEntityHeaderController)
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
.setButtonActions(anyInt(), anyInt());
- doReturn(mEntityHeaderController).when(mEntityHeaderController)
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
.setIcon(nullable(Drawable.class));
- doReturn(mEntityHeaderController).when(mEntityHeaderController).setIcon(nullable(
- ApplicationsState.AppEntry.class));
- doReturn(mEntityHeaderController).when(mEntityHeaderController)
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
+ .setIcon(nullable(ApplicationsState.AppEntry.class));
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
.setLabel(nullable(String.class));
- doReturn(mEntityHeaderController).when(mEntityHeaderController)
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
.setLabel(nullable(String.class));
- doReturn(mEntityHeaderController).when(mEntityHeaderController)
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
.setLabel(nullable(ApplicationsState.AppEntry.class));
- doReturn(mEntityHeaderController).when(mEntityHeaderController)
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
.setSummary(nullable(String.class));
when(mBatteryEntry.getUid()).thenReturn(UID);
@@ -184,13 +181,15 @@
final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
- Answer<Void> callable = invocation -> {
- mBundle = captor.getValue().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
- System.out.println("mBundle = " + mBundle);
- return null;
- };
- doAnswer(callable).when(mActivity).startActivityAsUser(captor.capture(),
- nullable(UserHandle.class));
+ Answer<Void> callable =
+ invocation -> {
+ mBundle = captor.getValue().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+ System.out.println("mBundle = " + mBundle);
+ return null;
+ };
+ doAnswer(callable)
+ .when(mActivity)
+ .startActivityAsUser(captor.capture(), nullable(UserHandle.class));
doAnswer(callable).when(mActivity).startActivity(captor.capture());
mAllowBackgroundUsagePreference = new PrimarySwitchPreference(mContext);
@@ -219,7 +218,9 @@
@Test
public void initHeader_HasAppEntry_BuildByAppEntry() {
- ReflectionHelpers.setStaticField(AppUtils.class, "sInstantAppDataProvider",
+ ReflectionHelpers.setStaticField(
+ AppUtils.class,
+ "sInstantAppDataProvider",
new InstantAppDataProvider() {
@Override
public boolean isInstantApp(ApplicationInfo info) {
@@ -236,7 +237,9 @@
@Test
public void initHeader_HasAppEntry_InstantApp() {
- ReflectionHelpers.setStaticField(AppUtils.class, "sInstantAppDataProvider",
+ ReflectionHelpers.setStaticField(
+ AppUtils.class,
+ "sInstantAppDataProvider",
new InstantAppDataProvider() {
@Override
public boolean isInstantApp(ApplicationInfo info) {
@@ -253,16 +256,13 @@
@Test
public void startBatteryDetailPage_invalidToShowSummary_noFGBDData() {
- AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment,
- mBatteryEntry, USAGE_PERCENT);
+ AdvancedPowerUsageDetail.startBatteryDetailPage(
+ mActivity, mFragment, mBatteryEntry, USAGE_PERCENT);
assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_UID)).isEqualTo(UID);
- assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME))
- .isEqualTo(0);
- assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME))
- .isEqualTo(0);
- assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME))
- .isEqualTo(0);
+ assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME)).isEqualTo(0);
+ assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME)).isEqualTo(0);
+ assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME)).isEqualTo(0);
assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT))
.isEqualTo(USAGE_PERCENT);
}
@@ -276,18 +276,22 @@
verify(mActivity).startActivity(captor.capture());
- assertThat(captor.getValue().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS)
- .getString(AdvancedPowerUsageDetail.EXTRA_PACKAGE_NAME))
+ assertThat(
+ captor.getValue()
+ .getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS)
+ .getString(AdvancedPowerUsageDetail.EXTRA_PACKAGE_NAME))
.isEqualTo(PACKAGE_NAME[0]);
- assertThat(captor.getValue().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS)
- .getString(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT))
+ assertThat(
+ captor.getValue()
+ .getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS)
+ .getString(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT))
.isEqualTo("0%");
}
@Test
- public void startBatteryDetailPage_batteryEntryNotExisted_extractUidFromPackageName() throws
- PackageManager.NameNotFoundException {
+ public void startBatteryDetailPage_batteryEntryNotExisted_extractUidFromPackageName()
+ throws PackageManager.NameNotFoundException {
doReturn(UID).when(mPackageManager).getPackageUid(PACKAGE_NAME[0], 0 /* no flag */);
AdvancedPowerUsageDetail.startBatteryDetailPage(
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceControllerTest.java
index be80e1e..261a315 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceControllerTest.java
@@ -88,8 +88,8 @@
public void testUpdateState_isSystemOrDefaultAppAndRestrictedStates_prefChecked() {
when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
- when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
- BatteryOptimizeUtils.MODE_RESTRICTED);
+ when(mBatteryOptimizeUtils.getAppOptimizationMode())
+ .thenReturn(BatteryOptimizeUtils.MODE_RESTRICTED);
mController.updateState(mMainSwitchPreference);
@@ -101,8 +101,8 @@
public void testUpdateState_isSystemOrDefaultApp_prefUnchecked() {
when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
- when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
- BatteryOptimizeUtils.MODE_OPTIMIZED);
+ when(mBatteryOptimizeUtils.getAppOptimizationMode())
+ .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
mController.updateState(mMainSwitchPreference);
@@ -113,8 +113,8 @@
@Test
public void testUpdateState_isRestrictedStates_prefChecked() {
when(mBatteryOptimizeUtils.isOptimizeModeMutable()).thenReturn(true);
- when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
- BatteryOptimizeUtils.MODE_RESTRICTED);
+ when(mBatteryOptimizeUtils.getAppOptimizationMode())
+ .thenReturn(BatteryOptimizeUtils.MODE_RESTRICTED);
mController.updateState(mMainSwitchPreference);
@@ -125,8 +125,8 @@
@Test
public void testUpdateState_prefUnchecked() {
when(mBatteryOptimizeUtils.isOptimizeModeMutable()).thenReturn(true);
- when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
- BatteryOptimizeUtils.MODE_OPTIMIZED);
+ when(mBatteryOptimizeUtils.getAppOptimizationMode())
+ .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
mController.updateState(mMainSwitchPreference);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AutoRestrictionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AutoRestrictionPreferenceControllerTest.java
index 0b6051b..5c3addf 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AutoRestrictionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AutoRestrictionPreferenceControllerTest.java
@@ -91,26 +91,25 @@
public void testGetAvailabilityStatus_smartBatterySupported_returnDisabled() {
doReturn(true).when(mFeatureFactory.powerUsageFeatureProvider).isSmartBatterySupported();
- assertThat(mController.getAvailabilityStatus()).isEqualTo(
- BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+ assertThat(mController.getAvailabilityStatus())
+ .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
}
@Test
public void testGetAvailabilityStatus_smartBatteryUnSupported_returnAvailable() {
doReturn(false).when(mFeatureFactory.powerUsageFeatureProvider).isSmartBatterySupported();
- assertThat(mController.getAvailabilityStatus()).isEqualTo(
- BasePreferenceController.AVAILABLE);
+ assertThat(mController.getAvailabilityStatus())
+ .isEqualTo(BasePreferenceController.AVAILABLE);
}
private void putAutoRestrictionValue(int value) {
- Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.APP_AUTO_RESTRICTION_ENABLED,
- value);
+ Settings.Global.putInt(
+ mContext.getContentResolver(), Settings.Global.APP_AUTO_RESTRICTION_ENABLED, value);
}
private int getAutoRestrictionValue() {
- return Settings.Global.getInt(mContext.getContentResolver(),
- Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON);
+ return Settings.Global.getInt(
+ mContext.getContentResolver(), Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryBackupHelperTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryBackupHelperTest.java
index 350d2ef..8980800 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryBackupHelperTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryBackupHelperTest.java
@@ -94,30 +94,20 @@
private BatteryBackupHelper mBatteryBackupHelper;
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
- @Mock
- private PackageManager mPackageManager;
- @Mock
- private BackupDataOutput mBackupDataOutput;
- @Mock
- private BackupDataInputStream mBackupDataInputStream;
- @Mock
- private IDeviceIdleController mDeviceController;
- @Mock
- private IPackageManager mIPackageManager;
- @Mock
- private AppOpsManager mAppOpsManager;
- @Mock
- private UserManager mUserManager;
- @Mock
- private PowerAllowlistBackend mPowerAllowlistBackend;
- @Mock
- private BatteryOptimizeUtils mBatteryOptimizeUtils;
+ @Mock private PackageManager mPackageManager;
+ @Mock private BackupDataOutput mBackupDataOutput;
+ @Mock private BackupDataInputStream mBackupDataInputStream;
+ @Mock private IDeviceIdleController mDeviceController;
+ @Mock private IPackageManager mIPackageManager;
+ @Mock private AppOpsManager mAppOpsManager;
+ @Mock private UserManager mUserManager;
+ @Mock private PowerAllowlistBackend mPowerAllowlistBackend;
+ @Mock private BatteryOptimizeUtils mBatteryOptimizeUtils;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
- mPowerUsageFeatureProvider =
- FakeFeatureFactory.setupForTest().powerUsageFeatureProvider;
+ mPowerUsageFeatureProvider = FakeFeatureFactory.setupForTest().powerUsageFeatureProvider;
mContext = spy(RuntimeEnvironment.application);
mStringWriter = new StringWriter();
mPrintWriter = new PrintWriter(mStringWriter);
@@ -173,7 +163,7 @@
public void backupOptimizationMode_nullInstalledApps_ignoreBackupOptimization()
throws Exception {
final UserInfo userInfo =
- new UserInfo(/*userId=*/ 0, /*userName=*/ "google", /*flag=*/ 0);
+ new UserInfo(/* userId= */ 0, /* userName= */ "google", /* flag= */ 0);
doReturn(Arrays.asList(userInfo)).when(mUserManager).getProfiles(anyInt());
doThrow(new RuntimeException())
.when(mIPackageManager)
@@ -199,8 +189,7 @@
}
@Test
- public void backupOptimizationMode_backupOptimizationModeAndIgnoreSystemApp()
- throws Exception {
+ public void backupOptimizationMode_backupOptimizationModeAndIgnoreSystemApp() throws Exception {
final List<String> allowlistedApps = Arrays.asList(PACKAGE_NAME1);
createTestingData(PACKAGE_NAME1, UID1, PACKAGE_NAME2, PACKAGE_NAME3);
// Sets "com.android.testing.1" as system app.
@@ -294,8 +283,7 @@
// Invoke the restoreEntity() method 2nd time.
mBatteryBackupHelper.restoreEntity(mBackupDataInputStream);
- assertThat(TestUtils.getScheduledLevel(mContext))
- .isEqualTo(invalidScheduledLevel);
+ assertThat(TestUtils.getScheduledLevel(mContext)).isEqualTo(invalidScheduledLevel);
}
@Test
@@ -313,9 +301,14 @@
@Test
public void restoreOptimizationMode_invalidModeFormat_skipRestore() throws Exception {
final String invalidNumberFormat = "google";
- final String packageModes =
- PACKAGE_NAME1 + DELIMITER_MODE + MODE_RESTRICTED + DELIMITER +
- PACKAGE_NAME2 + DELIMITER_MODE + invalidNumberFormat;
+ final String package1Mode = PACKAGE_NAME1
+ + DELIMITER_MODE
+ + MODE_RESTRICTED
+ + DELIMITER;
+ final String package2Mode = PACKAGE_NAME2
+ + DELIMITER_MODE
+ + invalidNumberFormat;
+ final String packageModes = package1Mode + package2Mode;
mBatteryBackupHelper.restoreOptimizationMode(packageModes.getBytes());
TimeUnit.SECONDS.sleep(1);
@@ -328,10 +321,19 @@
@Test
public void restoreOptimizationMode_restoreExpectedModes() throws Exception {
- final String packageModes =
- PACKAGE_NAME1 + DELIMITER_MODE + MODE_RESTRICTED + DELIMITER +
- PACKAGE_NAME2 + DELIMITER_MODE + MODE_UNRESTRICTED + DELIMITER +
- PACKAGE_NAME3 + DELIMITER_MODE + MODE_RESTRICTED + DELIMITER;
+ final String package1Mode = PACKAGE_NAME1
+ + DELIMITER_MODE
+ + MODE_RESTRICTED
+ + DELIMITER;
+ final String package2Mode = PACKAGE_NAME2
+ + DELIMITER_MODE
+ + MODE_UNRESTRICTED
+ + DELIMITER;
+ final String package3Mode = PACKAGE_NAME3
+ + DELIMITER_MODE
+ + MODE_RESTRICTED
+ + DELIMITER;
+ final String packageModes = package1Mode + package2Mode + package3Mode;
mBatteryBackupHelper.restoreOptimizationMode(packageModes.getBytes());
TimeUnit.SECONDS.sleep(1);
@@ -358,13 +360,14 @@
verifyBackupData(inOrder, BatteryBackupHelper.KEY_BUILD_PRODUCT, Build.PRODUCT);
verifyBackupData(inOrder, BatteryBackupHelper.KEY_BUILD_MANUFACTURER, Build.MANUFACTURER);
verifyBackupData(inOrder, BatteryBackupHelper.KEY_BUILD_FINGERPRINT, Build.FINGERPRINT);
- inOrder.verify(mBackupDataOutput, never()).writeEntityHeader(
- eq(BatteryBackupHelper.KEY_BUILD_METADATA_1), anyInt());
+ inOrder.verify(mBackupDataOutput, never())
+ .writeEntityHeader(eq(BatteryBackupHelper.KEY_BUILD_METADATA_1), anyInt());
verifyBackupData(inOrder, BatteryBackupHelper.KEY_BUILD_METADATA_2, deviceMetadata);
}
private void mockUid(int uid, String packageName) throws Exception {
- doReturn(uid).when(mPackageManager)
+ doReturn(uid)
+ .when(mPackageManager)
.getPackageUid(packageName, PackageManager.GET_META_DATA);
}
@@ -384,8 +387,8 @@
final Set<String> expectedResultSet =
Set.of(expectedResult.split(BatteryBackupHelper.DELIMITER));
- verify(mBackupDataOutput).writeEntityHeader(
- BatteryBackupHelper.KEY_OPTIMIZATION_LIST, expectedBytes.length);
+ verify(mBackupDataOutput)
+ .writeEntityHeader(BatteryBackupHelper.KEY_OPTIMIZATION_LIST, expectedBytes.length);
verify(mBackupDataOutput).writeEntityData(captor.capture(), eq(expectedBytes.length));
final String actualResult = new String(captor.getValue());
final Set<String> actualResultSet =
@@ -393,11 +396,12 @@
assertThat(actualResultSet).isEqualTo(expectedResultSet);
}
- private void createTestingData(String packageName1, int uid1, String packageName2,
- String packageName3) throws Exception {
+ private void createTestingData(
+ String packageName1, int uid1, String packageName2, String packageName3)
+ throws Exception {
// Sets the getInstalledApplications() method for testing.
final UserInfo userInfo =
- new UserInfo(/*userId=*/ 0, /*userName=*/ "google", /*flag=*/ 0);
+ new UserInfo(/* userId= */ 0, /* userName= */ "google", /* flag= */ 0);
doReturn(Arrays.asList(userInfo)).when(mUserManager).getProfiles(anyInt());
final ApplicationInfo applicationInfo1 = new ApplicationInfo();
applicationInfo1.enabled = true;
@@ -413,10 +417,12 @@
applicationInfo3.uid = 3;
applicationInfo3.packageName = packageName3;
applicationInfo3.enabledSetting = PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
- doReturn(new ParceledListSlice<ApplicationInfo>(
- Arrays.asList(applicationInfo1, applicationInfo2, applicationInfo3)))
- .when(mIPackageManager)
- .getInstalledApplications(anyLong(), anyInt());
+ doReturn(
+ new ParceledListSlice<ApplicationInfo>(
+ Arrays.asList(
+ applicationInfo1, applicationInfo2, applicationInfo3)))
+ .when(mIPackageManager)
+ .getInstalledApplications(anyLong(), anyInt());
// Sets the AppOpsManager for checkOpNoThrow() method.
doReturn(AppOpsManager.MODE_ALLOWED)
.when(mAppOpsManager)
@@ -434,8 +440,8 @@
new ArraySet<>(Arrays.asList(applicationInfo1, applicationInfo2, applicationInfo3));
}
- private void verifyBackupData(
- InOrder inOrder, String dataKey, String dataContent) throws Exception {
+ private void verifyBackupData(InOrder inOrder, String dataKey, String dataContent)
+ throws Exception {
final byte[] expectedBytes = dataContent.getBytes();
inOrder.verify(mBackupDataOutput).writeEntityHeader(dataKey, expectedBytes.length);
inOrder.verify(mBackupDataOutput).writeEntityData(expectedBytes, expectedBytes.length);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java
index 62f812d..2f3f5c5 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java
@@ -54,8 +54,7 @@
private static final int BATTERY_INTENT_LEVEL = 80;
private static final int BATTERY_INTENT_SCALE = 100;
- @Mock
- private BatteryBroadcastReceiver.OnBatteryChangedListener mBatteryListener;
+ @Mock private BatteryBroadcastReceiver.OnBatteryChangedListener mBatteryListener;
private BatteryBroadcastReceiver mBatteryBroadcastReceiver;
private Context mContext;
private Intent mChargingIntent;
@@ -75,8 +74,8 @@
mChargingIntent = new Intent(Intent.ACTION_BATTERY_CHANGED);
mChargingIntent.putExtra(BatteryManager.EXTRA_LEVEL, BATTERY_INTENT_LEVEL);
mChargingIntent.putExtra(BatteryManager.EXTRA_SCALE, BATTERY_INTENT_SCALE);
- mChargingIntent
- .putExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_CHARGING);
+ mChargingIntent.putExtra(
+ BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_CHARGING);
}
@Test
@@ -85,8 +84,10 @@
assertThat(mBatteryBroadcastReceiver.mBatteryLevel)
.isEqualTo(Utils.getBatteryPercentage(mChargingIntent));
- assertThat(mBatteryBroadcastReceiver.mBatteryStatus).isEqualTo(
- Utils.getBatteryStatus(mContext, mChargingIntent, /* compactStatus= */ false));
+ assertThat(mBatteryBroadcastReceiver.mBatteryStatus)
+ .isEqualTo(
+ Utils.getBatteryStatus(
+ mContext, mChargingIntent, /* compactStatus= */ false));
verify(mBatteryListener).onBatteryChanged(BatteryUpdateType.BATTERY_LEVEL);
}
@@ -103,7 +104,8 @@
@Test
public void onReceive_chargingStatusChanged_dataUpdated() {
- mChargingIntent.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
+ mChargingIntent.putExtra(
+ BatteryManager.EXTRA_CHARGING_STATUS,
BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
mBatteryBroadcastReceiver.onReceive(mContext, mChargingIntent);
@@ -123,8 +125,8 @@
@Test
public void onReceive_powerSaveModeChanged_listenerInvoked() {
- mBatteryBroadcastReceiver.onReceive(mContext,
- new Intent(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED));
+ mBatteryBroadcastReceiver.onReceive(
+ mContext, new Intent(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED));
verify(mBatteryListener).onBatteryChanged(BatteryUpdateType.BATTERY_SAVER);
}
@@ -150,16 +152,16 @@
@Test
public void onReceive_dockDefenderBypassed_listenerInvoked() {
- mBatteryBroadcastReceiver.onReceive(mContext,
- new Intent(BatteryUtils.BYPASS_DOCK_DEFENDER_ACTION));
+ mBatteryBroadcastReceiver.onReceive(
+ mContext, new Intent(BatteryUtils.BYPASS_DOCK_DEFENDER_ACTION));
verify(mBatteryListener).onBatteryChanged(BatteryUpdateType.BATTERY_STATUS);
}
@Test
public void onReceive_usbPortComplianceChanged_listenerInvoked() {
- mBatteryBroadcastReceiver.onReceive(mContext,
- new Intent(UsbManager.ACTION_USB_PORT_COMPLIANCE_CHANGED));
+ mBatteryBroadcastReceiver.onReceive(
+ mContext, new Intent(UsbManager.ACTION_USB_PORT_COMPLIANCE_CHANGED));
verify(mBatteryListener).onBatteryChanged(BatteryUpdateType.BATTERY_STATUS);
}
@@ -173,8 +175,10 @@
assertThat(mBatteryBroadcastReceiver.mBatteryLevel)
.isEqualTo(Utils.getBatteryPercentage(mChargingIntent));
- assertThat(mBatteryBroadcastReceiver.mBatteryStatus).isEqualTo(
- Utils.getBatteryStatus(mContext, mChargingIntent, /* compactStatus= */ false));
+ assertThat(mBatteryBroadcastReceiver.mBatteryStatus)
+ .isEqualTo(
+ Utils.getBatteryStatus(
+ mContext, mChargingIntent, /* compactStatus= */ false));
assertThat(mBatteryBroadcastReceiver.mBatteryHealth)
.isEqualTo(BatteryManager.BATTERY_HEALTH_UNKNOWN);
assertThat(mBatteryBroadcastReceiver.mChargingStatus)
@@ -188,10 +192,11 @@
mBatteryBroadcastReceiver.register();
ArgumentCaptor<IntentFilter> captor = ArgumentCaptor.forClass(IntentFilter.class);
- verify(mContext).registerReceiver(
- eq(mBatteryBroadcastReceiver),
- captor.capture(),
- eq(Context.RECEIVER_EXPORTED));
+ verify(mContext)
+ .registerReceiver(
+ eq(mBatteryBroadcastReceiver),
+ captor.capture(),
+ eq(Context.RECEIVER_EXPORTED));
assertAction(captor, Intent.ACTION_BATTERY_CHANGED);
assertAction(captor, PowerManager.ACTION_POWER_SAVE_MODE_CHANGED);
assertAction(captor, BatteryUtils.BYPASS_DOCK_DEFENDER_ACTION);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
index 04d5dbf..83ff582 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
@@ -68,22 +68,14 @@
private static final String TIME_LEFT = "2h30min";
private static final String BATTERY_STATUS = "Charging";
- @Mock
- private PreferenceScreen mPreferenceScreen;
- @Mock
- private BatteryInfo mBatteryInfo;
- @Mock
- private EntityHeaderController mEntityHeaderController;
- @Mock
- private UsageProgressBarPreference mBatteryUsageProgressBarPref;
- @Mock
- private BatteryStatusFeatureProvider mBatteryStatusFeatureProvider;
- @Mock
- private UsbPort mUsbPort;
- @Mock
- private UsbManager mUsbManager;
- @Mock
- private UsbPortStatus mUsbPortStatus;
+ @Mock private PreferenceScreen mPreferenceScreen;
+ @Mock private BatteryInfo mBatteryInfo;
+ @Mock private EntityHeaderController mEntityHeaderController;
+ @Mock private UsageProgressBarPreference mBatteryUsageProgressBarPref;
+ @Mock private BatteryStatusFeatureProvider mBatteryStatusFeatureProvider;
+ @Mock private UsbPort mUsbPort;
+ @Mock private UsbManager mUsbManager;
+ @Mock private UsbPortStatus mUsbPortStatus;
private BatteryHeaderPreferenceController mController;
private Context mContext;
@@ -104,8 +96,9 @@
mBatteryIntent.putExtra(BatteryManager.EXTRA_PLUGGED, 1);
doReturn(mBatteryIntent).when(mContext).registerReceiver(any(), any());
- doReturn(mBatteryUsageProgressBarPref).when(mPreferenceScreen)
- .findPreference(BatteryHeaderPreferenceController.KEY_BATTERY_HEADER);
+ doReturn(mBatteryUsageProgressBarPref)
+ .when(mPreferenceScreen)
+ .findPreference(BatteryHeaderPreferenceController.KEY_BATTERY_HEADER);
mBatteryInfo.batteryLevel = BATTERY_LEVEL;
@@ -235,8 +228,8 @@
@Test
public void updateHeaderByBatteryTips_lowBatteryTip_showLowBattery() {
setChargingState(/* isDischarging */ true, /* updatedByStatusFeature */ false);
- BatteryTip lowBatteryTip = new LowBatteryTip(
- BatteryTip.StateType.NEW, /* powerSaveModeOn */false);
+ BatteryTip lowBatteryTip =
+ new LowBatteryTip(BatteryTip.StateType.NEW, /* powerSaveModeOn */ false);
mController.updateHeaderByBatteryTips(lowBatteryTip, mBatteryInfo);
@@ -265,8 +258,8 @@
@Test
public void updateHeaderByBatteryTips_noBatteryInfo_noAction() {
- BatteryTip lowBatteryTip = new LowBatteryTip(
- BatteryTip.StateType.NEW, /* powerSaveModeOn */false);
+ BatteryTip lowBatteryTip =
+ new LowBatteryTip(BatteryTip.StateType.NEW, /* powerSaveModeOn */ false);
mController.updateHeaderByBatteryTips(lowBatteryTip, null);
@@ -288,8 +281,10 @@
mController.updateHeaderPreference(mBatteryInfo);
- verify(mBatteryUsageProgressBarPref).setBottomSummary(mContext.getString(
- com.android.settingslib.R.string.battery_info_status_not_charging));
+ verify(mBatteryUsageProgressBarPref)
+ .setBottomSummary(
+ mContext.getString(
+ com.android.settingslib.R.string.battery_info_status_not_charging));
}
@Test
@@ -302,8 +297,8 @@
@Test
public void getAvailabilityStatus_returnAvailableUnsearchable() {
- assertThat(mController.getAvailabilityStatus()).isEqualTo(
- BasePreferenceController.AVAILABLE_UNSEARCHABLE);
+ assertThat(mController.getAvailabilityStatus())
+ .isEqualTo(BasePreferenceController.AVAILABLE_UNSEARCHABLE);
}
@Test
@@ -319,12 +314,13 @@
public void displayPreference_init_showLoading() {
mController.displayPreference(mPreferenceScreen);
- verify(mBatteryUsageProgressBarPref).setBottomSummary(
- mContext.getString(R.string.settings_license_activity_loading));
+ verify(mBatteryUsageProgressBarPref)
+ .setBottomSummary(mContext.getString(R.string.settings_license_activity_loading));
}
private CharSequence formatBatteryPercentageText() {
- return TextUtils.expandTemplate(mContext.getText(R.string.battery_header_title_alternate),
+ return TextUtils.expandTemplate(
+ mContext.getText(R.string.battery_header_title_alternate),
NumberFormat.getIntegerInstance().format(BATTERY_LEVEL));
}
@@ -333,7 +329,7 @@
mBatteryInfo.statusLabel = BATTERY_STATUS;
mBatteryInfo.discharging = isDischarging;
- when(mBatteryStatusFeatureProvider.triggerBatteryStatusUpdate(
- mController, mBatteryInfo)).thenReturn(updatedByStatusFeature);
+ when(mBatteryStatusFeatureProvider.triggerBatteryStatusUpdate(mController, mBatteryInfo))
+ .thenReturn(updatedByStatusFeature);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoLoaderTest.java
index b787239..3685a1d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoLoaderTest.java
@@ -46,10 +46,8 @@
private static final long TEST_TIME_REMAINING = 1000L;
- @Mock
- private BatteryStatsManager mBatteryStatsManager;
- @Mock
- private BatteryUsageStats mBatteryUsageStats;
+ @Mock private BatteryStatsManager mBatteryStatsManager;
+ @Mock private BatteryUsageStats mBatteryUsageStats;
private Context mContext;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
index 2ba9f33..0339f57 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
@@ -72,21 +72,20 @@
private static final String ENHANCED_STRING_SUFFIX = "based on your usage";
private static final String BATTERY_RUN_OUT_PREFIX = "Battery may run out by";
private static final long TEST_CHARGE_TIME_REMAINING = TimeUnit.MINUTES.toMicros(1);
- private static final String TEST_CHARGE_TIME_REMAINING_STRINGIFIED =
- "1 min left until full";
+ private static final String TEST_CHARGE_TIME_REMAINING_STRINGIFIED = "1 min left until full";
private static final String TEST_BATTERY_LEVEL_10 = "10%";
private static final String FIFTEEN_MIN_FORMATTED = "15 min";
- private static final Estimate MOCK_ESTIMATE = new Estimate(
- 1000, /* estimateMillis */
- false, /* isBasedOnUsage */
- 1000 /* averageDischargeTime */);
+ private static final Estimate MOCK_ESTIMATE =
+ new Estimate(
+ 1000, /* estimateMillis */
+ false, /* isBasedOnUsage */
+ 1000 /* averageDischargeTime */);
private Intent mDisChargingBatteryBroadcast;
private Intent mChargingBatteryBroadcast;
private Context mContext;
private FakeFeatureFactory mFeatureFactory;
- @Mock
- private BatteryUsageStats mBatteryUsageStats;
+ @Mock private BatteryUsageStats mBatteryUsageStats;
@Before
public void setUp() {
@@ -99,17 +98,22 @@
mChargingBatteryBroadcast = BatteryTestUtils.getChargingIntent();
doReturn(false).when(mFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
- Settings.Global.putInt(mContext.getContentResolver(),
- BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 0);
+ Settings.Global.putInt(
+ mContext.getContentResolver(),
+ BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS,
+ 0);
}
@Test
public void testGetBatteryInfo_hasStatusLabel() {
doReturn(REMAINING_TIME_NULL).when(mBatteryUsageStats).getBatteryTimeRemainingMs();
- BatteryInfo info = BatteryInfo.getBatteryInfoOld(mContext,
- mDisChargingBatteryBroadcast, mBatteryUsageStats,
- SystemClock.elapsedRealtime() * 1000,
- true /* shortString */);
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfoOld(
+ mContext,
+ mDisChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ SystemClock.elapsedRealtime() * 1000,
+ true /* shortString */);
assertThat(info.statusLabel).isEqualTo(STATUS_NOT_CHARGING);
}
@@ -117,8 +121,13 @@
@Test
public void testGetBatteryInfo_doNotShowChargingMethod_hasRemainingTime() {
doReturn(REMAINING_TIME).when(mBatteryUsageStats).getChargeTimeRemainingMs();
- BatteryInfo info = BatteryInfo.getBatteryInfoOld(mContext, mChargingBatteryBroadcast,
- mBatteryUsageStats, SystemClock.elapsedRealtime() * 1000, false /* shortString */);
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfoOld(
+ mContext,
+ mChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ SystemClock.elapsedRealtime() * 1000,
+ false /* shortString */);
assertThat(info.chargeLabel.toString()).isEqualTo(STATUS_CHARGING_TIME);
}
@@ -126,8 +135,13 @@
@Test
public void testGetBatteryInfo_doNotShowChargingMethod_noRemainingTime() {
doReturn(REMAINING_TIME_NULL).when(mBatteryUsageStats).getChargeTimeRemainingMs();
- BatteryInfo info = BatteryInfo.getBatteryInfoOld(mContext, mChargingBatteryBroadcast,
- mBatteryUsageStats, SystemClock.elapsedRealtime() * 1000, false /* shortString */);
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfoOld(
+ mContext,
+ mChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ SystemClock.elapsedRealtime() * 1000,
+ false /* shortString */);
assertThat(info.chargeLabel.toString()).ignoringCase().isEqualTo(STATUS_CHARGING_NO_TIME);
}
@@ -135,9 +149,15 @@
@Test
public void testGetBatteryInfo_pluggedInUsingShortString_usesCorrectData() {
doReturn(TEST_CHARGE_TIME_REMAINING / 1000)
- .when(mBatteryUsageStats).getChargeTimeRemainingMs();
- BatteryInfo info = BatteryInfo.getBatteryInfoOld(mContext, mChargingBatteryBroadcast,
- mBatteryUsageStats, SystemClock.elapsedRealtime() * 1000, true /* shortString */);
+ .when(mBatteryUsageStats)
+ .getChargeTimeRemainingMs();
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfoOld(
+ mContext,
+ mChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ SystemClock.elapsedRealtime() * 1000,
+ true /* shortString */);
assertThat(info.discharging).isEqualTo(false);
assertThat(info.chargeLabel.toString()).isEqualTo("50% - 1 min left until full");
@@ -145,15 +165,27 @@
@Test
public void testGetBatteryInfo_basedOnUsageTrueMoreThanFifteenMinutes_usesCorrectString() {
- Estimate estimate = new Estimate(Duration.ofHours(4).toMillis(),
- true /* isBasedOnUsage */,
- 1000 /* averageDischargeTime */);
- BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,
- mBatteryUsageStats, estimate, SystemClock.elapsedRealtime() * 1000,
- false /* shortString */);
- BatteryInfo info2 = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,
- mBatteryUsageStats, estimate, SystemClock.elapsedRealtime() * 1000,
- true /* shortString */);
+ Estimate estimate =
+ new Estimate(
+ Duration.ofHours(4).toMillis(),
+ true /* isBasedOnUsage */,
+ 1000 /* averageDischargeTime */);
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ mDisChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ estimate,
+ SystemClock.elapsedRealtime() * 1000,
+ false /* shortString */);
+ BatteryInfo info2 =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ mDisChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ estimate,
+ SystemClock.elapsedRealtime() * 1000,
+ true /* shortString */);
// Both long and short strings should not have extra text
assertThat(info.remainingLabel.toString()).doesNotContain(ENHANCED_STRING_SUFFIX);
@@ -165,24 +197,41 @@
@Test
@Ignore
public void getBatteryInfo_MoreThanOneDay_suggestionLabelIsCorrectString() {
- Estimate estimate = new Estimate(Duration.ofDays(3).toMillis(),
- true /* isBasedOnUsage */,
- 1000 /* averageDischargeTime */);
- BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,
- mBatteryUsageStats, estimate, SystemClock.elapsedRealtime() * 1000,
- false /* shortString */);
+ Estimate estimate =
+ new Estimate(
+ Duration.ofDays(3).toMillis(),
+ true /* isBasedOnUsage */,
+ 1000 /* averageDischargeTime */);
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ mDisChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ estimate,
+ SystemClock.elapsedRealtime() * 1000,
+ false /* shortString */);
assertThat(info.suggestionLabel).doesNotContain(BATTERY_RUN_OUT_PREFIX);
}
@Test
public void testGetBatteryInfo_basedOnUsageFalse_usesDefaultString() {
- BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,
- mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
- false /* shortString */);
- BatteryInfo info2 = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,
- mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
- true /* shortString */);
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ mDisChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ MOCK_ESTIMATE,
+ SystemClock.elapsedRealtime() * 1000,
+ false /* shortString */);
+ BatteryInfo info2 =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ mDisChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ MOCK_ESTIMATE,
+ SystemClock.elapsedRealtime() * 1000,
+ true /* shortString */);
assertThat(info.remainingLabel.toString()).doesNotContain(ENHANCED_STRING_SUFFIX);
assertThat(info2.remainingLabel.toString()).doesNotContain(ENHANCED_STRING_SUFFIX);
@@ -191,11 +240,17 @@
@Test
public void testGetBatteryInfo_charging_usesChargeTime() {
doReturn(TEST_CHARGE_TIME_REMAINING / 1000)
- .when(mBatteryUsageStats).getChargeTimeRemainingMs();
+ .when(mBatteryUsageStats)
+ .getChargeTimeRemainingMs();
- BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mChargingBatteryBroadcast,
- mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
- false /* shortString */);
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ mChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ MOCK_ESTIMATE,
+ SystemClock.elapsedRealtime() * 1000,
+ false /* shortString */);
assertThat(info.remainingTimeUs).isEqualTo(TEST_CHARGE_TIME_REMAINING);
assertThat(info.remainingLabel.toString())
@@ -206,24 +261,33 @@
public void testGetBatteryInfo_pluggedInWithFullBattery_onlyShowBatteryLevel() {
mChargingBatteryBroadcast.putExtra(BatteryManager.EXTRA_LEVEL, 100);
- BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mChargingBatteryBroadcast,
- mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
- false /* shortString */);
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ mChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ MOCK_ESTIMATE,
+ SystemClock.elapsedRealtime() * 1000,
+ false /* shortString */);
assertThat(info.chargeLabel).isEqualTo("100%");
}
@Test
public void testGetBatteryInfo_chargingWithDefender_updateChargeLabel() {
- doReturn(TEST_CHARGE_TIME_REMAINING)
- .when(mBatteryUsageStats)
- .getChargeTimeRemainingMs();
- mChargingBatteryBroadcast.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
+ doReturn(TEST_CHARGE_TIME_REMAINING).when(mBatteryUsageStats).getChargeTimeRemainingMs();
+ mChargingBatteryBroadcast.putExtra(
+ BatteryManager.EXTRA_CHARGING_STATUS,
BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
- BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mChargingBatteryBroadcast,
- mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
- false /* shortString */);
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ mChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ MOCK_ESTIMATE,
+ SystemClock.elapsedRealtime() * 1000,
+ false /* shortString */);
assertThat(info.isBatteryDefender).isTrue();
assertThat(info.chargeLabel.toString()).contains(STATUS_CHARGING_PAUSED);
@@ -231,30 +295,32 @@
@Test
public void testGetBatteryInfo_getChargeTimeRemaining_updateSettingsGlobal() {
- doReturn(TEST_CHARGE_TIME_REMAINING)
- .when(mBatteryUsageStats)
- .getChargeTimeRemainingMs();
+ doReturn(TEST_CHARGE_TIME_REMAINING).when(mBatteryUsageStats).getChargeTimeRemainingMs();
- BatteryInfo.getBatteryInfo(mContext, mChargingBatteryBroadcast,
- mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ mChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ MOCK_ESTIMATE,
+ SystemClock.elapsedRealtime() * 1000,
false /* shortString */);
- assertThat(BatteryInfo.getSettingsChargeTimeRemaining(mContext)).isEqualTo(
- TEST_CHARGE_TIME_REMAINING);
+ assertThat(BatteryInfo.getSettingsChargeTimeRemaining(mContext))
+ .isEqualTo(TEST_CHARGE_TIME_REMAINING);
}
@Test
public void testGetBatteryInfo_differentChargeTimeRemaining_updateSettingsGlobal() {
- doReturn(TEST_CHARGE_TIME_REMAINING)
- .when(mBatteryUsageStats)
- .getChargeTimeRemainingMs();
+ doReturn(TEST_CHARGE_TIME_REMAINING).when(mBatteryUsageStats).getChargeTimeRemainingMs();
final long newTimeToFull = 300L;
- doReturn(newTimeToFull)
- .when(mBatteryUsageStats)
- .getChargeTimeRemainingMs();
+ doReturn(newTimeToFull).when(mBatteryUsageStats).getChargeTimeRemainingMs();
- BatteryInfo.getBatteryInfo(mContext, mChargingBatteryBroadcast,
- mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ mChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ MOCK_ESTIMATE,
+ SystemClock.elapsedRealtime() * 1000,
false /* shortString */);
assertThat(BatteryInfo.getSettingsChargeTimeRemaining(mContext)).isEqualTo(newTimeToFull);
@@ -263,18 +329,27 @@
@Test
public void testGetBatteryInfo_dockDefenderActive_updateChargeString() {
doReturn(TEST_CHARGE_TIME_REMAINING / 1000)
- .when(mBatteryUsageStats).getChargeTimeRemainingMs();
+ .when(mBatteryUsageStats)
+ .getChargeTimeRemainingMs();
doReturn(true).when(mFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
- Intent intent = BatteryTestUtils.getCustomBatteryIntent(BatteryManager.BATTERY_PLUGGED_DOCK,
- 50 /* level */,
- 100 /* scale */,
- BatteryManager.BATTERY_STATUS_CHARGING)
- .putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
- BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
+ Intent intent =
+ BatteryTestUtils.getCustomBatteryIntent(
+ BatteryManager.BATTERY_PLUGGED_DOCK,
+ 50 /* level */,
+ 100 /* scale */,
+ BatteryManager.BATTERY_STATUS_CHARGING)
+ .putExtra(
+ BatteryManager.EXTRA_CHARGING_STATUS,
+ BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
- BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, intent,
- mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
- false /* shortString */);
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ intent,
+ mBatteryUsageStats,
+ MOCK_ESTIMATE,
+ SystemClock.elapsedRealtime() * 1000,
+ false /* shortString */);
assertThat(info.chargeLabel.toString()).contains(STATUS_CHARGING_PAUSED);
}
@@ -282,18 +357,25 @@
@Test
public void testGetBatteryInfo_dockDefenderTemporarilyBypassed_updateChargeLabel() {
doReturn(REMAINING_TIME).when(mBatteryUsageStats).getChargeTimeRemainingMs();
- mChargingBatteryBroadcast.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
- BatteryManager.CHARGING_POLICY_DEFAULT);
- Settings.Global.putInt(mContext.getContentResolver(),
- BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 1);
+ mChargingBatteryBroadcast.putExtra(
+ BatteryManager.EXTRA_CHARGING_STATUS, BatteryManager.CHARGING_POLICY_DEFAULT);
+ Settings.Global.putInt(
+ mContext.getContentResolver(),
+ BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS,
+ 1);
- BatteryInfo info = BatteryInfo.getBatteryInfo(mContext,
- BatteryTestUtils.getCustomBatteryIntent(BatteryManager.BATTERY_PLUGGED_DOCK,
- 50 /* level */,
- 100 /* scale */,
- BatteryManager.BATTERY_STATUS_CHARGING),
- mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
- false /* shortString */);
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ BatteryTestUtils.getCustomBatteryIntent(
+ BatteryManager.BATTERY_PLUGGED_DOCK,
+ 50 /* level */,
+ 100 /* scale */,
+ BatteryManager.BATTERY_STATUS_CHARGING),
+ mBatteryUsageStats,
+ MOCK_ESTIMATE,
+ SystemClock.elapsedRealtime() * 1000,
+ false /* shortString */);
assertThat(info.chargeLabel.toString()).contains(STATUS_CHARGING_TIME);
}
@@ -301,16 +383,21 @@
@Test
public void testGetBatteryInfo_dockDefenderFutureBypass_updateChargeLabel() {
doReturn(false).when(mFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
- mChargingBatteryBroadcast.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
- BatteryManager.CHARGING_POLICY_DEFAULT);
+ mChargingBatteryBroadcast.putExtra(
+ BatteryManager.EXTRA_CHARGING_STATUS, BatteryManager.CHARGING_POLICY_DEFAULT);
- BatteryInfo info = BatteryInfo.getBatteryInfo(mContext,
- BatteryTestUtils.getCustomBatteryIntent(BatteryManager.BATTERY_PLUGGED_DOCK,
- 50 /* level */,
- 100 /* scale */,
- BatteryManager.BATTERY_STATUS_CHARGING),
- mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
- false /* shortString */);
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ BatteryTestUtils.getCustomBatteryIntent(
+ BatteryManager.BATTERY_PLUGGED_DOCK,
+ 50 /* level */,
+ 100 /* scale */,
+ BatteryManager.BATTERY_STATUS_CHARGING),
+ mBatteryUsageStats,
+ MOCK_ESTIMATE,
+ SystemClock.elapsedRealtime() * 1000,
+ false /* shortString */);
assertThat(info.chargeLabel.toString()).contains(STATUS_CHARGING_FUTURE_BYPASS);
}
@@ -318,15 +405,20 @@
// Make our battery stats return a sequence of battery events.
private void mockBatteryStatsHistory() {
// Mock out new data every time iterateBatteryStatsHistory is called.
- doAnswer(invocation -> {
- BatteryStatsHistoryIterator iterator = mock(BatteryStatsHistoryIterator.class);
- when(iterator.next()).thenReturn(
- makeHistoryIterm(1000, 99),
- makeHistoryIterm(1500, 98),
- makeHistoryIterm(2000, 97),
- null);
- return iterator;
- }).when(mBatteryUsageStats).iterateBatteryStatsHistory();
+ doAnswer(
+ invocation -> {
+ BatteryStatsHistoryIterator iterator =
+ mock(BatteryStatsHistoryIterator.class);
+ when(iterator.next())
+ .thenReturn(
+ makeHistoryIterm(1000, 99),
+ makeHistoryIterm(1500, 98),
+ makeHistoryIterm(2000, 97),
+ null);
+ return iterator;
+ })
+ .when(mBatteryUsageStats)
+ .iterateBatteryStatsHistory();
}
private BatteryStats.HistoryItem makeHistoryIterm(long time, int batteryLevel) {
@@ -373,7 +465,8 @@
pointsExpected.append(2000, 96);
pointsExpected.append(2500, 95);
pointsExpected.append(3000, 94);
- doReturn(pointsExpected).when(mFeatureFactory.powerUsageFeatureProvider)
+ doReturn(pointsExpected)
+ .when(mFeatureFactory.powerUsageFeatureProvider)
.getEnhancedBatteryPredictionCurve(any(Context.class), anyLong());
info.bindHistory(view);
@@ -390,14 +483,21 @@
} else {
doReturn(0L).when(mBatteryUsageStats).getChargeTimeRemainingMs();
}
- Estimate batteryEstimate = new Estimate(
- estimate ? 1000 : 0,
- false /* isBasedOnUsage */,
- 1000 /* averageDischargeTime */);
- BatteryInfo info = BatteryInfo.getBatteryInfo(mContext,
- charging ? mChargingBatteryBroadcast : mDisChargingBatteryBroadcast,
- mBatteryUsageStats, batteryEstimate, SystemClock.elapsedRealtime() * 1000, false);
- doReturn(enhanced).when(mFeatureFactory.powerUsageFeatureProvider)
+ Estimate batteryEstimate =
+ new Estimate(
+ estimate ? 1000 : 0,
+ false /* isBasedOnUsage */,
+ 1000 /* averageDischargeTime */);
+ BatteryInfo info =
+ BatteryInfo.getBatteryInfo(
+ mContext,
+ charging ? mChargingBatteryBroadcast : mDisChargingBatteryBroadcast,
+ mBatteryUsageStats,
+ batteryEstimate,
+ SystemClock.elapsedRealtime() * 1000,
+ false);
+ doReturn(enhanced)
+ .when(mFeatureFactory.powerUsageFeatureProvider)
.isEnhancedBatteryPredictionEnabled(mContext);
return info;
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryMeterViewTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryMeterViewTest.java
index 0aa702a..ec3cfcf 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryMeterViewTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryMeterViewTest.java
@@ -39,12 +39,9 @@
private static final int BATTERY_CRITICAL_LEVEL = 15;
private static final int BATTERY_LOW_LEVEL = 3;
- @Mock
- private ColorFilter mErrorColorFilter;
- @Mock
- private ColorFilter mAccentColorFilter;
- @Mock
- private ColorFilter mForegroundColorFilter;
+ @Mock private ColorFilter mErrorColorFilter;
+ @Mock private ColorFilter mAccentColorFilter;
+ @Mock private ColorFilter mForegroundColorFilter;
private Context mContext;
private BatteryMeterView mBatteryMeterView;
private BatteryMeterView.BatteryMeterDrawable mDrawable;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtilsTest.java
index 87de62f..5f591eb 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtilsTest.java
@@ -57,8 +57,7 @@
BatteryOptimizeLogUtils.writeLog(mContext, Action.APPLY, "pkg1", "logs");
BatteryOptimizeLogUtils.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter);
- assertThat(mTestStringWriter.toString()).contains(
- "pkg1\taction:APPLY\tevent:logs");
+ assertThat(mTestStringWriter.toString()).contains("pkg1\taction:APPLY\tevent:logs");
}
@Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
index f9d3108..3551eeb 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
@@ -98,8 +98,7 @@
when(mMockAppOpsManager.checkOpNoThrow(anyInt(), anyInt(), anyString()))
.thenReturn(AppOpsManager.MODE_IGNORED);
- assertThat(mBatteryOptimizeUtils.getAppOptimizationMode())
- .isEqualTo(MODE_RESTRICTED);
+ assertThat(mBatteryOptimizeUtils.getAppOptimizationMode()).isEqualTo(MODE_RESTRICTED);
}
@Test
@@ -108,8 +107,7 @@
when(mMockAppOpsManager.checkOpNoThrow(anyInt(), anyInt(), anyString()))
.thenReturn(AppOpsManager.MODE_ALLOWED);
- assertThat(mBatteryOptimizeUtils.getAppOptimizationMode())
- .isEqualTo(MODE_UNRESTRICTED);
+ assertThat(mBatteryOptimizeUtils.getAppOptimizationMode()).isEqualTo(MODE_UNRESTRICTED);
}
@Test
@@ -118,8 +116,7 @@
when(mMockAppOpsManager.checkOpNoThrow(anyInt(), anyInt(), anyString()))
.thenReturn(AppOpsManager.MODE_ALLOWED);
- assertThat(mBatteryOptimizeUtils.getAppOptimizationMode())
- .isEqualTo(MODE_OPTIMIZED);
+ assertThat(mBatteryOptimizeUtils.getAppOptimizationMode()).isEqualTo(MODE_OPTIMIZED);
}
@Test
@@ -168,7 +165,6 @@
when(mMockAppOpsManager.checkOpNoThrow(anyInt(), anyInt(), anyString()))
.thenReturn(AppOpsManager.MODE_IGNORED);
-
mBatteryOptimizeUtils.setAppUsageState(MODE_UNRESTRICTED, Action.UNKNOWN);
TimeUnit.SECONDS.sleep(1);
@@ -205,18 +201,19 @@
@Test
public void testGetInstalledApplications_returnEmptyArray() {
- assertTrue(BatteryOptimizeUtils.getInstalledApplications(mContext, mMockIPackageManager)
- .isEmpty());
+ assertTrue(
+ BatteryOptimizeUtils.getInstalledApplications(mContext, mMockIPackageManager)
+ .isEmpty());
}
@Test
public void testGetInstalledApplications_returnNull() throws Exception {
final UserInfo userInfo =
- new UserInfo(/*userId=*/ 0, /*userName=*/ "google", /*flag=*/ 0);
+ new UserInfo(/* userId= */ 0, /* userName= */ "google", /* flag= */ 0);
doReturn(Arrays.asList(userInfo)).when(mMockUserManager).getProfiles(anyInt());
doThrow(new RuntimeException())
- .when(mMockIPackageManager)
- .getInstalledApplications(anyLong(), anyInt());
+ .when(mMockIPackageManager)
+ .getInstalledApplications(anyLong(), anyInt());
assertNull(BatteryOptimizeUtils.getInstalledApplications(mContext, mMockIPackageManager));
}
@@ -224,7 +221,7 @@
@Test
public void testGetInstalledApplications_returnInstalledApps() throws Exception {
final UserInfo userInfo =
- new UserInfo(/*userId=*/ 0, /*userName=*/ "google", /*flag=*/ 0);
+ new UserInfo(/* userId= */ 0, /* userName= */ "google", /* flag= */ 0);
doReturn(Arrays.asList(userInfo)).when(mMockUserManager).getProfiles(anyInt());
final ApplicationInfo applicationInfo1 = new ApplicationInfo();
@@ -242,10 +239,15 @@
applicationInfo4.enabled = true;
applicationInfo4.uid = 4;
applicationInfo4.enabledSetting = PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER;
- doReturn(new ParceledListSlice<ApplicationInfo>(
- Arrays.asList(applicationInfo1, applicationInfo2, applicationInfo3, applicationInfo4)))
- .when(mMockIPackageManager)
- .getInstalledApplications(anyLong(), anyInt());
+ doReturn(
+ new ParceledListSlice<ApplicationInfo>(
+ Arrays.asList(
+ applicationInfo1,
+ applicationInfo2,
+ applicationInfo3,
+ applicationInfo4)))
+ .when(mMockIPackageManager)
+ .getInstalledApplications(anyLong(), anyInt());
final ArraySet<ApplicationInfo> applications =
BatteryOptimizeUtils.getInstalledApplications(mContext, mMockIPackageManager);
@@ -260,7 +262,8 @@
@Test
public void testResetAppOptimizationMode_Optimized_verifyAction() throws Exception {
runTestForResetWithMode(
- AppOpsManager.MODE_ALLOWED, /* allowListed */ false,
+ AppOpsManager.MODE_ALLOWED, /* allowListed */
+ false,
/* isSystemOrDefaultApp */ false);
verifyNoInteractions(mMockBatteryUtils);
@@ -274,7 +277,8 @@
@Test
public void testResetAppOptimizationMode_SystemOrDefault_verifyAction() throws Exception {
runTestForResetWithMode(
- AppOpsManager.MODE_ALLOWED, /* allowListed */ true,
+ AppOpsManager.MODE_ALLOWED, /* allowListed */
+ true,
/* isSystemOrDefaultApp */ true);
verifyNoInteractions(mMockBatteryUtils);
@@ -289,7 +293,8 @@
@Test
public void testResetAppOptimizationMode_Restricted_verifyAction() throws Exception {
runTestForResetWithMode(
- AppOpsManager.MODE_IGNORED, /* allowListed */ false,
+ AppOpsManager.MODE_IGNORED, /* allowListed */
+ false,
/* isSystemOrDefaultApp */ false);
verifySetAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ false);
@@ -298,7 +303,8 @@
@Test
public void testResetAppOptimizationMode_Unrestricted_verifyAction() throws Exception {
runTestForResetWithMode(
- AppOpsManager.MODE_ALLOWED, /* allowListed */ true,
+ AppOpsManager.MODE_ALLOWED, /* allowListed */
+ true,
/* isSystemOrDefaultApp */ false);
verifySetAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ false);
@@ -308,32 +314,28 @@
int appStandbyMode, boolean allowListed, boolean isSystemOrDefaultApp)
throws Exception {
final UserInfo userInfo =
- new UserInfo(/*userId=*/ 0, /*userName=*/ "google", /*flag=*/ 0);
+ new UserInfo(/* userId= */ 0, /* userName= */ "google", /* flag= */ 0);
doReturn(Arrays.asList(userInfo)).when(mMockUserManager).getProfiles(anyInt());
final ApplicationInfo applicationInfo = new ApplicationInfo();
applicationInfo.uid = UID;
applicationInfo.packageName = PACKAGE_NAME;
applicationInfo.enabled = true;
- doReturn(new ParceledListSlice<ApplicationInfo>(
- Arrays.asList(applicationInfo)))
+ doReturn(new ParceledListSlice<ApplicationInfo>(Arrays.asList(applicationInfo)))
.when(mMockIPackageManager)
.getInstalledApplications(anyLong(), anyInt());
doReturn(appStandbyMode)
.when(mMockAppOpsManager)
.checkOpNoThrow(anyInt(), anyInt(), anyString());
- doReturn(allowListed)
- .when(mMockBackend)
- .isAllowlisted(anyString(), anyInt());
- doReturn(isSystemOrDefaultApp)
- .when(mMockBackend)
- .isSysAllowlisted(anyString());
- doReturn(isSystemOrDefaultApp)
- .when(mMockBackend)
- .isDefaultActiveApp(anyString(), anyInt());
+ doReturn(allowListed).when(mMockBackend).isAllowlisted(anyString(), anyInt());
+ doReturn(isSystemOrDefaultApp).when(mMockBackend).isSysAllowlisted(anyString());
+ doReturn(isSystemOrDefaultApp).when(mMockBackend).isDefaultActiveApp(anyString(), anyInt());
BatteryOptimizeUtils.resetAppOptimizationMode(
- mContext, mMockIPackageManager, mMockAppOpsManager, mMockBackend,
+ mContext,
+ mMockIPackageManager,
+ mMockAppOpsManager,
+ mMockBackend,
mMockBatteryUtils);
TimeUnit.SECONDS.sleep(1);
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java
index ddb9860..8d9a1c0 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java
@@ -21,11 +21,9 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import android.app.settings.SettingsEnums;
import android.content.Context;
import android.os.PowerManager;
import android.provider.Settings;
-import android.util.Pair;
import androidx.preference.Preference;
@@ -41,10 +39,8 @@
@RunWith(RobolectricTestRunner.class)
public class BatterySaverControllerTest {
- @Mock
- private Preference mBatterySaverPref;
- @Mock
- private PowerManager mPowerManager;
+ @Mock private Preference mBatterySaverPref;
+ @Mock private PowerManager mPowerManager;
private BatterySaverController mBatterySaverController;
private Context mContext;
@@ -58,8 +54,8 @@
ReflectionHelpers.setField(mBatterySaverController, "mPowerManager", mPowerManager);
ReflectionHelpers.setField(mBatterySaverController, "mBatterySaverPref", mBatterySaverPref);
- Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
+ Settings.Global.putInt(
+ mContext.getContentResolver(), Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
}
@Test
@@ -84,8 +80,8 @@
@Test
public void getSummary_batterySaverOffButScheduled_showSummaryScheduled() {
when(mPowerManager.isPowerSaveMode()).thenReturn(false);
- Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 15);
+ Settings.Global.putInt(
+ mContext.getContentResolver(), Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 15);
assertThat(mBatterySaverController.getSummary()).isEqualTo("Will turn on at 15%");
}
@@ -93,8 +89,8 @@
@Test
public void getSummary_batterySaverOffButScheduledZeroPercent_showSummaryOff() {
when(mPowerManager.isPowerSaveMode()).thenReturn(false);
- Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
+ Settings.Global.putInt(
+ mContext.getContentResolver(), Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
assertThat(mBatterySaverController.getSummary()).isEqualTo("Off");
}
@@ -107,8 +103,8 @@
Settings.Global.AUTOMATIC_POWER_SAVE_MODE,
PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC);
- assertThat(mBatterySaverController.getSummary()).
- isEqualTo("Will turn on based on your routine");
+ assertThat(mBatterySaverController.getSummary())
+ .isEqualTo("Will turn on based on your routine");
}
@Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverReceiverTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverReceiverTest.java
index e411531..e3e00ec1 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverReceiverTest.java
@@ -32,10 +32,8 @@
@RunWith(RobolectricTestRunner.class)
public class BatterySaverReceiverTest {
- @Mock
- private BatterySaverReceiver.BatterySaverListener mBatterySaverListener;
- @Mock
- private Context mContext;
+ @Mock private BatterySaverReceiver.BatterySaverListener mBatterySaverListener;
+ @Mock private Context mContext;
private BatterySaverReceiver mBatterySaverReceiver;
@Before
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsMigrateCheckerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsMigrateCheckerTest.java
index bab19e5..ba7e9cc 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsMigrateCheckerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsMigrateCheckerTest.java
@@ -56,18 +56,15 @@
@Config(shadows = {BatterySettingsMigrateCheckerTest.ShadowUserHandle.class})
public final class BatterySettingsMigrateCheckerTest {
- private static final Intent BOOT_COMPLETED_INTENT =
- new Intent(Intent.ACTION_BOOT_COMPLETED);
+ private static final Intent BOOT_COMPLETED_INTENT = new Intent(Intent.ACTION_BOOT_COMPLETED);
private static final int UID = 2003;
private static final String PACKAGE_NAME = "com.android.test.app";
private Context mContext;
private BatterySettingsMigrateChecker mBatterySettingsMigrateChecker;
- @Mock
- private PackageManager mPackageManager;
- @Mock
- private BatteryOptimizeUtils mBatteryOptimizeUtils;
+ @Mock private PackageManager mPackageManager;
+ @Mock private BatteryOptimizeUtils mBatteryOptimizeUtils;
@Before
public void setUp() throws Exception {
@@ -76,7 +73,8 @@
BatteryUtils.getInstance(mContext).reset();
doReturn(mContext).when(mContext).getApplicationContext();
doReturn(mPackageManager).when(mContext).getPackageManager();
- doReturn(UID).when(mPackageManager)
+ doReturn(UID)
+ .when(mPackageManager)
.getPackageUid(PACKAGE_NAME, PackageManager.GET_META_DATA);
BatterySettingsMigrateChecker.sBatteryOptimizeUtils = mBatteryOptimizeUtils;
mBatterySettingsMigrateChecker = new BatterySettingsMigrateChecker();
@@ -150,45 +148,42 @@
}
@Test
- public void verifyBatteryOptimizeModeApps_inAllowList_resetOptimizationMode()
- throws Exception {
- doReturn(BatteryOptimizeUtils.MODE_RESTRICTED).when(mBatteryOptimizeUtils)
+ public void verifyBatteryOptimizeModeApps_inAllowList_resetOptimizationMode() throws Exception {
+ doReturn(BatteryOptimizeUtils.MODE_RESTRICTED)
+ .when(mBatteryOptimizeUtils)
.getAppOptimizationMode();
mBatterySettingsMigrateChecker.verifyBatteryOptimizeModeApps(
- mContext,
- BatteryOptimizeUtils.MODE_OPTIMIZED,
- Arrays.asList(PACKAGE_NAME));
+ mContext, BatteryOptimizeUtils.MODE_OPTIMIZED, Arrays.asList(PACKAGE_NAME));
final InOrder inOrder = inOrder(mBatteryOptimizeUtils);
inOrder.verify(mBatteryOptimizeUtils).getAppOptimizationMode();
- inOrder.verify(mBatteryOptimizeUtils).setAppUsageState(
- BatteryOptimizeUtils.MODE_OPTIMIZED,
- BatteryOptimizeHistoricalLogEntry.Action.FORCE_RESET);
+ inOrder.verify(mBatteryOptimizeUtils)
+ .setAppUsageState(
+ BatteryOptimizeUtils.MODE_OPTIMIZED,
+ BatteryOptimizeHistoricalLogEntry.Action.FORCE_RESET);
}
@Test
public void verifyBatteryOptimizeModeApps_optimizedMode_noAction() throws Exception {
- doReturn(BatteryOptimizeUtils.MODE_OPTIMIZED).when(mBatteryOptimizeUtils)
+ doReturn(BatteryOptimizeUtils.MODE_OPTIMIZED)
+ .when(mBatteryOptimizeUtils)
.getAppOptimizationMode();
mBatterySettingsMigrateChecker.verifyBatteryOptimizeModeApps(
- mContext,
- BatteryOptimizeUtils.MODE_OPTIMIZED,
- Arrays.asList(PACKAGE_NAME));
+ mContext, BatteryOptimizeUtils.MODE_OPTIMIZED, Arrays.asList(PACKAGE_NAME));
verify(mBatteryOptimizeUtils, never()).setAppUsageState(anyInt(), any());
}
@Test
public void verifyBatteryOptimizeModeApps_notInAllowList_noAction() throws Exception {
- doReturn(BatteryOptimizeUtils.MODE_RESTRICTED).when(mBatteryOptimizeUtils)
+ doReturn(BatteryOptimizeUtils.MODE_RESTRICTED)
+ .when(mBatteryOptimizeUtils)
.getAppOptimizationMode();
mBatterySettingsMigrateChecker.verifyBatteryOptimizeModeApps(
- mContext,
- BatteryOptimizeUtils.MODE_OPTIMIZED,
- new ArrayList<String>());
+ mContext, BatteryOptimizeUtils.MODE_OPTIMIZED, new ArrayList<String>());
verifyNoInteractions(mBatteryOptimizeUtils);
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
index 2fe0cec..0d8c669 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
@@ -106,32 +106,22 @@
private static final String INFO_EXCESSIVE = "anomaly_type=4,auto_restriction=false";
private static final String INFO_WAKELOCK = "anomaly_type=1,auto_restriction=false";
- @Mock
- private BatteryStats.Uid mUid;
- @Mock
- private BatteryStats.Timer mTimer;
- @Mock
- private BatteryUsageStats mBatteryUsageStats;
- @Mock
- private BatteryConsumer mAggregateBatteryConsumer;
- @Mock
- private BatteryInfo mBatteryInfo;
- @Mock
- private PackageManager mPackageManager;
- @Mock
- private AppOpsManager mAppOpsManager;
- @Mock
- private ApplicationInfo mApplicationInfo;
+ @Mock private BatteryStats.Uid mUid;
+ @Mock private BatteryStats.Timer mTimer;
+ @Mock private BatteryUsageStats mBatteryUsageStats;
+ @Mock private BatteryConsumer mAggregateBatteryConsumer;
+ @Mock private BatteryInfo mBatteryInfo;
+ @Mock private PackageManager mPackageManager;
+ @Mock private AppOpsManager mAppOpsManager;
+ @Mock private ApplicationInfo mApplicationInfo;
+
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private BatteryStatsManager mBatteryStatsManager;
- @Mock
- private ApplicationInfo mHighApplicationInfo;
- @Mock
- private ApplicationInfo mLowApplicationInfo;
- @Mock
- private PowerAllowlistBackend mPowerAllowlistBackend;
- @Mock
- private BatteryDatabaseManager mBatteryDatabaseManager;
+
+ @Mock private ApplicationInfo mHighApplicationInfo;
+ @Mock private ApplicationInfo mLowApplicationInfo;
+ @Mock private PowerAllowlistBackend mPowerAllowlistBackend;
+ @Mock private BatteryDatabaseManager mBatteryDatabaseManager;
private AnomalyInfo mAnomalyInfo;
private BatteryUtils mBatteryUtils;
private FakeFeatureFactory mFeatureFactory;
@@ -145,16 +135,21 @@
mFeatureFactory = FakeFeatureFactory.setupForTest();
mProvider = mFeatureFactory.powerUsageFeatureProvider;
- doReturn(TIME_STATE_TOP).when(mUid).getProcessStateTime(eq(PROCESS_STATE_TOP), anyLong(),
- anyInt());
- doReturn(TIME_STATE_FOREGROUND_SERVICE).when(mUid).getProcessStateTime(
- eq(PROCESS_STATE_FOREGROUND_SERVICE), anyLong(), anyInt());
- doReturn(TIME_STATE_TOP_SLEEPING).when(mUid).getProcessStateTime(
- eq(PROCESS_STATE_TOP_SLEEPING), anyLong(), anyInt());
- doReturn(TIME_STATE_FOREGROUND).when(mUid).getProcessStateTime(eq(PROCESS_STATE_FOREGROUND),
- anyLong(), anyInt());
- doReturn(TIME_STATE_BACKGROUND).when(mUid).getProcessStateTime(eq(PROCESS_STATE_BACKGROUND),
- anyLong(), anyInt());
+ doReturn(TIME_STATE_TOP)
+ .when(mUid)
+ .getProcessStateTime(eq(PROCESS_STATE_TOP), anyLong(), anyInt());
+ doReturn(TIME_STATE_FOREGROUND_SERVICE)
+ .when(mUid)
+ .getProcessStateTime(eq(PROCESS_STATE_FOREGROUND_SERVICE), anyLong(), anyInt());
+ doReturn(TIME_STATE_TOP_SLEEPING)
+ .when(mUid)
+ .getProcessStateTime(eq(PROCESS_STATE_TOP_SLEEPING), anyLong(), anyInt());
+ doReturn(TIME_STATE_FOREGROUND)
+ .when(mUid)
+ .getProcessStateTime(eq(PROCESS_STATE_FOREGROUND), anyLong(), anyInt());
+ doReturn(TIME_STATE_BACKGROUND)
+ .when(mUid)
+ .getProcessStateTime(eq(PROCESS_STATE_BACKGROUND), anyLong(), anyInt());
when(mPackageManager.getApplicationInfo(eq(HIGH_SDK_PACKAGE), anyInt()))
.thenReturn(mHighApplicationInfo);
@@ -166,12 +161,14 @@
mContext = spy(RuntimeEnvironment.application);
doReturn(mPackageManager).when(mContext).getPackageManager();
doReturn(mAppOpsManager).when(mContext).getSystemService(Context.APP_OPS_SERVICE);
- doReturn(mBatteryStatsManager).when(mContext)
+ doReturn(mBatteryStatsManager)
+ .when(mContext)
.getSystemService(Context.BATTERY_STATS_SERVICE);
mBatteryUtils = spy(new BatteryUtils(mContext));
mBatteryUtils.mPowerUsageFeatureProvider = mProvider;
- doReturn(0L).when(mBatteryUtils)
- .getForegroundServiceTotalTimeUs(any(BatteryStats.Uid.class), anyLong());
+ doReturn(0L)
+ .when(mBatteryUtils)
+ .getForegroundServiceTotalTimeUs(any(BatteryStats.Uid.class), anyLong());
mAnomalyInfo = new AnomalyInfo(INFO_WAKELOCK);
BatteryDatabaseManager.setUpForTest(mBatteryDatabaseManager);
@@ -180,54 +177,62 @@
@Test
public void testGetProcessTimeMs_typeForeground_timeCorrect() {
- doReturn(TIME_STATE_FOREGROUND + 500).when(mBatteryUtils)
- .getForegroundActivityTotalTimeUs(eq(mUid), anyLong());
+ doReturn(TIME_STATE_FOREGROUND + 500)
+ .when(mBatteryUtils)
+ .getForegroundActivityTotalTimeUs(eq(mUid), anyLong());
- final long time = mBatteryUtils.getProcessTimeMs(BatteryUtils.StatusType.FOREGROUND, mUid,
- BatteryStats.STATS_SINCE_CHARGED);
+ final long time =
+ mBatteryUtils.getProcessTimeMs(
+ BatteryUtils.StatusType.FOREGROUND, mUid, BatteryStats.STATS_SINCE_CHARGED);
assertThat(time).isEqualTo(TIME_EXPECTED_FOREGROUND);
}
@Test
public void testGetProcessTimeMs_typeBackground_timeCorrect() {
- final long time = mBatteryUtils.getProcessTimeMs(BatteryUtils.StatusType.BACKGROUND, mUid,
- BatteryStats.STATS_SINCE_CHARGED);
+ final long time =
+ mBatteryUtils.getProcessTimeMs(
+ BatteryUtils.StatusType.BACKGROUND, mUid, BatteryStats.STATS_SINCE_CHARGED);
assertThat(time).isEqualTo(TIME_EXPECTED_BACKGROUND);
}
@Test
public void testGetProcessTimeMs_typeAll_timeCorrect() {
- doReturn(TIME_STATE_FOREGROUND + 500).when(mBatteryUtils)
- .getForegroundActivityTotalTimeUs(eq(mUid), anyLong());
+ doReturn(TIME_STATE_FOREGROUND + 500)
+ .when(mBatteryUtils)
+ .getForegroundActivityTotalTimeUs(eq(mUid), anyLong());
- final long time = mBatteryUtils.getProcessTimeMs(BatteryUtils.StatusType.ALL, mUid,
- BatteryStats.STATS_SINCE_CHARGED);
+ final long time =
+ mBatteryUtils.getProcessTimeMs(
+ BatteryUtils.StatusType.ALL, mUid, BatteryStats.STATS_SINCE_CHARGED);
assertThat(time).isEqualTo(TIME_EXPECTED_ALL);
}
@Test
public void testGetProcessTimeMs_uidNull_returnZero() {
- final long time = mBatteryUtils.getProcessTimeMs(BatteryUtils.StatusType.ALL, null,
- BatteryStats.STATS_SINCE_CHARGED);
+ final long time =
+ mBatteryUtils.getProcessTimeMs(
+ BatteryUtils.StatusType.ALL, null, BatteryStats.STATS_SINCE_CHARGED);
assertThat(time).isEqualTo(0);
}
@Test
public void testCalculateBatteryPercent() {
- assertThat(mBatteryUtils.calculateBatteryPercent(BATTERY_SYSTEM_USAGE, TOTAL_BATTERY_USAGE,
- DISCHARGE_AMOUNT))
- .isWithin(PRECISION).of(PERCENT_SYSTEM_USAGE);
+ assertThat(
+ mBatteryUtils.calculateBatteryPercent(
+ BATTERY_SYSTEM_USAGE, TOTAL_BATTERY_USAGE, DISCHARGE_AMOUNT))
+ .isWithin(PRECISION)
+ .of(PERCENT_SYSTEM_USAGE);
}
@Test
public void testCalculateLastFullChargeTime() {
final long currentTimeMs = System.currentTimeMillis();
- when(mBatteryUsageStats.getStatsStartTimestamp()).thenReturn(
- currentTimeMs - TIME_SINCE_LAST_FULL_CHARGE_MS);
+ when(mBatteryUsageStats.getStatsStartTimestamp())
+ .thenReturn(currentTimeMs - TIME_SINCE_LAST_FULL_CHARGE_MS);
assertThat(mBatteryUtils.calculateLastFullChargeTime(mBatteryUsageStats, currentTimeMs))
.isEqualTo(TIME_SINCE_LAST_FULL_CHARGE_MS);
@@ -237,49 +242,54 @@
public void testGetForegroundActivityTotalTimeMs_returnMilliseconds() {
final long rawRealtimeUs = SystemClock.elapsedRealtime() * 1000;
doReturn(mTimer).when(mUid).getForegroundActivityTimer();
- doReturn(TIME_SINCE_LAST_FULL_CHARGE_US).when(mTimer)
+ doReturn(TIME_SINCE_LAST_FULL_CHARGE_US)
+ .when(mTimer)
.getTotalTimeLocked(rawRealtimeUs, BatteryStats.STATS_SINCE_CHARGED);
- assertThat(mBatteryUtils.getForegroundActivityTotalTimeUs(mUid, rawRealtimeUs)).isEqualTo(
- TIME_SINCE_LAST_FULL_CHARGE_US);
+ assertThat(mBatteryUtils.getForegroundActivityTotalTimeUs(mUid, rawRealtimeUs))
+ .isEqualTo(TIME_SINCE_LAST_FULL_CHARGE_US);
}
@Test
- public void testGetTargetSdkVersion_packageExist_returnSdk() throws
- PackageManager.NameNotFoundException {
- doReturn(mApplicationInfo).when(mPackageManager).getApplicationInfo(PACKAGE_NAME,
- PackageManager.GET_META_DATA);
+ public void testGetTargetSdkVersion_packageExist_returnSdk()
+ throws PackageManager.NameNotFoundException {
+ doReturn(mApplicationInfo)
+ .when(mPackageManager)
+ .getApplicationInfo(PACKAGE_NAME, PackageManager.GET_META_DATA);
mApplicationInfo.targetSdkVersion = SDK_VERSION;
assertThat(mBatteryUtils.getTargetSdkVersion(PACKAGE_NAME)).isEqualTo(SDK_VERSION);
}
@Test
- public void testGetTargetSdkVersion_packageNotExist_returnSdkNull() throws
- PackageManager.NameNotFoundException {
- doThrow(new PackageManager.NameNotFoundException()).when(
- mPackageManager).getApplicationInfo(PACKAGE_NAME, PackageManager.GET_META_DATA);
+ public void testGetTargetSdkVersion_packageNotExist_returnSdkNull()
+ throws PackageManager.NameNotFoundException {
+ doThrow(new PackageManager.NameNotFoundException())
+ .when(mPackageManager)
+ .getApplicationInfo(PACKAGE_NAME, PackageManager.GET_META_DATA);
- assertThat(mBatteryUtils.getTargetSdkVersion(PACKAGE_NAME)).isEqualTo(
- BatteryUtils.SDK_NULL);
+ assertThat(mBatteryUtils.getTargetSdkVersion(PACKAGE_NAME))
+ .isEqualTo(BatteryUtils.SDK_NULL);
}
@Test
public void testBackgroundRestrictionOn_restrictionOn_returnTrue() {
- doReturn(AppOpsManager.MODE_IGNORED).when(mAppOpsManager).checkOpNoThrow(
- AppOpsManager.OP_RUN_IN_BACKGROUND, UID, PACKAGE_NAME);
+ doReturn(AppOpsManager.MODE_IGNORED)
+ .when(mAppOpsManager)
+ .checkOpNoThrow(AppOpsManager.OP_RUN_IN_BACKGROUND, UID, PACKAGE_NAME);
- assertThat(mBatteryUtils.isBackgroundRestrictionEnabled(SDK_VERSION, UID,
- PACKAGE_NAME)).isTrue();
+ assertThat(mBatteryUtils.isBackgroundRestrictionEnabled(SDK_VERSION, UID, PACKAGE_NAME))
+ .isTrue();
}
@Test
public void testBackgroundRestrictionOn_restrictionOff_returnFalse() {
- doReturn(AppOpsManager.MODE_ALLOWED).when(mAppOpsManager).checkOpNoThrow(
- AppOpsManager.OP_RUN_IN_BACKGROUND, UID, PACKAGE_NAME);
+ doReturn(AppOpsManager.MODE_ALLOWED)
+ .when(mAppOpsManager)
+ .checkOpNoThrow(AppOpsManager.OP_RUN_IN_BACKGROUND, UID, PACKAGE_NAME);
assertThat(mBatteryUtils.isBackgroundRestrictionEnabled(SDK_VERSION, UID, PACKAGE_NAME))
- .isFalse();
+ .isFalse();
}
@Test
@@ -294,13 +304,13 @@
@Test
public void testIsPreOApp_containPreOApp_ReturnTrue() {
- assertThat(
- mBatteryUtils.isPreOApp(new String[]{HIGH_SDK_PACKAGE, LOW_SDK_PACKAGE})).isTrue();
+ assertThat(mBatteryUtils.isPreOApp(new String[] {HIGH_SDK_PACKAGE, LOW_SDK_PACKAGE}))
+ .isTrue();
}
@Test
public void testIsPreOApp_emptyList_ReturnFalse() {
- assertThat(mBatteryUtils.isPreOApp(new String[]{})).isFalse();
+ assertThat(mBatteryUtils.isPreOApp(new String[] {})).isFalse();
}
@Ignore
@@ -309,10 +319,18 @@
mBatteryUtils.setForceAppStandby(UID, LOW_SDK_PACKAGE, AppOpsManager.MODE_IGNORED);
// Restrict both OP_RUN_IN_BACKGROUND and OP_RUN_ANY_IN_BACKGROUND
- verify(mAppOpsManager).setMode(AppOpsManager.OP_RUN_IN_BACKGROUND, UID, LOW_SDK_PACKAGE,
- AppOpsManager.MODE_IGNORED);
- verify(mAppOpsManager).setMode(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID, LOW_SDK_PACKAGE,
- AppOpsManager.MODE_IGNORED);
+ verify(mAppOpsManager)
+ .setMode(
+ AppOpsManager.OP_RUN_IN_BACKGROUND,
+ UID,
+ LOW_SDK_PACKAGE,
+ AppOpsManager.MODE_IGNORED);
+ verify(mAppOpsManager)
+ .setMode(
+ AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+ UID,
+ LOW_SDK_PACKAGE,
+ AppOpsManager.MODE_IGNORED);
}
@Ignore
@@ -321,42 +339,53 @@
mBatteryUtils.setForceAppStandby(UID, HIGH_SDK_PACKAGE, AppOpsManager.MODE_IGNORED);
// Don't restrict OP_RUN_IN_BACKGROUND because it is already been restricted for O app
- verify(mAppOpsManager, never()).setMode(AppOpsManager.OP_RUN_IN_BACKGROUND, UID,
- HIGH_SDK_PACKAGE, AppOpsManager.MODE_IGNORED);
+ verify(mAppOpsManager, never())
+ .setMode(
+ AppOpsManager.OP_RUN_IN_BACKGROUND,
+ UID,
+ HIGH_SDK_PACKAGE,
+ AppOpsManager.MODE_IGNORED);
// Restrict OP_RUN_ANY_IN_BACKGROUND
- verify(mAppOpsManager).setMode(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
- HIGH_SDK_PACKAGE, AppOpsManager.MODE_IGNORED);
+ verify(mAppOpsManager)
+ .setMode(
+ AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+ UID,
+ HIGH_SDK_PACKAGE,
+ AppOpsManager.MODE_IGNORED);
}
@Test
public void testSetForceAppStandby_restrictApp_recordTime() {
mBatteryUtils.setForceAppStandby(UID, HIGH_SDK_PACKAGE, AppOpsManager.MODE_IGNORED);
- verify(mBatteryDatabaseManager).insertAction(
- eq(AnomalyDatabaseHelper.ActionType.RESTRICTION), eq(UID),
- eq(HIGH_SDK_PACKAGE), anyLong());
+ verify(mBatteryDatabaseManager)
+ .insertAction(
+ eq(AnomalyDatabaseHelper.ActionType.RESTRICTION), eq(UID),
+ eq(HIGH_SDK_PACKAGE), anyLong());
}
@Test
public void testSetForceAppStandby_unrestrictApp_deleteTime() {
mBatteryUtils.setForceAppStandby(UID, HIGH_SDK_PACKAGE, AppOpsManager.MODE_ALLOWED);
- verify(mBatteryDatabaseManager).deleteAction(AnomalyDatabaseHelper.ActionType.RESTRICTION,
- UID, HIGH_SDK_PACKAGE);
+ verify(mBatteryDatabaseManager)
+ .deleteAction(AnomalyDatabaseHelper.ActionType.RESTRICTION, UID, HIGH_SDK_PACKAGE);
}
@Test
public void testIsForceAppStandbyEnabled_enabled_returnTrue() {
- when(mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
- PACKAGE_NAME)).thenReturn(AppOpsManager.MODE_IGNORED);
+ when(mAppOpsManager.checkOpNoThrow(
+ AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID, PACKAGE_NAME))
+ .thenReturn(AppOpsManager.MODE_IGNORED);
assertThat(mBatteryUtils.isForceAppStandbyEnabled(UID, PACKAGE_NAME)).isTrue();
}
@Test
public void testIsForceAppStandbyEnabled_disabled_returnFalse() {
- when(mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
- PACKAGE_NAME)).thenReturn(AppOpsManager.MODE_ALLOWED);
+ when(mAppOpsManager.checkOpNoThrow(
+ AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID, PACKAGE_NAME))
+ .thenReturn(AppOpsManager.MODE_ALLOWED);
assertThat(mBatteryUtils.isForceAppStandbyEnabled(UID, PACKAGE_NAME)).isFalse();
}
@@ -369,77 +398,85 @@
resolveInfo.activityInfo.packageName = HIGH_SDK_PACKAGE;
doReturn(resolveInfos).when(mPackageManager).queryIntentActivities(any(), anyInt());
- doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
+ doReturn(new String[] {HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
mHighApplicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
- assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
- mAnomalyInfo)).isTrue();
+ assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID, mAnomalyInfo))
+ .isTrue();
}
@Test
public void testShouldHideAnomaly_systemAppWithoutLauncher_returnTrue() {
doReturn(new ArrayList<>()).when(mPackageManager).queryIntentActivities(any(), anyInt());
- doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
+ doReturn(new String[] {HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
mHighApplicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
- assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
- mAnomalyInfo)).isTrue();
+ assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID, mAnomalyInfo))
+ .isTrue();
}
@Test
public void testShouldHideAnomaly_systemUid_returnTrue() {
final int systemUid = Process.ROOT_UID;
- doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(systemUid);
+ doReturn(new String[] {HIGH_SDK_PACKAGE})
+ .when(mPackageManager)
+ .getPackagesForUid(systemUid);
- assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, systemUid,
- mAnomalyInfo)).isTrue();
+ assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, systemUid, mAnomalyInfo))
+ .isTrue();
}
@Test
public void testShouldHideAnomaly_AppInDozeList_returnTrue() {
- doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
- doReturn(true).when(mPowerAllowlistBackend)
- .isAllowlisted(new String[]{HIGH_SDK_PACKAGE}, UID);
+ doReturn(new String[] {HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
+ doReturn(true)
+ .when(mPowerAllowlistBackend)
+ .isAllowlisted(new String[] {HIGH_SDK_PACKAGE}, UID);
- assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
- mAnomalyInfo)).isTrue();
+ assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID, mAnomalyInfo))
+ .isTrue();
}
@Test
public void testShouldHideAnomaly_normalApp_returnFalse() {
- doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
+ doReturn(new String[] {HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
- assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
- mAnomalyInfo)).isFalse();
+ assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID, mAnomalyInfo))
+ .isFalse();
}
@Test
public void testShouldHideAnomaly_excessivePriorOApp_returnFalse() {
- doReturn(new String[]{LOW_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
+ doReturn(new String[] {LOW_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
mAnomalyInfo = new AnomalyInfo(INFO_EXCESSIVE);
- assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
- mAnomalyInfo)).isFalse();
+ assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID, mAnomalyInfo))
+ .isFalse();
}
@Test
public void testShouldHideAnomaly_excessiveOApp_returnTrue() {
- doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
+ doReturn(new String[] {HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
mAnomalyInfo = new AnomalyInfo(INFO_EXCESSIVE);
- assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
- mAnomalyInfo)).isTrue();
+ assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID, mAnomalyInfo))
+ .isTrue();
}
@Test
public void clearForceAppStandby_appRestricted_clearAndReturnTrue() {
when(mBatteryUtils.getPackageUid(HIGH_SDK_PACKAGE)).thenReturn(UID);
- when(mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
- HIGH_SDK_PACKAGE)).thenReturn(AppOpsManager.MODE_IGNORED);
+ when(mAppOpsManager.checkOpNoThrow(
+ AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID, HIGH_SDK_PACKAGE))
+ .thenReturn(AppOpsManager.MODE_IGNORED);
assertThat(mBatteryUtils.clearForceAppStandby(HIGH_SDK_PACKAGE)).isTrue();
- verify(mAppOpsManager).setMode(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
- HIGH_SDK_PACKAGE, AppOpsManager.MODE_ALLOWED);
+ verify(mAppOpsManager)
+ .setMode(
+ AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+ UID,
+ HIGH_SDK_PACKAGE,
+ AppOpsManager.MODE_ALLOWED);
}
@Test
@@ -447,29 +484,38 @@
when(mBatteryUtils.getPackageUid(PACKAGE_NAME)).thenReturn(BatteryUtils.UID_NULL);
assertThat(mBatteryUtils.clearForceAppStandby(PACKAGE_NAME)).isFalse();
- verify(mAppOpsManager, never()).setMode(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
- PACKAGE_NAME, AppOpsManager.MODE_ALLOWED);
+ verify(mAppOpsManager, never())
+ .setMode(
+ AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+ UID,
+ PACKAGE_NAME,
+ AppOpsManager.MODE_ALLOWED);
}
@Test
public void clearForceAppStandby_appUnrestricted_returnFalse() {
when(mBatteryUtils.getPackageUid(PACKAGE_NAME)).thenReturn(UID);
- when(mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
- PACKAGE_NAME)).thenReturn(AppOpsManager.MODE_ALLOWED);
+ when(mAppOpsManager.checkOpNoThrow(
+ AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID, PACKAGE_NAME))
+ .thenReturn(AppOpsManager.MODE_ALLOWED);
assertThat(mBatteryUtils.clearForceAppStandby(PACKAGE_NAME)).isFalse();
- verify(mAppOpsManager, never()).setMode(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
- PACKAGE_NAME, AppOpsManager.MODE_ALLOWED);
+ verify(mAppOpsManager, never())
+ .setMode(
+ AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+ UID,
+ PACKAGE_NAME,
+ AppOpsManager.MODE_ALLOWED);
}
@Test
public void getBatteryInfo_providerNull_shouldNotCrash() {
when(mProvider.isEnhancedBatteryPredictionEnabled(mContext)).thenReturn(true);
when(mProvider.getEnhancedBatteryPrediction(mContext)).thenReturn(null);
- when(mContext.registerReceiver(nullable(BroadcastReceiver.class),
- any(IntentFilter.class))).thenReturn(new Intent());
+ when(mContext.registerReceiver(nullable(BroadcastReceiver.class), any(IntentFilter.class)))
+ .thenReturn(new Intent());
- //Should not crash
+ // Should not crash
assertThat(mBatteryUtils.getBatteryInfo(TAG)).isNotNull();
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java
index 3097a70..46d2d01 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java
@@ -51,10 +51,8 @@
private HighPowerDetail mFragment;
private Context mContext;
- @Mock
- private PowerAllowlistBackend mPowerAllowlistBackend;
- @Mock
- private BatteryUtils mBatteryUtils;
+ @Mock private PowerAllowlistBackend mPowerAllowlistBackend;
+ @Mock private BatteryUtils mBatteryUtils;
@Before
public void setUp() {
@@ -73,13 +71,19 @@
public void logSpecialPermissionChange() {
// Deny means app is allowlisted to opt out of power save restrictions
HighPowerDetail.logSpecialPermissionChange(true, "app", RuntimeEnvironment.application);
- verify(mFeatureFactory.metricsFeatureProvider).action(any(Context.class),
- eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_BATTERY_DENY), eq("app"));
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ any(Context.class),
+ eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_BATTERY_DENY),
+ eq("app"));
// Allow means app is NOT allowlisted to opt out of power save restrictions
HighPowerDetail.logSpecialPermissionChange(false, "app", RuntimeEnvironment.application);
- verify(mFeatureFactory.metricsFeatureProvider).action(any(Context.class),
- eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_BATTERY_ALLOW), eq("app"));
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ any(Context.class),
+ eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_BATTERY_ALLOW),
+ eq("app"));
}
@Test
@@ -87,15 +91,17 @@
mFragment.mIsEnabled = true;
when(mPowerAllowlistBackend.isAllowlisted(TEST_PACKAGE, TEST_UID)).thenReturn(false);
mFragment.onClick(null, DialogInterface.BUTTON_POSITIVE);
- verify(mBatteryUtils).setForceAppStandby(TEST_UID, TEST_PACKAGE,
- AppOpsManager.MODE_ALLOWED);
+ verify(mBatteryUtils)
+ .setForceAppStandby(TEST_UID, TEST_PACKAGE, AppOpsManager.MODE_ALLOWED);
}
@Test
public void getSummary_defaultActivePackage_returnUnavailable() {
doReturn(true).when(mPowerAllowlistBackend).isDefaultActiveApp(TEST_PACKAGE, TEST_UID);
- assertThat(HighPowerDetail.getSummary(mContext, mPowerAllowlistBackend, TEST_PACKAGE,
- TEST_UID)).isEqualTo(mContext.getString(R.string.high_power_system));
+ assertThat(
+ HighPowerDetail.getSummary(
+ mContext, mPowerAllowlistBackend, TEST_PACKAGE, TEST_UID))
+ .isEqualTo(mContext.getString(R.string.high_power_system));
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java
index bfed149..6656471 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java
@@ -76,8 +76,8 @@
public void testUpdateState_isSystemOrDefaultAppAndOptimizeStates_prefChecked() {
when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
- when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
- BatteryOptimizeUtils.MODE_OPTIMIZED);
+ when(mBatteryOptimizeUtils.getAppOptimizationMode())
+ .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
mController.updateState(mPreference);
@@ -98,8 +98,8 @@
@Test
public void testUpdateState_isOptimizedStates_prefChecked() {
when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
- when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
- BatteryOptimizeUtils.MODE_OPTIMIZED);
+ when(mBatteryOptimizeUtils.getAppOptimizationMode())
+ .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
mController.updateState(mPreference);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetailTest.java
index e6caf78..3b80efb 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetailTest.java
@@ -39,7 +39,7 @@
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.UserHandle;
-import android.widget.Switch;
+import android.widget.CompoundButton;
import androidx.fragment.app.FragmentActivity;
import androidx.loader.app.LoaderManager;
@@ -72,11 +72,12 @@
import org.robolectric.util.ReflectionHelpers;
@RunWith(RobolectricTestRunner.class)
-@Config(shadows = {
- ShadowEntityHeaderController.class,
- ShadowActivityManager.class,
- com.android.settings.testutils.shadow.ShadowFragment.class,
-})
+@Config(
+ shadows = {
+ ShadowEntityHeaderController.class,
+ ShadowActivityManager.class,
+ com.android.settings.testutils.shadow.ShadowFragment.class,
+ })
public class PowerBackgroundUsageDetailTest {
private static final String APP_LABEL = "app label";
private static final String SUMMARY = "summary";
@@ -96,30 +97,19 @@
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private FragmentActivity mActivity;
- @Mock
- private EntityHeaderController mEntityHeaderController;
- @Mock
- private BatteryOptimizeUtils mBatteryOptimizeUtils;
- @Mock
- private LayoutPreference mHeaderPreference;
- @Mock
- private ApplicationsState mState;
- @Mock
- private Bundle mBundle;
- @Mock
- private LoaderManager mLoaderManager;
- @Mock
- private ApplicationsState.AppEntry mAppEntry;
- @Mock
- private BatteryEntry mBatteryEntry;
- @Mock
- private BackupManager mBackupManager;
- @Mock
- private PackageManager mPackageManager;
- @Mock
- private AppOpsManager mAppOpsManager;
- @Mock
- private Switch mMockSwitch;
+
+ @Mock private EntityHeaderController mEntityHeaderController;
+ @Mock private BatteryOptimizeUtils mBatteryOptimizeUtils;
+ @Mock private LayoutPreference mHeaderPreference;
+ @Mock private ApplicationsState mState;
+ @Mock private Bundle mBundle;
+ @Mock private LoaderManager mLoaderManager;
+ @Mock private ApplicationsState.AppEntry mAppEntry;
+ @Mock private BatteryEntry mBatteryEntry;
+ @Mock private BackupManager mBackupManager;
+ @Mock private PackageManager mPackageManager;
+ @Mock private AppOpsManager mAppOpsManager;
+ @Mock private CompoundButton mMockSwitch;
@Before
public void setUp() {
@@ -137,19 +127,26 @@
doReturn(mLoaderManager).when(mFragment).getLoaderManager();
ShadowEntityHeaderController.setUseMock(mEntityHeaderController);
- doReturn(mEntityHeaderController).when(mEntityHeaderController)
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
.setButtonActions(anyInt(), anyInt());
- doReturn(mEntityHeaderController).when(mEntityHeaderController)
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
.setIcon(nullable(Drawable.class));
- doReturn(mEntityHeaderController).when(mEntityHeaderController).setIcon(nullable(
- ApplicationsState.AppEntry.class));
- doReturn(mEntityHeaderController).when(mEntityHeaderController)
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
+ .setIcon(nullable(ApplicationsState.AppEntry.class));
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
.setLabel(nullable(String.class));
- doReturn(mEntityHeaderController).when(mEntityHeaderController)
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
.setLabel(nullable(String.class));
- doReturn(mEntityHeaderController).when(mEntityHeaderController)
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
.setLabel(nullable(ApplicationsState.AppEntry.class));
- doReturn(mEntityHeaderController).when(mEntityHeaderController)
+ doReturn(mEntityHeaderController)
+ .when(mEntityHeaderController)
.setSummary(nullable(String.class));
when(mBatteryEntry.getUid()).thenReturn(UID);
@@ -169,13 +166,15 @@
final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
- Answer<Void> callable = invocation -> {
- mBundle = captor.getValue().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
- System.out.println("mBundle = " + mBundle);
- return null;
- };
- doAnswer(callable).when(mActivity).startActivityAsUser(captor.capture(),
- nullable(UserHandle.class));
+ Answer<Void> callable =
+ invocation -> {
+ mBundle = captor.getValue().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+ System.out.println("mBundle = " + mBundle);
+ return null;
+ };
+ doAnswer(callable)
+ .when(mActivity)
+ .startActivityAsUser(captor.capture(), nullable(UserHandle.class));
doAnswer(callable).when(mActivity).startActivity(captor.capture());
mFooterPreference = spy(new FooterPreference(mContext));
@@ -207,7 +206,9 @@
@Test
public void initHeader_HasAppEntry_BuildByAppEntry() {
- ReflectionHelpers.setStaticField(AppUtils.class, "sInstantAppDataProvider",
+ ReflectionHelpers.setStaticField(
+ AppUtils.class,
+ "sInstantAppDataProvider",
new InstantAppDataProvider() {
@Override
public boolean isInstantApp(ApplicationInfo info) {
@@ -224,7 +225,9 @@
@Test
public void initHeader_HasAppEntry_InstantApp() {
- ReflectionHelpers.setStaticField(AppUtils.class, "sInstantAppDataProvider",
+ ReflectionHelpers.setStaticField(
+ AppUtils.class,
+ "sInstantAppDataProvider",
new InstantAppDataProvider() {
@Override
public boolean isInstantApp(ApplicationInfo info) {
@@ -256,7 +259,7 @@
final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
mFragment.mOptimizationMode = optimizedMode;
- mFragment.onSwitchChanged(mMockSwitch, /*isChecked=*/ false);
+ mFragment.onCheckedChanged(mMockSwitch, /* isChecked= */ false);
verify(mOptimizePreference).setEnabled(false);
verify(mUnrestrictedPreference).setEnabled(false);
@@ -272,7 +275,7 @@
final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
mFragment.mOptimizationMode = restrictedMode;
- mFragment.onSwitchChanged(mMockSwitch, /*isChecked=*/ true);
+ mFragment.onCheckedChanged(mMockSwitch, /* isChecked= */ true);
verify(mOptimizePreference).setEnabled(true);
verify(mUnrestrictedPreference).setEnabled(true);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
index a0b449a..0131330 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
@@ -46,8 +46,8 @@
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
- @Mock
- private PackageManager mPackageManager;
+
+ @Mock private PackageManager mPackageManager;
private PowerUsageFeatureProviderImpl mPowerFeatureProvider;
@Before
@@ -117,16 +117,18 @@
@Test
public void testIsSmartBatterySupported_smartBatterySupported_returnTrue() {
- when(mContext.getResources().getBoolean(
- com.android.internal.R.bool.config_smart_battery_available)).thenReturn(true);
+ when(mContext.getResources()
+ .getBoolean(com.android.internal.R.bool.config_smart_battery_available))
+ .thenReturn(true);
assertThat(mPowerFeatureProvider.isSmartBatterySupported()).isTrue();
}
@Test
public void testIsSmartBatterySupported_smartBatteryNotSupported_returnFalse() {
- when(mContext.getResources().getBoolean(
- com.android.internal.R.bool.config_smart_battery_available)).thenReturn(false);
+ when(mContext.getResources()
+ .getBoolean(com.android.internal.R.bool.config_smart_battery_available))
+ .thenReturn(false);
assertThat(mPowerFeatureProvider.isSmartBatterySupported()).isFalse();
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageTimeControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageTimeControllerTest.java
index 2449040..22d4ba3 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageTimeControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageTimeControllerTest.java
@@ -46,12 +46,9 @@
private Context mContext;
private PowerUsageTimeController mPowerUsageTimeController;
- @Mock
- private PreferenceCategory mPowerUsageTimeCategory;
- @Mock
- private PowerUsageTimePreference mScreenTimePreference;
- @Mock
- private PowerUsageTimePreference mBackgroundTimePreference;
+ @Mock private PreferenceCategory mPowerUsageTimeCategory;
+ @Mock private PowerUsageTimePreference mScreenTimePreference;
+ @Mock private PowerUsageTimePreference mBackgroundTimePreference;
@Before
public void setUp() {
@@ -67,18 +64,24 @@
@Test
public void handleScreenTimeUpdated_noInfo_prefInvisible() {
- mPowerUsageTimeController.handleScreenTimeUpdated(/*slotTime=*/ null,
- /*screenOnTimeInMs=*/ 0, /*backgroundTimeInMs=*/ 0,
- /*anomalyHintPrefKey=*/ null, /*anomalyHintText=*/ null);
+ mPowerUsageTimeController.handleScreenTimeUpdated(
+ /* slotTime= */ null,
+ /* screenOnTimeInMs= */ 0,
+ /* backgroundTimeInMs= */ 0,
+ /* anomalyHintPrefKey= */ null,
+ /* anomalyHintText= */ null);
verifyAllPreferencesVisible(false);
}
@Test
public void handleScreenTimeUpdated_onlySlotTime_prefInvisible() {
- mPowerUsageTimeController.handleScreenTimeUpdated(SLOT_TIME,
- /*screenOnTimeInMs=*/ 0, /*backgroundTimeInMs=*/ 0,
- /*anomalyHintPrefKey=*/ null, /*anomalyHintText=*/ null);
+ mPowerUsageTimeController.handleScreenTimeUpdated(
+ SLOT_TIME,
+ /* screenOnTimeInMs= */ 0,
+ /* backgroundTimeInMs= */ 0,
+ /* anomalyHintPrefKey= */ null,
+ /* anomalyHintText= */ null);
verifyAllPreferencesVisible(false);
}
@@ -88,9 +91,12 @@
final long screenOnTimeAMinute = 60000;
final long backgroundTimeZero = 0;
- mPowerUsageTimeController.handleScreenTimeUpdated(SLOT_TIME,
- screenOnTimeAMinute, backgroundTimeZero,
- /*anomalyHintPrefKey=*/ null, /*anomalyHintText=*/ null);
+ mPowerUsageTimeController.handleScreenTimeUpdated(
+ SLOT_TIME,
+ screenOnTimeAMinute,
+ backgroundTimeZero,
+ /* anomalyHintPrefKey= */ null,
+ /* anomalyHintText= */ null);
verifyOnePreferenceInvisible(mBackgroundTimePreference);
verify(mScreenTimePreference).setTimeTitle("Screen time");
@@ -103,9 +109,12 @@
final long screenOnTimeZero = 0;
final long backgroundTimeTwoMinutes = 120000;
- mPowerUsageTimeController.handleScreenTimeUpdated(SLOT_TIME,
- screenOnTimeZero, backgroundTimeTwoMinutes,
- /*anomalyHintPrefKey=*/ null, /*anomalyHintText=*/ null);
+ mPowerUsageTimeController.handleScreenTimeUpdated(
+ SLOT_TIME,
+ screenOnTimeZero,
+ backgroundTimeTwoMinutes,
+ /* anomalyHintPrefKey= */ null,
+ /* anomalyHintText= */ null);
verifyOnePreferenceInvisible(mScreenTimePreference);
verify(mBackgroundTimePreference).setTimeTitle("Background time");
@@ -118,9 +127,12 @@
final long screenOnTimeAMinute = 60000;
final long backgroundTimeTwoMinutes = 120000;
- mPowerUsageTimeController.handleScreenTimeUpdated(SLOT_TIME,
- screenOnTimeAMinute, backgroundTimeTwoMinutes,
- /*anomalyHintPrefKey=*/ null, /*anomalyHintText=*/ null);
+ mPowerUsageTimeController.handleScreenTimeUpdated(
+ SLOT_TIME,
+ screenOnTimeAMinute,
+ backgroundTimeTwoMinutes,
+ /* anomalyHintPrefKey= */ null,
+ /* anomalyHintText= */ null);
verifyAllPreferencesVisible(true);
verify(mScreenTimePreference).setTimeTitle("Screen time");
@@ -137,9 +149,12 @@
final long backgroundTimeTwoMinutes = 120000;
final long screenOnTimeAMinute = 60000;
- mPowerUsageTimeController.handleScreenTimeUpdated(/*slotTime=*/ null,
- screenOnTimeAMinute, backgroundTimeTwoMinutes,
- /*anomalyHintPrefKey=*/ null, /*anomalyHintText=*/ null);
+ mPowerUsageTimeController.handleScreenTimeUpdated(
+ /* slotTime= */ null,
+ screenOnTimeAMinute,
+ backgroundTimeTwoMinutes,
+ /* anomalyHintPrefKey= */ null,
+ /* anomalyHintText= */ null);
verifyAllPreferencesVisible(true);
verify(mPowerUsageTimeCategory).setTitle("App usage since last full charge");
@@ -150,9 +165,12 @@
final long screenOnTimeAMinute = 60000;
final long backgroundTimeLessThanAMinute = 59999;
- mPowerUsageTimeController.handleScreenTimeUpdated(SLOT_TIME,
- screenOnTimeAMinute, backgroundTimeLessThanAMinute,
- /*anomalyHintPrefKey=*/ null, /*anomalyHintText=*/ null);
+ mPowerUsageTimeController.handleScreenTimeUpdated(
+ SLOT_TIME,
+ screenOnTimeAMinute,
+ backgroundTimeLessThanAMinute,
+ /* anomalyHintPrefKey= */ null,
+ /* anomalyHintText= */ null);
verifyAllPreferencesVisible(true);
verify(mScreenTimePreference).setTimeSummary("1 min");
@@ -164,9 +182,12 @@
final long screenOnTimeLessThanAMinute = 59999;
final long backgroundTimeTwoMinutes = 120000;
- mPowerUsageTimeController.handleScreenTimeUpdated(SLOT_TIME,
- screenOnTimeLessThanAMinute, backgroundTimeTwoMinutes,
- /*anomalyHintPrefKey=*/ null, /*anomalyHintText=*/ null);
+ mPowerUsageTimeController.handleScreenTimeUpdated(
+ SLOT_TIME,
+ screenOnTimeLessThanAMinute,
+ backgroundTimeTwoMinutes,
+ /* anomalyHintPrefKey= */ null,
+ /* anomalyHintText= */ null);
verifyAllPreferencesVisible(true);
verify(mScreenTimePreference).setTimeSummary("Less than a min");
@@ -178,9 +199,12 @@
final long screenOnTimeLessThanAMinute = 59999;
final long backgroundTimeLessThanAMinute = 59999;
- mPowerUsageTimeController.handleScreenTimeUpdated(SLOT_TIME,
- screenOnTimeLessThanAMinute, backgroundTimeLessThanAMinute,
- /*anomalyHintPrefKey=*/ null, /*anomalyHintText=*/ null);
+ mPowerUsageTimeController.handleScreenTimeUpdated(
+ SLOT_TIME,
+ screenOnTimeLessThanAMinute,
+ backgroundTimeLessThanAMinute,
+ /* anomalyHintPrefKey= */ null,
+ /* anomalyHintText= */ null);
verifyAllPreferencesVisible(true);
verify(mScreenTimePreference).setTimeSummary("Less than a min");
@@ -192,9 +216,12 @@
final long screenOnTimeAMinute = 60000;
final long backgroundTimeTwoMinutes = 120000;
- mPowerUsageTimeController.handleScreenTimeUpdated(SLOT_TIME,
- screenOnTimeAMinute, backgroundTimeTwoMinutes,
- KEY_SCREEN_ON_TIME_PREF, TEST_ANOMALY_HINT_TEXT);
+ mPowerUsageTimeController.handleScreenTimeUpdated(
+ SLOT_TIME,
+ screenOnTimeAMinute,
+ backgroundTimeTwoMinutes,
+ KEY_SCREEN_ON_TIME_PREF,
+ TEST_ANOMALY_HINT_TEXT);
verifyAllPreferencesVisible(true);
verify(mScreenTimePreference).setAnomalyHint(TEST_ANOMALY_HINT_TEXT);
@@ -206,9 +233,12 @@
final long screenOnTimeAMinute = 60000;
final long backgroundTimeTwoMinutes = 120000;
- mPowerUsageTimeController.handleScreenTimeUpdated(SLOT_TIME,
- screenOnTimeAMinute, backgroundTimeTwoMinutes,
- KEY_BACKGROUND_TIME_PREF, TEST_ANOMALY_HINT_TEXT);
+ mPowerUsageTimeController.handleScreenTimeUpdated(
+ SLOT_TIME,
+ screenOnTimeAMinute,
+ backgroundTimeTwoMinutes,
+ KEY_BACKGROUND_TIME_PREF,
+ TEST_ANOMALY_HINT_TEXT);
verifyAllPreferencesVisible(true);
verify(mScreenTimePreference, never()).setAnomalyHint(anyString());
@@ -220,9 +250,12 @@
final long screenOnTimeZero = 0;
final long backgroundTimeTwoMinutes = 120000;
- mPowerUsageTimeController.handleScreenTimeUpdated(SLOT_TIME,
- screenOnTimeZero, backgroundTimeTwoMinutes,
- KEY_SCREEN_ON_TIME_PREF, TEST_ANOMALY_HINT_TEXT);
+ mPowerUsageTimeController.handleScreenTimeUpdated(
+ SLOT_TIME,
+ screenOnTimeZero,
+ backgroundTimeTwoMinutes,
+ KEY_SCREEN_ON_TIME_PREF,
+ TEST_ANOMALY_HINT_TEXT);
verifyAllPreferencesVisible(true);
verify(mScreenTimePreference).setTimeSummary("Less than a min");
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/RestrictAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/RestrictAppPreferenceControllerTest.java
index 0321483..64efb6a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/RestrictAppPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/RestrictAppPreferenceControllerTest.java
@@ -33,7 +33,6 @@
import android.content.Intent;
import android.os.UserHandle;
import android.os.UserManager;
-import android.util.Pair;
import androidx.preference.Preference;
import androidx.preference.PreferenceManager;
@@ -65,12 +64,9 @@
private static final String RESTRICTED_PACKAGE_NAME = "com.android.restricted.package";
private static final int OTHER_USER_UID = UserHandle.PER_USER_RANGE + RESTRICTED_UID;
- @Mock
- private AppOpsManager mAppOpsManager;
- @Mock
- private InstrumentedPreferenceFragment mFragment;
- @Mock
- private UserManager mUserManager;
+ @Mock private AppOpsManager mAppOpsManager;
+ @Mock private InstrumentedPreferenceFragment mFragment;
+ @Mock private UserManager mUserManager;
private AppOpsManager.PackageOps mRestrictedPackageOps;
private AppOpsManager.PackageOps mAllowedPackageOps;
@@ -84,19 +80,25 @@
public void setUp() {
MockitoAnnotations.initMocks(this);
final List<AppOpsManager.OpEntry> allowOps = new ArrayList<>();
- allowOps.add(new AppOpsManager.OpEntry(
- AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, AppOpsManager.MODE_ALLOWED,
- Collections.emptyMap()));
+ allowOps.add(
+ new AppOpsManager.OpEntry(
+ AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+ AppOpsManager.MODE_ALLOWED,
+ Collections.emptyMap()));
final List<AppOpsManager.OpEntry> restrictedOps = new ArrayList<>();
- restrictedOps.add(new AppOpsManager.OpEntry(
- AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, AppOpsManager.MODE_IGNORED,
- Collections.emptyMap()));
- mAllowedPackageOps = new AppOpsManager.PackageOps(
- ALLOWED_PACKAGE_NAME, ALLOWED_UID, allowOps);
- mRestrictedPackageOps = new AppOpsManager.PackageOps(
- RESTRICTED_PACKAGE_NAME, RESTRICTED_UID, restrictedOps);
- mOtherUserPackageOps = new AppOpsManager.PackageOps(
- RESTRICTED_PACKAGE_NAME, OTHER_USER_UID, restrictedOps);
+ restrictedOps.add(
+ new AppOpsManager.OpEntry(
+ AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+ AppOpsManager.MODE_IGNORED,
+ Collections.emptyMap()));
+ mAllowedPackageOps =
+ new AppOpsManager.PackageOps(ALLOWED_PACKAGE_NAME, ALLOWED_UID, allowOps);
+ mRestrictedPackageOps =
+ new AppOpsManager.PackageOps(
+ RESTRICTED_PACKAGE_NAME, RESTRICTED_UID, restrictedOps);
+ mOtherUserPackageOps =
+ new AppOpsManager.PackageOps(
+ RESTRICTED_PACKAGE_NAME, OTHER_USER_UID, restrictedOps);
mContext = spy(ApplicationProvider.getApplicationContext());
doReturn(mAppOpsManager).when(mContext).getSystemService(Context.APP_OPS_SERVICE);
@@ -109,8 +111,8 @@
mPreferenceScreen = spy(new PreferenceScreen(mContext, null));
when(mPreferenceScreen.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
when(mPreferenceScreen.getContext()).thenReturn(mContext);
- when(mPreferenceScreen.findPreference(
- RestrictAppPreferenceController.KEY_RESTRICT_APP)).thenReturn(mPreference);
+ when(mPreferenceScreen.findPreference(RestrictAppPreferenceController.KEY_RESTRICT_APP))
+ .thenReturn(mPreference);
final List<UserHandle> userHandles = new ArrayList<>();
userHandles.add(new UserHandle(0));
@@ -122,8 +124,8 @@
mPackageOpsList.add(mRestrictedPackageOps);
doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any(int[].class));
- final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
- mFragment);
+ final RestrictAppPreferenceController controller =
+ new RestrictAppPreferenceController(mFragment);
controller.displayPreference(mPreferenceScreen);
controller.updateState(mPreference);
@@ -138,8 +140,8 @@
mPackageOpsList.add(mOtherUserPackageOps);
doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any(int[].class));
- final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
- mFragment);
+ final RestrictAppPreferenceController controller =
+ new RestrictAppPreferenceController(mFragment);
controller.displayPreference(mPreferenceScreen);
controller.updateState(mPreference);
@@ -154,17 +156,18 @@
mPackageOpsList.add(mOtherUserPackageOps);
doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any(int[].class));
- final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
- mFragment);
+ final RestrictAppPreferenceController controller =
+ new RestrictAppPreferenceController(mFragment);
controller.displayPreference(mPreferenceScreen);
controller.updateState(mPreference);
assertThat(mPreference.getSummary()).isEqualTo("Limiting battery usage for 1 app");
- assertThat(controller.mAppInfos).containsExactly(
- new AppInfo.Builder()
- .setUid(RESTRICTED_UID)
- .setPackageName(RESTRICTED_PACKAGE_NAME)
- .build());
+ assertThat(controller.mAppInfos)
+ .containsExactly(
+ new AppInfo.Builder()
+ .setUid(RESTRICTED_UID)
+ .setPackageName(RESTRICTED_PACKAGE_NAME)
+ .build());
}
@Test
@@ -172,8 +175,8 @@
mPackageOpsList.add(mAllowedPackageOps);
doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any(int[].class));
- final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
- mFragment);
+ final RestrictAppPreferenceController controller =
+ new RestrictAppPreferenceController(mFragment);
controller.displayPreference(mPreferenceScreen);
controller.updateState(mPreference);
@@ -185,8 +188,8 @@
public void handlePreferenceTreeClick_startFragment() {
final ArgumentCaptor<Intent> intent = ArgumentCaptor.forClass(Intent.class);
- final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
- mFragment);
+ final RestrictAppPreferenceController controller =
+ new RestrictAppPreferenceController(mFragment);
controller.handlePreferenceTreeClick(mPreference);
verify(mContext).startActivity(intent.capture());
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java
index 2991e78..54b8808 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java
@@ -72,17 +72,11 @@
private static final int UID = UserHandle.getUid(USER_ID, 234);
private static final String APP_NAME = "app";
-
- @Mock
- private PackageManager mPackageManager;
- @Mock
- private ApplicationInfo mApplicationInfo;
- @Mock
- private IconDrawableFactory mIconDrawableFactory;
- @Mock
- private InstrumentedPreferenceFragment mFragment;
- @Mock
- private BatteryDatabaseManager mBatteryDatabaseManager;
+ @Mock private PackageManager mPackageManager;
+ @Mock private ApplicationInfo mApplicationInfo;
+ @Mock private IconDrawableFactory mIconDrawableFactory;
+ @Mock private InstrumentedPreferenceFragment mFragment;
+ @Mock private BatteryDatabaseManager mBatteryDatabaseManager;
private PreferenceManager mPreferenceManager;
private RestrictedAppDetails mRestrictedAppDetails;
private Context mContext;
@@ -96,10 +90,7 @@
mContext = spy(RuntimeEnvironment.application);
mRestrictedAppDetails = spy(new RestrictedAppDetails());
- mAppInfo = new AppInfo.Builder()
- .setPackageName(PACKAGE_NAME)
- .setUid(UID)
- .build();
+ mAppInfo = new AppInfo.Builder().setPackageName(PACKAGE_NAME).setUid(UID).build();
mPreferenceManager = new PreferenceManager(mContext);
@@ -113,8 +104,9 @@
mRestrictedAppDetails.mRestrictedAppListGroup = spy(new PreferenceCategory(mContext));
mRestrictedAppDetails.mBatteryUtils = spy(new BatteryUtils(mContext));
mRestrictedAppDetails.mBatteryDatabaseManager = mBatteryDatabaseManager;
- doReturn(mPreferenceManager).when(
- mRestrictedAppDetails.mRestrictedAppListGroup).getPreferenceManager();
+ doReturn(mPreferenceManager)
+ .when(mRestrictedAppDetails.mRestrictedAppListGroup)
+ .getPreferenceManager();
mCheckBoxPreference = new CheckBoxPreference(mContext);
mCheckBoxPreference.setKey(mRestrictedAppDetails.getKeyFromAppInfo(mAppInfo));
@@ -122,14 +114,17 @@
@Test
public void refreshUi_displayPreference() throws Exception {
- doReturn(mApplicationInfo).when(mPackageManager)
+ doReturn(mApplicationInfo)
+ .when(mPackageManager)
.getApplicationInfoAsUser(PACKAGE_NAME, 0, USER_ID);
doReturn(APP_NAME).when(mPackageManager).getApplicationLabel(mApplicationInfo);
- doReturn(true).when(mRestrictedAppDetails.mBatteryUtils).isForceAppStandbyEnabled(UID,
- PACKAGE_NAME);
+ doReturn(true)
+ .when(mRestrictedAppDetails.mBatteryUtils)
+ .isForceAppStandbyEnabled(UID, PACKAGE_NAME);
final SparseLongArray timestampArray = new SparseLongArray();
timestampArray.put(UID, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(5));
- doReturn(timestampArray).when(mBatteryDatabaseManager)
+ doReturn(timestampArray)
+ .when(mBatteryDatabaseManager)
.queryActionTime(AnomalyDatabaseHelper.ActionType.RESTRICTION);
mRestrictedAppDetails.refreshUi();
@@ -145,30 +140,32 @@
@Test
public void startRestrictedAppDetails_startWithCorrectData() {
final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
- doAnswer(invocation -> {
- // Get the intent in which it has the app info bundle
- mIntent = captor.getValue();
- return true;
- }).when(mContext).startActivity(captor.capture());
+ doAnswer(
+ invocation -> {
+ // Get the intent in which it has the app info bundle
+ mIntent = captor.getValue();
+ return true;
+ })
+ .when(mContext)
+ .startActivity(captor.capture());
- RestrictedAppDetails.startRestrictedAppDetails(mFragment,
- mRestrictedAppDetails.mAppInfos);
+ RestrictedAppDetails.startRestrictedAppDetails(mFragment, mRestrictedAppDetails.mAppInfos);
- final Bundle bundle = mIntent.getBundleExtra(
- SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+ final Bundle bundle =
+ mIntent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
// Verify the bundle has the correct info
- final List<AppInfo> appInfos = bundle.getParcelableArrayList(
- RestrictedAppDetails.EXTRA_APP_INFO_LIST);
+ final List<AppInfo> appInfos =
+ bundle.getParcelableArrayList(RestrictedAppDetails.EXTRA_APP_INFO_LIST);
assertThat(appInfos).containsExactly(mAppInfo);
}
@Test
public void createDialogFragment_toRestrict_createRestrictDialog() {
- final BatteryTipDialogFragment dialogFragment = mRestrictedAppDetails.createDialogFragment(
- mAppInfo, true);
+ final BatteryTipDialogFragment dialogFragment =
+ mRestrictedAppDetails.createDialogFragment(mAppInfo, true);
- FragmentController.setupFragment(dialogFragment, FragmentActivity.class,
- 0 /* containerViewId */, null /* bundle */);
+ FragmentController.setupFragment(
+ dialogFragment, FragmentActivity.class, 0 /* containerViewId */, null /* bundle */);
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
@@ -177,11 +174,11 @@
@Test
public void createDialogFragment_toUnrestrict_createUnrestrictDialog() {
- final BatteryTipDialogFragment dialogFragment = mRestrictedAppDetails.createDialogFragment(
- mAppInfo, false);
+ final BatteryTipDialogFragment dialogFragment =
+ mRestrictedAppDetails.createDialogFragment(mAppInfo, false);
- FragmentController.setupFragment(dialogFragment, FragmentActivity.class,
- 0 /* containerViewId */, null /* bundle */);
+ FragmentController.setupFragment(
+ dialogFragment, FragmentActivity.class, 0 /* containerViewId */, null /* bundle */);
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
@@ -190,8 +187,8 @@
@Test
public void onBatteryTipHandled_restrict_setChecked() {
- final RestrictAppTip restrictAppTip = new RestrictAppTip(BatteryTip.StateType.NEW,
- mAppInfo);
+ final RestrictAppTip restrictAppTip =
+ new RestrictAppTip(BatteryTip.StateType.NEW, mAppInfo);
mRestrictedAppDetails.mRestrictedAppListGroup.addPreference(mCheckBoxPreference);
mRestrictedAppDetails.onBatteryTipHandled(restrictAppTip);
@@ -201,8 +198,8 @@
@Test
public void onBatteryTipHandled_unrestrict_setUnchecked() {
- final UnrestrictAppTip unrestrictAppTip = new UnrestrictAppTip(BatteryTip.StateType.NEW,
- mAppInfo);
+ final UnrestrictAppTip unrestrictAppTip =
+ new UnrestrictAppTip(BatteryTip.StateType.NEW, mAppInfo);
mRestrictedAppDetails.mRestrictedAppListGroup.addPreference(mCheckBoxPreference);
mRestrictedAppDetails.onBatteryTipHandled(unrestrictAppTip);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java
index 6691bd5..b03602d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java
@@ -54,7 +54,8 @@
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
- doReturn(mock(DevicePolicyManager.class)).when(mContext)
+ doReturn(mock(DevicePolicyManager.class))
+ .when(mContext)
.getSystemService(Context.DEVICE_POLICY_SERVICE);
mFeatureFactory = FakeFeatureFactory.setupForTest();
@@ -99,26 +100,26 @@
public void testGetAvailabilityStatus_smartBatterySupported_returnAvailable() {
doReturn(true).when(mFeatureFactory.powerUsageFeatureProvider).isSmartBatterySupported();
- assertThat(mController.getAvailabilityStatus()).isEqualTo(
- BasePreferenceController.AVAILABLE);
+ assertThat(mController.getAvailabilityStatus())
+ .isEqualTo(BasePreferenceController.AVAILABLE);
}
@Test
public void testGetAvailabilityStatus_smartBatteryUnSupported_returnDisabled() {
doReturn(false).when(mFeatureFactory.powerUsageFeatureProvider).isSmartBatterySupported();
- assertThat(mController.getAvailabilityStatus()).isEqualTo(
- BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+ assertThat(mController.getAvailabilityStatus())
+ .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
}
private void putSmartBatteryValue(int value) {
- Settings.Global.putInt(mContentResolver,
- Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, value);
+ Settings.Global.putInt(
+ mContentResolver, Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, value);
}
private int getSmartBatteryValue() {
- return Settings.Global.getInt(mContentResolver,
- Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON);
+ return Settings.Global.getInt(
+ mContentResolver, Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
index 7a7a384..3435987 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
@@ -50,12 +50,9 @@
private TopLevelBatteryPreferenceController mController;
private BatterySettingsFeatureProvider mBatterySettingsFeatureProvider;
- @Mock
- private UsbPort mUsbPort;
- @Mock
- private UsbManager mUsbManager;
- @Mock
- private UsbPortStatus mUsbPortStatus;
+ @Mock private UsbPort mUsbPort;
+ @Mock private UsbManager mUsbManager;
+ @Mock private UsbPortStatus mUsbPortStatus;
@Before
public void setUp() {
@@ -125,8 +122,7 @@
info.discharging = false;
info.chargeLabel = "5% - charging";
- assertThat(mController.getDashboardLabel(mContext, info, true))
- .isEqualTo(info.chargeLabel);
+ assertThat(mController.getDashboardLabel(mContext, info, true)).isEqualTo(info.chargeLabel);
}
@Test
@@ -136,8 +132,9 @@
BatteryInfo info = new BatteryInfo();
assertThat(mController.getDashboardLabel(mContext, info, true))
- .isEqualTo(mContext.getString(
- com.android.settingslib.R.string.battery_info_status_not_charging));
+ .isEqualTo(
+ mContext.getString(
+ com.android.settingslib.R.string.battery_info_status_not_charging));
}
@Test
@@ -147,8 +144,7 @@
info.batteryStatus = BatteryManager.BATTERY_STATUS_NOT_CHARGING;
info.statusLabel = "expected returned label";
- assertThat(mController.getDashboardLabel(mContext, info, true))
- .isEqualTo(info.statusLabel);
+ assertThat(mController.getDashboardLabel(mContext, info, true)).isEqualTo(info.statusLabel);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java
index 5489196..0c6f7da 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java
@@ -88,8 +88,8 @@
public void testUpdateState_isSystemOrDefaultAppAndUnrestrictedStates_prefChecked() {
when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
- when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
- BatteryOptimizeUtils.MODE_UNRESTRICTED);
+ when(mBatteryOptimizeUtils.getAppOptimizationMode())
+ .thenReturn(BatteryOptimizeUtils.MODE_UNRESTRICTED);
mController.updateState(mPreference);
@@ -100,8 +100,8 @@
public void testUpdateState_isSystemOrDefaultApp_prefUnchecked() {
when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
- when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
- BatteryOptimizeUtils.MODE_OPTIMIZED);
+ when(mBatteryOptimizeUtils.getAppOptimizationMode())
+ .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
mController.updateState(mPreference);
@@ -112,8 +112,8 @@
@Test
public void testUpdateState_isUnrestrictedStates_prefChecked() {
when(mBatteryOptimizeUtils.isOptimizeModeMutable()).thenReturn(true);
- when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
- BatteryOptimizeUtils.MODE_UNRESTRICTED);
+ when(mBatteryOptimizeUtils.getAppOptimizationMode())
+ .thenReturn(BatteryOptimizeUtils.MODE_UNRESTRICTED);
mController.updateState(mPreference);
@@ -124,8 +124,8 @@
@Test
public void testUpdateState_prefUnchecked() {
when(mBatteryOptimizeUtils.isOptimizeModeMutable()).thenReturn(true);
- when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
- BatteryOptimizeUtils.MODE_OPTIMIZED);
+ when(mBatteryOptimizeUtils.getAppOptimizationMode())
+ .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
mController.updateState(mPreference);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java
index 7398e5c..cdcb12f 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java
@@ -47,10 +47,8 @@
private Context mContext;
private MainSwitchPreference mPreference;
- @Mock
- private PowerManager mPowerManager;
- @Mock
- private PreferenceScreen mPreferenceScreen;
+ @Mock private PowerManager mPowerManager;
+ @Mock private PreferenceScreen mPreferenceScreen;
@Before
public void setUp() {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSchedulePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSchedulePreferenceControllerTest.java
index 2bb8f28..cdde8f9 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSchedulePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSchedulePreferenceControllerTest.java
@@ -59,10 +59,12 @@
@Test
public void testPreference_lowPowerLevelZero_percentageMode_summaryNoSchedule() {
- Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
- Settings.Global.putInt(mContext.getContentResolver(),
- Global.AUTOMATIC_POWER_SAVE_MODE, PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
+ Settings.Global.putInt(
+ mContext.getContentResolver(), Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
+ Settings.Global.putInt(
+ mContext.getContentResolver(),
+ Global.AUTOMATIC_POWER_SAVE_MODE,
+ PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
mController.updateState(mPreference);
@@ -71,10 +73,14 @@
@Test
public void testPreference_lowPowerLevelNonZero_percentageMode_summaryPercentage() {
- Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, TRIGGER_LEVEL);
- Settings.Global.putInt(mContext.getContentResolver(),
- Global.AUTOMATIC_POWER_SAVE_MODE, PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
+ Settings.Global.putInt(
+ mContext.getContentResolver(),
+ Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL,
+ TRIGGER_LEVEL);
+ Settings.Global.putInt(
+ mContext.getContentResolver(),
+ Global.AUTOMATIC_POWER_SAVE_MODE,
+ PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
mController.updateState(mPreference);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarControllerTest.java
index 9de3ada..f224c8a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarControllerTest.java
@@ -34,8 +34,7 @@
private Context mContext;
private ContentResolver mResolver;
private BatterySaverScheduleSeekBarController mController;
- @Mock
- private PreferenceScreen mScreen;
+ @Mock private PreferenceScreen mScreen;
@Before
public void setUp() {
@@ -83,7 +82,9 @@
@Test
public void updateSeekBar_routineMode_hasCorrectProperties() {
- Settings.Global.putInt(mResolver, Global.AUTOMATIC_POWER_SAVE_MODE,
+ Settings.Global.putInt(
+ mResolver,
+ Global.AUTOMATIC_POWER_SAVE_MODE,
PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC);
mController.updateSeekBar();
@@ -95,7 +96,9 @@
@Test
public void updateSeekBar_percentageMode_hasCorrectProperties() {
final CharSequence expectedTitle = "10%";
- Settings.Global.putInt(mResolver, Global.AUTOMATIC_POWER_SAVE_MODE,
+ Settings.Global.putInt(
+ mResolver,
+ Global.AUTOMATIC_POWER_SAVE_MODE,
PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
setTriggerLevel(10);
@@ -108,7 +111,9 @@
@Test
public void updateSeekBar_noneMode_hasCorrectProperties() {
- Settings.Global.putInt(mResolver, Global.AUTOMATIC_POWER_SAVE_MODE,
+ Settings.Global.putInt(
+ mResolver,
+ Global.AUTOMATIC_POWER_SAVE_MODE,
PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
setTriggerLevel(0);
@@ -120,7 +125,9 @@
@Test
public void addToScreen_addsToEnd() {
- Settings.Global.putInt(mResolver, Global.AUTOMATIC_POWER_SAVE_MODE,
+ Settings.Global.putInt(
+ mResolver,
+ Global.AUTOMATIC_POWER_SAVE_MODE,
PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
setTriggerLevel(15);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java
index dc9cac4..2138e64 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java
@@ -1,6 +1,7 @@
package com.android.settings.fuelgauge.batterysaver;
import static com.google.common.truth.Truth.assertThat;
+
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
@@ -90,18 +91,25 @@
}
private void setSchedule(int scheduleType, int schedulePercentage) {
- Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.AUTOMATIC_POWER_SAVE_MODE, scheduleType);
- Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, schedulePercentage);
+ Settings.Global.putInt(
+ mContext.getContentResolver(),
+ Settings.Global.AUTOMATIC_POWER_SAVE_MODE,
+ scheduleType);
+ Settings.Global.putInt(
+ mContext.getContentResolver(),
+ Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL,
+ schedulePercentage);
}
private void verifySchedule(String scheduleTypeKey, int schedulePercentage) {
waitAWhile();
- verify(mMetricsFeatureProvider).action(SettingsEnums.FUELGAUGE_BATTERY_SAVER,
- SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
- SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
- scheduleTypeKey, schedulePercentage);
+ verify(mMetricsFeatureProvider)
+ .action(
+ SettingsEnums.FUELGAUGE_BATTERY_SAVER,
+ SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
+ SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
+ scheduleTypeKey,
+ schedulePercentage);
}
private void waitAWhile() {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettingsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettingsTest.java
index c858902..84af4e1 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettingsTest.java
@@ -34,13 +34,13 @@
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
-@Config(shadows = {
- com.android.settings.testutils.shadow.ShadowFragment.class,
-})
+@Config(
+ shadows = {
+ com.android.settings.testutils.shadow.ShadowFragment.class,
+ })
public class BatterySaverSettingsTest {
BatterySaverSettings mFragment;
- @Mock
- PreferenceScreen mScreen;
+ @Mock PreferenceScreen mScreen;
@Before
public void setUp() {
@@ -50,7 +50,6 @@
doReturn(mScreen).when(mFragment).getPreferenceScreen();
}
-
@Test
public void setupFooter_linkAddedWhenAppropriate() {
doReturn("").when(mFragment).getText(anyInt());
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobServiceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobServiceTest.java
index 4c276ba..22c59b0 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobServiceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobServiceTest.java
@@ -63,16 +63,15 @@
private Context mContext;
private JobScheduler mJobScheduler;
- @Mock
- private JobParameters mParams;
+ @Mock private JobParameters mParams;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
- mJobScheduler = spy(new JobSchedulerImpl(mContext,
- IJobScheduler.Stub.asInterface(new Binder())));
+ mJobScheduler =
+ spy(new JobSchedulerImpl(mContext, IJobScheduler.Stub.asInterface(new Binder())));
when(mContext.getSystemService(JobScheduler.class)).thenReturn(mJobScheduler);
}
@@ -108,25 +107,31 @@
@Ignore
public void onStartJob_cleanUpDataBefore30days() {
final BatteryDatabaseManager databaseManager = BatteryDatabaseManager.getInstance(mContext);
- final AnomalyCleanupJobService service = spy(Robolectric.setupService(
- AnomalyCleanupJobService.class));
+ final AnomalyCleanupJobService service =
+ spy(Robolectric.setupService(AnomalyCleanupJobService.class));
doNothing().when(service).jobFinished(any(), anyBoolean());
// Insert two records, one is current and the other one is 31 days before
- databaseManager.insertAnomaly(UID, PACKAGE_NAME, ANOMALY_TYPE,
- AnomalyDatabaseHelper.State.NEW, TIMESTAMP_NOW);
- databaseManager.insertAnomaly(UID, PACKAGE_NAME_OLD, ANOMALY_TYPE,
- AnomalyDatabaseHelper.State.NEW, TIMESTAMP_31_DAYS_BEFORE);
+ databaseManager.insertAnomaly(
+ UID, PACKAGE_NAME, ANOMALY_TYPE, AnomalyDatabaseHelper.State.NEW, TIMESTAMP_NOW);
+ databaseManager.insertAnomaly(
+ UID,
+ PACKAGE_NAME_OLD,
+ ANOMALY_TYPE,
+ AnomalyDatabaseHelper.State.NEW,
+ TIMESTAMP_31_DAYS_BEFORE);
service.onStartJob(mParams);
// In database, it only contains the current record
- final List<AppInfo> appInfos = databaseManager.queryAllAnomalies(0,
- AnomalyDatabaseHelper.State.NEW);
- assertThat(appInfos).containsExactly(new AppInfo.Builder()
- .setUid(UID)
- .setPackageName(PACKAGE_NAME)
- .addAnomalyType(ANOMALY_TYPE)
- .build());
+ final List<AppInfo> appInfos =
+ databaseManager.queryAllAnomalies(0, AnomalyDatabaseHelper.State.NEW);
+ assertThat(appInfos)
+ .containsExactly(
+ new AppInfo.Builder()
+ .setUid(UID)
+ .setPackageName(PACKAGE_NAME)
+ .addAnomalyType(ANOMALY_TYPE)
+ .build());
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobServiceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobServiceTest.java
index 3807be6..345b8a1 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobServiceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobServiceTest.java
@@ -57,8 +57,7 @@
private static final int ANOMALY_CONFIG_VERSION = 1;
private static final String ANOMALY_CONFIG = "X64s";
- @Mock
- private StatsManager mStatsManager;
+ @Mock private StatsManager mStatsManager;
private Context mContext;
private JobScheduler mJobScheduler;
@@ -69,14 +68,16 @@
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
- mJobScheduler = spy(new JobSchedulerImpl(mContext,
- IJobScheduler.Stub.asInterface(new Binder())));
+ mJobScheduler =
+ spy(new JobSchedulerImpl(mContext, IJobScheduler.Stub.asInterface(new Binder())));
when(mContext.getSystemService(JobScheduler.class)).thenReturn(mJobScheduler);
mJobService = spy(new AnomalyConfigJobService());
- doReturn(application.getSharedPreferences(AnomalyConfigJobService.PREF_DB,
- Context.MODE_PRIVATE)).when(mJobService).getSharedPreferences(anyString(),
- anyInt());
+ doReturn(
+ application.getSharedPreferences(
+ AnomalyConfigJobService.PREF_DB, Context.MODE_PRIVATE))
+ .when(mJobService)
+ .getSharedPreferences(anyString(), anyInt());
doReturn(application.getContentResolver()).when(mJobService).getContentResolver();
}
@@ -105,11 +106,13 @@
@Test
public void checkAnomalyConfig_newConfigExist_removeOldConfig()
- throws StatsManager.StatsUnavailableException{
- Settings.Global.putInt(application.getContentResolver(),
- Settings.Global.ANOMALY_CONFIG_VERSION, ANOMALY_CONFIG_VERSION);
- Settings.Global.putString(application.getContentResolver(), Settings.Global.ANOMALY_CONFIG,
- ANOMALY_CONFIG);
+ throws StatsManager.StatsUnavailableException {
+ Settings.Global.putInt(
+ application.getContentResolver(),
+ Settings.Global.ANOMALY_CONFIG_VERSION,
+ ANOMALY_CONFIG_VERSION);
+ Settings.Global.putString(
+ application.getContentResolver(), Settings.Global.ANOMALY_CONFIG, ANOMALY_CONFIG);
mJobService.checkAnomalyConfig(mStatsManager);
@@ -118,11 +121,13 @@
@Test
public void checkAnomalyConfig_newConfigExist_uploadNewConfig()
- throws StatsManager.StatsUnavailableException{
- Settings.Global.putInt(application.getContentResolver(),
- Settings.Global.ANOMALY_CONFIG_VERSION, ANOMALY_CONFIG_VERSION);
- Settings.Global.putString(application.getContentResolver(), Settings.Global.ANOMALY_CONFIG,
- ANOMALY_CONFIG);
+ throws StatsManager.StatsUnavailableException {
+ Settings.Global.putInt(
+ application.getContentResolver(),
+ Settings.Global.ANOMALY_CONFIG_VERSION,
+ ANOMALY_CONFIG_VERSION);
+ Settings.Global.putString(
+ application.getContentResolver(), Settings.Global.ANOMALY_CONFIG, ANOMALY_CONFIG);
mJobService.checkAnomalyConfig(mStatsManager);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java
index 1c37d31..a67e5d3 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java
@@ -86,20 +86,13 @@
"anomaly_type=6,auto_restriction=false";
private static final int ANOMALY_TYPE = 6;
private static final long VERSION_CODE = 15;
- @Mock
- private UserManager mUserManager;
- @Mock
- private BatteryDatabaseManager mBatteryDatabaseManager;
- @Mock
- private BatteryUtils mBatteryUtils;
- @Mock
- private PowerAllowlistBackend mPowerAllowlistBackend;
- @Mock
- private StatsDimensionsValue mStatsDimensionsValue;
- @Mock
- private JobParameters mJobParameters;
- @Mock
- private JobWorkItem mJobWorkItem;
+ @Mock private UserManager mUserManager;
+ @Mock private BatteryDatabaseManager mBatteryDatabaseManager;
+ @Mock private BatteryUtils mBatteryUtils;
+ @Mock private PowerAllowlistBackend mPowerAllowlistBackend;
+ @Mock private StatsDimensionsValue mStatsDimensionsValue;
+ @Mock private JobParameters mJobParameters;
+ @Mock private JobWorkItem mJobWorkItem;
private BatteryTipPolicy mPolicy;
private Bundle mBundle;
@@ -113,8 +106,8 @@
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
- mJobScheduler = spy(new JobSchedulerImpl(mContext,
- IJobScheduler.Stub.asInterface(new Binder())));
+ mJobScheduler =
+ spy(new JobSchedulerImpl(mContext, IJobScheduler.Stub.asInterface(new Binder())));
when(mContext.getSystemService(JobScheduler.class)).thenReturn(mJobScheduler);
mPolicy = new BatteryTipPolicy(mContext);
@@ -146,17 +139,24 @@
@Test
public void saveAnomalyToDatabase_systemAllowlisted_doNotSave() {
doReturn(UID).when(mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
- doReturn(true).when(mPowerAllowlistBackend)
+ doReturn(true)
+ .when(mPowerAllowlistBackend)
.isAllowlisted(any(String[].class), any(Integer.class));
- mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
- mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
- mPowerAllowlistBackend, mContext.getContentResolver(),
+ mAnomalyDetectionJobService.saveAnomalyToDatabase(
+ mContext,
+ mUserManager,
+ mBatteryDatabaseManager,
+ mBatteryUtils,
+ mPolicy,
+ mPowerAllowlistBackend,
+ mContext.getContentResolver(),
mFeatureFactory.powerUsageFeatureProvider,
- mFeatureFactory.metricsFeatureProvider, mBundle);
+ mFeatureFactory.metricsFeatureProvider,
+ mBundle);
- verify(mBatteryDatabaseManager, never()).insertAnomaly(anyInt(), anyString(), anyInt(),
- anyInt(), anyLong());
+ verify(mBatteryDatabaseManager, never())
+ .insertAnomaly(anyInt(), anyString(), anyInt(), anyInt(), anyLong());
}
@Test
@@ -166,53 +166,76 @@
mBundle.putStringArrayList(StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES, cookies);
doReturn(SYSTEM_PACKAGE).when(mBatteryUtils).getPackageName(anyInt());
doReturn(false).when(mPowerAllowlistBackend).isSysAllowlisted(SYSTEM_PACKAGE);
- doReturn(Process.FIRST_APPLICATION_UID).when(
- mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
+ doReturn(Process.FIRST_APPLICATION_UID)
+ .when(mAnomalyDetectionJobService)
+ .extractUidFromStatsDimensionsValue(any());
doReturn(true).when(mBatteryUtils).shouldHideAnomaly(any(), anyInt(), any());
- mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
- mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
- mPowerAllowlistBackend, mContext.getContentResolver(),
+ mAnomalyDetectionJobService.saveAnomalyToDatabase(
+ mContext,
+ mUserManager,
+ mBatteryDatabaseManager,
+ mBatteryUtils,
+ mPolicy,
+ mPowerAllowlistBackend,
+ mContext.getContentResolver(),
mFeatureFactory.powerUsageFeatureProvider,
- mFeatureFactory.metricsFeatureProvider, mBundle);
+ mFeatureFactory.metricsFeatureProvider,
+ mBundle);
- verify(mBatteryDatabaseManager, never()).insertAnomaly(anyInt(), anyString(), anyInt(),
- anyInt(), anyLong());
- verify(mFeatureFactory.metricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
- MetricsProto.MetricsEvent.ACTION_ANOMALY_IGNORED,
- SettingsEnums.PAGE_UNKNOWN,
- SYSTEM_PACKAGE + "/" + VERSION_CODE,
- ANOMALY_TYPE);
+ verify(mBatteryDatabaseManager, never())
+ .insertAnomaly(anyInt(), anyString(), anyInt(), anyInt(), anyLong());
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ SettingsEnums.PAGE_UNKNOWN,
+ MetricsProto.MetricsEvent.ACTION_ANOMALY_IGNORED,
+ SettingsEnums.PAGE_UNKNOWN,
+ SYSTEM_PACKAGE + "/" + VERSION_CODE,
+ ANOMALY_TYPE);
}
@Test
public void saveAnomalyToDatabase_systemUid_doNotSave() {
- doReturn(Process.SYSTEM_UID).when(
- mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
+ doReturn(Process.SYSTEM_UID)
+ .when(mAnomalyDetectionJobService)
+ .extractUidFromStatsDimensionsValue(any());
- mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
- mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
- mPowerAllowlistBackend, mContext.getContentResolver(),
- mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider,
+ mAnomalyDetectionJobService.saveAnomalyToDatabase(
+ mContext,
+ mUserManager,
+ mBatteryDatabaseManager,
+ mBatteryUtils,
+ mPolicy,
+ mPowerAllowlistBackend,
+ mContext.getContentResolver(),
+ mFeatureFactory.powerUsageFeatureProvider,
+ mFeatureFactory.metricsFeatureProvider,
mBundle);
- verify(mBatteryDatabaseManager, never()).insertAnomaly(anyInt(), anyString(), anyInt(),
- anyInt(), anyLong());
+ verify(mBatteryDatabaseManager, never())
+ .insertAnomaly(anyInt(), anyString(), anyInt(), anyInt(), anyLong());
}
@Test
public void saveAnomalyToDatabase_uidNull_doNotSave() {
- doReturn(AnomalyDetectionJobService.UID_NULL).when(
- mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
+ doReturn(AnomalyDetectionJobService.UID_NULL)
+ .when(mAnomalyDetectionJobService)
+ .extractUidFromStatsDimensionsValue(any());
- mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
- mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
- mPowerAllowlistBackend, mContext.getContentResolver(),
- mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider,
+ mAnomalyDetectionJobService.saveAnomalyToDatabase(
+ mContext,
+ mUserManager,
+ mBatteryDatabaseManager,
+ mBatteryUtils,
+ mPolicy,
+ mPowerAllowlistBackend,
+ mContext.getContentResolver(),
+ mFeatureFactory.powerUsageFeatureProvider,
+ mFeatureFactory.metricsFeatureProvider,
mBundle);
- verify(mBatteryDatabaseManager, never()).insertAnomaly(anyInt(), anyString(), anyInt(),
- anyInt(), anyLong());
+ verify(mBatteryDatabaseManager, never())
+ .insertAnomaly(anyInt(), anyString(), anyInt(), anyInt(), anyLong());
}
@Test
@@ -222,22 +245,36 @@
mBundle.putStringArrayList(StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES, cookies);
doReturn(SYSTEM_PACKAGE).when(mBatteryUtils).getPackageName(anyInt());
doReturn(false).when(mPowerAllowlistBackend).isSysAllowlisted(SYSTEM_PACKAGE);
- doReturn(Process.FIRST_APPLICATION_UID).when(
- mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
+ doReturn(Process.FIRST_APPLICATION_UID)
+ .when(mAnomalyDetectionJobService)
+ .extractUidFromStatsDimensionsValue(any());
- mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
- mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
- mPowerAllowlistBackend, mContext.getContentResolver(),
- mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider,
+ mAnomalyDetectionJobService.saveAnomalyToDatabase(
+ mContext,
+ mUserManager,
+ mBatteryDatabaseManager,
+ mBatteryUtils,
+ mPolicy,
+ mPowerAllowlistBackend,
+ mContext.getContentResolver(),
+ mFeatureFactory.powerUsageFeatureProvider,
+ mFeatureFactory.metricsFeatureProvider,
mBundle);
- verify(mBatteryDatabaseManager).insertAnomaly(anyInt(), anyString(), eq(6),
- eq(AnomalyDatabaseHelper.State.AUTO_HANDLED), anyLong());
- verify(mFeatureFactory.metricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
- MetricsProto.MetricsEvent.ACTION_ANOMALY_TRIGGERED,
- SettingsEnums.PAGE_UNKNOWN,
- SYSTEM_PACKAGE + "/" + VERSION_CODE,
- ANOMALY_TYPE);
+ verify(mBatteryDatabaseManager)
+ .insertAnomaly(
+ anyInt(),
+ anyString(),
+ eq(6),
+ eq(AnomalyDatabaseHelper.State.AUTO_HANDLED),
+ anyLong());
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ SettingsEnums.PAGE_UNKNOWN,
+ MetricsProto.MetricsEvent.ACTION_ANOMALY_TRIGGERED,
+ SettingsEnums.PAGE_UNKNOWN,
+ SYSTEM_PACKAGE + "/" + VERSION_CODE,
+ ANOMALY_TYPE);
}
@Test
@@ -247,22 +284,36 @@
mBundle.putStringArrayList(StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES, cookies);
doReturn(SYSTEM_PACKAGE).when(mBatteryUtils).getPackageName(anyInt());
doReturn(false).when(mPowerAllowlistBackend).isSysAllowlisted(SYSTEM_PACKAGE);
- doReturn(Process.FIRST_APPLICATION_UID).when(
- mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
+ doReturn(Process.FIRST_APPLICATION_UID)
+ .when(mAnomalyDetectionJobService)
+ .extractUidFromStatsDimensionsValue(any());
- mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
- mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
- mPowerAllowlistBackend, mContext.getContentResolver(),
- mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider,
+ mAnomalyDetectionJobService.saveAnomalyToDatabase(
+ mContext,
+ mUserManager,
+ mBatteryDatabaseManager,
+ mBatteryUtils,
+ mPolicy,
+ mPowerAllowlistBackend,
+ mContext.getContentResolver(),
+ mFeatureFactory.powerUsageFeatureProvider,
+ mFeatureFactory.metricsFeatureProvider,
mBundle);
- verify(mBatteryDatabaseManager).insertAnomaly(anyInt(), anyString(), eq(6),
- eq(AnomalyDatabaseHelper.State.NEW), anyLong());
- verify(mFeatureFactory.metricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
- MetricsProto.MetricsEvent.ACTION_ANOMALY_TRIGGERED,
- SettingsEnums.PAGE_UNKNOWN,
- SYSTEM_PACKAGE + "/" + VERSION_CODE,
- ANOMALY_TYPE);
+ verify(mBatteryDatabaseManager)
+ .insertAnomaly(
+ anyInt(),
+ anyString(),
+ eq(6),
+ eq(AnomalyDatabaseHelper.State.NEW),
+ anyLong());
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ SettingsEnums.PAGE_UNKNOWN,
+ MetricsProto.MetricsEvent.ACTION_ANOMALY_TRIGGERED,
+ SettingsEnums.PAGE_UNKNOWN,
+ SYSTEM_PACKAGE + "/" + VERSION_CODE,
+ ANOMALY_TYPE);
}
@Test
@@ -280,8 +331,8 @@
statsDimensionsValues.add(intValue);
when(tupleValue.getTupleValueList()).thenReturn(statsDimensionsValues);
- assertThat(mAnomalyDetectionJobService.extractUidFromStatsDimensionsValue(
- tupleValue)).isEqualTo(UID);
+ assertThat(mAnomalyDetectionJobService.extractUidFromStatsDimensionsValue(tupleValue))
+ .isEqualTo(UID);
}
@Test
@@ -292,8 +343,8 @@
when(floatValue.getField()).thenReturn(AnomalyDetectionJobService.STATSD_UID_FILED);
when(floatValue.getFloatValue()).thenReturn(0f);
- assertThat(mAnomalyDetectionJobService.extractUidFromStatsDimensionsValue(
- floatValue)).isEqualTo(AnomalyDetectionJobService.UID_NULL);
+ assertThat(mAnomalyDetectionJobService.extractUidFromStatsDimensionsValue(floatValue))
+ .isEqualTo(AnomalyDetectionJobService.UID_NULL);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
index 58bc061..f080574 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
@@ -18,7 +18,6 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import android.content.Context;
@@ -39,7 +38,6 @@
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settingslib.fuelgauge.EstimateKt;
import org.junit.After;
import org.junit.Before;
@@ -98,20 +96,21 @@
mPackageManager.setApplicationIcon(PACKAGE_NAME, new ColorDrawable());
List<AppInfo> highUsageTips = new ArrayList<>();
- mAppInfo = new AppInfo.Builder()
- .setScreenOnTimeMs(SCREEN_TIME_MS)
- .setPackageName(PACKAGE_NAME)
- .build();
+ mAppInfo =
+ new AppInfo.Builder()
+ .setScreenOnTimeMs(SCREEN_TIME_MS)
+ .setPackageName(PACKAGE_NAME)
+ .build();
highUsageTips.add(mAppInfo);
mHighUsageTip = new HighUsageTip(SCREEN_TIME_MS, highUsageTips);
final List<AppInfo> restrictApps = new ArrayList<>();
restrictApps.add(mAppInfo);
- mRestrictedOneAppTip = new RestrictAppTip(BatteryTip.StateType.NEW,
- new ArrayList<>(restrictApps));
+ mRestrictedOneAppTip =
+ new RestrictAppTip(BatteryTip.StateType.NEW, new ArrayList<>(restrictApps));
restrictApps.add(mAppInfo);
- mRestrictTwoAppsTip = new RestrictAppTip(BatteryTip.StateType.NEW,
- new ArrayList<>(restrictApps));
+ mRestrictTwoAppsTip =
+ new RestrictAppTip(BatteryTip.StateType.NEW, new ArrayList<>(restrictApps));
mUnrestrictAppTip = new UnrestrictAppTip(BatteryTip.StateType.NEW, mAppInfo);
mDefenderTip = new BatteryDefenderTip(BatteryTip.StateType.NEW, false /* isPluggedIn */);
@@ -128,24 +127,30 @@
mDialogFragment = BatteryTipDialogFragment.newInstance(mHighUsageTip, METRICS_KEY);
- FragmentController.setupFragment(mDialogFragment, FragmentActivity.class,
- 0 /* containerViewId */, null /* bundle */);
+ FragmentController.setupFragment(
+ mDialogFragment,
+ FragmentActivity.class,
+ 0 /* containerViewId */,
+ null /* bundle */);
Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
- assertThat(shadowDialog.getMessage()).isEqualTo(
- mContext.getString(R.string.battery_tip_dialog_message, 1));
+ assertThat(shadowDialog.getMessage())
+ .isEqualTo(mContext.getString(R.string.battery_tip_dialog_message, 1));
}
@Test
public void testOnCreateDialog_restrictOneAppTip_fireRestrictOneAppDialog() {
mDialogFragment = BatteryTipDialogFragment.newInstance(mRestrictedOneAppTip, METRICS_KEY);
- FragmentController.setupFragment(mDialogFragment, FragmentActivity.class,
- 0 /* containerViewId */, null /* bundle */);
+ FragmentController.setupFragment(
+ mDialogFragment,
+ FragmentActivity.class,
+ 0 /* containerViewId */,
+ null /* bundle */);
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
@@ -163,9 +168,11 @@
mDialogFragment = BatteryTipDialogFragment.newInstance(mRestrictTwoAppsTip, METRICS_KEY);
-
- FragmentController.setupFragment(mDialogFragment, FragmentActivity.class,
- 0 /* containerViewId */, null /* bundle */);
+ FragmentController.setupFragment(
+ mDialogFragment,
+ FragmentActivity.class,
+ 0 /* containerViewId */,
+ null /* bundle */);
Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
@@ -189,13 +196,16 @@
for (int i = 0; i < 6; i++) {
appInfos.add(mAppInfo);
}
- final RestrictAppTip restrictSixAppsTip = new RestrictAppTip(BatteryTip.StateType.NEW,
- appInfos);
+ final RestrictAppTip restrictSixAppsTip =
+ new RestrictAppTip(BatteryTip.StateType.NEW, appInfos);
mDialogFragment = BatteryTipDialogFragment.newInstance(restrictSixAppsTip, METRICS_KEY);
- FragmentController.setupFragment(mDialogFragment, FragmentActivity.class,
- 0 /* containerViewId */, null /* bundle */);
+ FragmentController.setupFragment(
+ mDialogFragment,
+ FragmentActivity.class,
+ 0 /* containerViewId */,
+ null /* bundle */);
Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
@@ -215,8 +225,11 @@
mDialogFragment = BatteryTipDialogFragment.newInstance(mUnrestrictAppTip, METRICS_KEY);
ShadowUtils.setApplicationLabel(PACKAGE_NAME, DISPLAY_NAME);
- FragmentController.setupFragment(mDialogFragment, FragmentActivity.class,
- 0 /* containerViewId */, null /* bundle */);
+ FragmentController.setupFragment(
+ mDialogFragment,
+ FragmentActivity.class,
+ 0 /* containerViewId */,
+ null /* bundle */);
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoaderTest.java
index e13dcc0..5613c4e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoaderTest.java
@@ -50,21 +50,20 @@
public class BatteryTipLoaderTest {
private static final int[] TIP_ORDER = {
- BatteryTip.TipType.LOW_BATTERY,
- BatteryTip.TipType.BATTERY_DEFENDER,
- BatteryTip.TipType.DOCK_DEFENDER,
- BatteryTip.TipType.INCOMPATIBLE_CHARGER,
- BatteryTip.TipType.HIGH_DEVICE_USAGE};
+ BatteryTip.TipType.LOW_BATTERY,
+ BatteryTip.TipType.BATTERY_DEFENDER,
+ BatteryTip.TipType.DOCK_DEFENDER,
+ BatteryTip.TipType.INCOMPATIBLE_CHARGER,
+ BatteryTip.TipType.HIGH_DEVICE_USAGE
+ };
+
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private BatteryUsageStats mBatteryUsageStats;
- @Mock
- private PowerManager mPowerManager;
- @Mock
- private Intent mIntent;
- @Mock
- private BatteryUtils mBatteryUtils;
- @Mock
- private BatteryInfo mBatteryInfo;
+
+ @Mock private PowerManager mPowerManager;
+ @Mock private Intent mIntent;
+ @Mock private BatteryUtils mBatteryUtils;
+ @Mock private BatteryInfo mBatteryInfo;
private Context mContext;
private BatteryTipLoader mBatteryTipLoader;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java
index 1c1d2cc..eeedccc 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java
@@ -15,8 +15,7 @@
*/
package com.android.settings.fuelgauge.batterytip;
-import static com.android.settings.fuelgauge.batterytip.tips.BatteryTip.TipType
- .SMART_BATTERY_MANAGER;
+import static com.android.settings.fuelgauge.batterytip.tips.BatteryTip.TipType.SMART_BATTERY_MANAGER;
import static com.google.common.truth.Truth.assertThat;
@@ -31,8 +30,6 @@
import androidx.preference.PreferenceScreen;
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.InstrumentedPreferenceFragment;
@@ -58,16 +55,11 @@
private static final String KEY_TIP = "key_battery_tip";
private static final long AVERAGE_TIME_MS = DateUtils.HOUR_IN_MILLIS;
- @Mock
- private BatteryTipPreferenceController.BatteryTipListener mBatteryTipListener;
- @Mock
- private PreferenceScreen mPreferenceScreen;
- @Mock
- private BatteryTip mBatteryTip;
- @Mock
- private SettingsActivity mSettingsActivity;
- @Mock
- private InstrumentedPreferenceFragment mFragment;
+ @Mock private BatteryTipPreferenceController.BatteryTipListener mBatteryTipListener;
+ @Mock private PreferenceScreen mPreferenceScreen;
+ @Mock private BatteryTip mBatteryTip;
+ @Mock private SettingsActivity mSettingsActivity;
+ @Mock private InstrumentedPreferenceFragment mFragment;
private Context mContext;
private CardPreference mCardPreference;
@@ -147,13 +139,13 @@
@Test
public void getAvailabilityStatus_returnAvailableUnsearchable() {
- assertThat(mBatteryTipPreferenceController.getAvailabilityStatus()).isEqualTo(
- BasePreferenceController.AVAILABLE_UNSEARCHABLE);
+ assertThat(mBatteryTipPreferenceController.getAvailabilityStatus())
+ .isEqualTo(BasePreferenceController.AVAILABLE_UNSEARCHABLE);
}
private BatteryTipPreferenceController buildBatteryTipPreferenceController() {
- final BatteryTipPreferenceController controller = new BatteryTipPreferenceController(
- mContext, KEY_PREF);
+ final BatteryTipPreferenceController controller =
+ new BatteryTipPreferenceController(mContext, KEY_PREF);
controller.setActivity(mSettingsActivity);
controller.setFragment(mFragment);
controller.setBatteryTipListener(mBatteryTipListener);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtilsTest.java
index e4f286d..82a850e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtilsTest.java
@@ -45,10 +45,8 @@
@RunWith(RobolectricTestRunner.class)
public class BatteryTipUtilsTest {
- @Mock
- private SettingsActivity mSettingsActivity;
- @Mock
- private InstrumentedPreferenceFragment mFragment;
+ @Mock private SettingsActivity mSettingsActivity;
+ @Mock private InstrumentedPreferenceFragment mFragment;
private RestrictAppTip mRestrictAppTip;
private LowBatteryTip mLowBatteryTip;
private BatteryDefenderTip mBatteryDefenderTip;
@@ -61,42 +59,49 @@
when(mSettingsActivity.getApplicationContext()).thenReturn(RuntimeEnvironment.application);
when(mFragment.getContext()).thenReturn(RuntimeEnvironment.application);
mRestrictAppTip = spy(new RestrictAppTip(BatteryTip.StateType.NEW, new ArrayList<>()));
- mLowBatteryTip = spy(
- new LowBatteryTip(BatteryTip.StateType.NEW, false /* powerSaveModeOn */));
- mBatteryDefenderTip = spy(new BatteryDefenderTip(BatteryTip.StateType.NEW,
- false /* isPluggedIn */));
+ mLowBatteryTip =
+ spy(new LowBatteryTip(BatteryTip.StateType.NEW, false /* powerSaveModeOn */));
+ mBatteryDefenderTip =
+ spy(new BatteryDefenderTip(BatteryTip.StateType.NEW, false /* isPluggedIn */));
}
@Test
public void testGetActionForBatteryTip_typeRestrictStateNew_returnActionRestrict() {
when(mRestrictAppTip.getState()).thenReturn(BatteryTip.StateType.NEW);
- assertThat(BatteryTipUtils.getActionForBatteryTip(mRestrictAppTip, mSettingsActivity,
- mFragment)).isInstanceOf(RestrictAppAction.class);
+ assertThat(
+ BatteryTipUtils.getActionForBatteryTip(
+ mRestrictAppTip, mSettingsActivity, mFragment))
+ .isInstanceOf(RestrictAppAction.class);
}
@Test
public void testGetActionForBatteryTip_typeRestrictStateHandled_returnActionOpen() {
when(mRestrictAppTip.getState()).thenReturn(BatteryTip.StateType.HANDLED);
- assertThat(BatteryTipUtils.getActionForBatteryTip(mRestrictAppTip, mSettingsActivity,
- mFragment)).isInstanceOf(OpenRestrictAppFragmentAction.class);
+ assertThat(
+ BatteryTipUtils.getActionForBatteryTip(
+ mRestrictAppTip, mSettingsActivity, mFragment))
+ .isInstanceOf(OpenRestrictAppFragmentAction.class);
}
@Test
public void testGetActionForBatteryTip_typeLowBatteryStateNew_returnActionOpen() {
when(mLowBatteryTip.getState()).thenReturn(BatteryTip.StateType.NEW);
- assertThat(BatteryTipUtils.getActionForBatteryTip(mLowBatteryTip, mSettingsActivity,
- mFragment)).isInstanceOf(OpenBatterySaverAction.class);
+ assertThat(
+ BatteryTipUtils.getActionForBatteryTip(
+ mLowBatteryTip, mSettingsActivity, mFragment))
+ .isInstanceOf(OpenBatterySaverAction.class);
}
@Test
- public void
- testGetActionForBatteryTip_typeBatteryDefenderStateNew_returnNullAction() {
+ public void testGetActionForBatteryTip_typeBatteryDefenderStateNew_returnNullAction() {
when(mBatteryDefenderTip.getState()).thenReturn(BatteryTip.StateType.NEW);
- assertThat(BatteryTipUtils.getActionForBatteryTip(mBatteryDefenderTip, mSettingsActivity,
- mFragment)).isNull();
+ assertThat(
+ BatteryTipUtils.getActionForBatteryTip(
+ mBatteryDefenderTip, mSettingsActivity, mFragment))
+ .isNull();
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/HighUsageDataParserTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/HighUsageDataParserTest.java
index a0e205d..0310225 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/HighUsageDataParserTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/HighUsageDataParserTest.java
@@ -24,9 +24,9 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
import java.time.Duration;
-import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
public class HighUsageDataParserTest {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/OpenRestrictAppFragmentActionTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/OpenRestrictAppFragmentActionTest.java
index 71202df..e5ada76 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/OpenRestrictAppFragmentActionTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/OpenRestrictAppFragmentActionTest.java
@@ -39,10 +39,10 @@
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
import java.util.ArrayList;
import java.util.List;
-import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class)
public class OpenRestrictAppFragmentActionTest {
@@ -53,10 +53,8 @@
private static final int ANOMALY_BT = 1;
private static final int METRICS_KEY = 1;
- @Mock
- private InstrumentedPreferenceFragment mFragment;
- @Mock
- private BatteryDatabaseManager mBatteryDatabaseManager;
+ @Mock private InstrumentedPreferenceFragment mFragment;
+ @Mock private BatteryDatabaseManager mBatteryDatabaseManager;
private OpenRestrictAppFragmentAction mAction;
private FakeFeatureFactory mFeatureFactory;
private Context mContext;
@@ -67,19 +65,22 @@
MockitoAnnotations.initMocks(this);
mContext = ApplicationProvider.getApplicationContext();
mAppInfos = new ArrayList<>();
- mAppInfos.add(new AppInfo.Builder()
- .setPackageName(PACKAGE_NAME_1)
- .addAnomalyType(ANOMALY_BT)
- .build());
- mAppInfos.add(new AppInfo.Builder()
- .setPackageName(PACKAGE_NAME_2)
- .addAnomalyType(ANOMALY_WAKEUP)
- .build());
+ mAppInfos.add(
+ new AppInfo.Builder()
+ .setPackageName(PACKAGE_NAME_1)
+ .addAnomalyType(ANOMALY_BT)
+ .build());
+ mAppInfos.add(
+ new AppInfo.Builder()
+ .setPackageName(PACKAGE_NAME_2)
+ .addAnomalyType(ANOMALY_WAKEUP)
+ .build());
mFeatureFactory = FakeFeatureFactory.setupForTest();
when(mFragment.getContext()).thenReturn(mContext);
- mAction = new OpenRestrictAppFragmentAction(mFragment,
- new RestrictAppTip(BatteryTip.StateType.HANDLED, mAppInfos));
+ mAction =
+ new OpenRestrictAppFragmentAction(
+ mFragment, new RestrictAppTip(BatteryTip.StateType.HANDLED, mAppInfos));
mAction.mBatteryDatabaseManager = mBatteryDatabaseManager;
}
@@ -93,9 +94,12 @@
public void testHandlePositiveAction() {
mAction.handlePositiveAction(METRICS_KEY);
- verify(mFeatureFactory.metricsFeatureProvider).action(mContext,
- MetricsProto.MetricsEvent.ACTION_TIP_OPEN_APP_RESTRICTION_PAGE, METRICS_KEY);
- verify(mBatteryDatabaseManager).updateAnomalies(mAppInfos,
- AnomalyDatabaseHelper.State.HANDLED);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ MetricsProto.MetricsEvent.ACTION_TIP_OPEN_APP_RESTRICTION_PAGE,
+ METRICS_KEY);
+ verify(mBatteryDatabaseManager)
+ .updateAnomalies(mAppInfos, AnomalyDatabaseHelper.State.HANDLED);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java
index 121348a..19e3442 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java
@@ -52,8 +52,7 @@
private static final int ANOMALY_BT = 1;
private static final int METRICS_KEY = 1;
- @Mock
- private BatteryUtils mBatteryUtils;
+ @Mock private BatteryUtils mBatteryUtils;
private RestrictAppAction mRestrictAppAction;
private FakeFeatureFactory mFeatureFactory;
@@ -62,20 +61,20 @@
MockitoAnnotations.initMocks(this);
final List<AppInfo> mAppInfos = new ArrayList<>();
- mAppInfos.add(new AppInfo.Builder()
- .setUid(UID_1)
- .setPackageName(PACKAGE_NAME_1)
- .build());
- mAppInfos.add(new AppInfo.Builder()
- .setUid(UID_2)
- .setPackageName(PACKAGE_NAME_2)
- .addAnomalyType(ANOMALY_BT)
- .addAnomalyType(ANOMALY_WAKEUP)
- .build());
+ mAppInfos.add(new AppInfo.Builder().setUid(UID_1).setPackageName(PACKAGE_NAME_1).build());
+ mAppInfos.add(
+ new AppInfo.Builder()
+ .setUid(UID_2)
+ .setPackageName(PACKAGE_NAME_2)
+ .addAnomalyType(ANOMALY_BT)
+ .addAnomalyType(ANOMALY_WAKEUP)
+ .build());
mFeatureFactory = FakeFeatureFactory.setupForTest();
- mRestrictAppAction = new RestrictAppAction(RuntimeEnvironment.application,
- new RestrictAppTip(BatteryTip.StateType.NEW, mAppInfos));
+ mRestrictAppAction =
+ new RestrictAppAction(
+ RuntimeEnvironment.application,
+ new RestrictAppTip(BatteryTip.StateType.NEW, mAppInfos));
mRestrictAppAction.mBatteryUtils = mBatteryUtils;
}
@@ -89,17 +88,28 @@
public void testHandlePositiveAction() {
mRestrictAppAction.handlePositiveAction(METRICS_KEY);
- verify(mBatteryUtils)
- .setForceAppStandby(UID_1, PACKAGE_NAME_1, AppOpsManager.MODE_IGNORED);
- verify(mBatteryUtils)
- .setForceAppStandby(UID_2, PACKAGE_NAME_2, AppOpsManager.MODE_IGNORED);
- verify(mFeatureFactory.metricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
- MetricsProto.MetricsEvent.ACTION_TIP_RESTRICT_APP, METRICS_KEY, PACKAGE_NAME_1, 0);
- verify(mFeatureFactory.metricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
- MetricsProto.MetricsEvent.ACTION_TIP_RESTRICT_APP, METRICS_KEY, PACKAGE_NAME_2,
- ANOMALY_WAKEUP);
- verify(mFeatureFactory.metricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
- MetricsProto.MetricsEvent.ACTION_TIP_RESTRICT_APP, METRICS_KEY, PACKAGE_NAME_2,
- ANOMALY_BT);
+ verify(mBatteryUtils).setForceAppStandby(UID_1, PACKAGE_NAME_1, AppOpsManager.MODE_IGNORED);
+ verify(mBatteryUtils).setForceAppStandby(UID_2, PACKAGE_NAME_2, AppOpsManager.MODE_IGNORED);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ SettingsEnums.PAGE_UNKNOWN,
+ MetricsProto.MetricsEvent.ACTION_TIP_RESTRICT_APP,
+ METRICS_KEY,
+ PACKAGE_NAME_1,
+ 0);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ SettingsEnums.PAGE_UNKNOWN,
+ MetricsProto.MetricsEvent.ACTION_TIP_RESTRICT_APP,
+ METRICS_KEY,
+ PACKAGE_NAME_2,
+ ANOMALY_WAKEUP);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ SettingsEnums.PAGE_UNKNOWN,
+ MetricsProto.MetricsEvent.ACTION_TIP_RESTRICT_APP,
+ METRICS_KEY,
+ PACKAGE_NAME_2,
+ ANOMALY_BT);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java
index 1ef9a8a..0f4a043 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java
@@ -44,8 +44,7 @@
private static final String PACKAGE_NAME_1 = "com.android.app1";
private static final int METRICS_KEY = 1;
- @Mock
- private BatteryUtils mBatteryUtils;
+ @Mock private BatteryUtils mBatteryUtils;
private UnrestrictAppAction mUnrestrictAppAction;
private FakeFeatureFactory mFeatureFactory;
@@ -53,14 +52,14 @@
public void setUp() {
MockitoAnnotations.initMocks(this);
- final AppInfo appInfo = new AppInfo.Builder()
- .setUid(UID_1)
- .setPackageName(PACKAGE_NAME_1)
- .build();
+ final AppInfo appInfo =
+ new AppInfo.Builder().setUid(UID_1).setPackageName(PACKAGE_NAME_1).build();
mFeatureFactory = FakeFeatureFactory.setupForTest();
- mUnrestrictAppAction = new UnrestrictAppAction(RuntimeEnvironment.application,
- new UnrestrictAppTip(BatteryTip.StateType.NEW, appInfo));
+ mUnrestrictAppAction =
+ new UnrestrictAppAction(
+ RuntimeEnvironment.application,
+ new UnrestrictAppTip(BatteryTip.StateType.NEW, appInfo));
mUnrestrictAppAction.mBatteryUtils = mBatteryUtils;
}
@@ -73,13 +72,13 @@
public void testHandlePositiveAction() {
mUnrestrictAppAction.handlePositiveAction(METRICS_KEY);
- verify(mBatteryUtils)
- .setForceAppStandby(UID_1, PACKAGE_NAME_1, AppOpsManager.MODE_ALLOWED);
- verify(mFeatureFactory.metricsFeatureProvider).action(
- SettingsEnums.PAGE_UNKNOWN,
- MetricsProto.MetricsEvent.ACTION_TIP_UNRESTRICT_APP,
- METRICS_KEY,
- PACKAGE_NAME_1,
- 0);
+ verify(mBatteryUtils).setForceAppStandby(UID_1, PACKAGE_NAME_1, AppOpsManager.MODE_ALLOWED);
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ SettingsEnums.PAGE_UNKNOWN,
+ MetricsProto.MetricsEvent.ACTION_TIP_UNRESTRICT_APP,
+ METRICS_KEY,
+ PACKAGE_NAME_1,
+ 0);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetectorTest.java
index 64d5d04..0a63ba2 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetectorTest.java
@@ -38,8 +38,7 @@
@RunWith(RobolectricTestRunner.class)
public class BatteryDefenderDetectorTest {
- @Mock
- private BatteryInfo mBatteryInfo;
+ @Mock private BatteryInfo mBatteryInfo;
private BatteryDefenderDetector mBatteryDefenderDetector;
private Context mContext;
@@ -53,8 +52,7 @@
mContext = ApplicationProvider.getApplicationContext();
- mBatteryDefenderDetector = new BatteryDefenderDetector(
- mBatteryInfo, mContext);
+ mBatteryDefenderDetector = new BatteryDefenderDetector(mBatteryInfo, mContext);
mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/DockDefenderDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/DockDefenderDetectorTest.java
index bd2c5d1..b90733d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/DockDefenderDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/DockDefenderDetectorTest.java
@@ -59,25 +59,35 @@
mBatteryInfo = new BatteryInfo();
mBatteryInfo.pluggedStatus = BatteryManager.BATTERY_PLUGGED_DOCK;
mDockDefenderDetector = new DockDefenderDetector(mBatteryInfo, mContext);
- Intent intent = BatteryTestUtils.getCustomBatteryIntent(BatteryManager.BATTERY_PLUGGED_DOCK,
- 50 /* level */, 100 /* scale */, BatteryManager.BATTERY_STATUS_CHARGING);
- doReturn(intent).when(mContext).registerReceiver(eq(null),
- refEq(new IntentFilter(Intent.ACTION_BATTERY_CHANGED)));
+ Intent intent =
+ BatteryTestUtils.getCustomBatteryIntent(
+ BatteryManager.BATTERY_PLUGGED_DOCK,
+ 50 /* level */,
+ 100 /* scale */,
+ BatteryManager.BATTERY_STATUS_CHARGING);
+ doReturn(intent)
+ .when(mContext)
+ .registerReceiver(eq(null), refEq(new IntentFilter(Intent.ACTION_BATTERY_CHANGED)));
- Settings.Global.putInt(mContext.getContentResolver(),
- BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 0);
+ Settings.Global.putInt(
+ mContext.getContentResolver(),
+ BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS,
+ 0);
mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
}
@Test
public void testDetect_dockDefenderTemporarilyBypassed() {
- Settings.Global.putInt(mContext.getContentResolver(),
- BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 1);
+ Settings.Global.putInt(
+ mContext.getContentResolver(),
+ BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS,
+ 1);
BatteryTip batteryTip = mDockDefenderDetector.detect();
assertTrue(batteryTip instanceof DockDefenderTip);
- assertEquals(((DockDefenderTip) batteryTip).getMode(),
+ assertEquals(
+ ((DockDefenderTip) batteryTip).getMode(),
BatteryUtils.DockDefenderMode.TEMPORARILY_BYPASSED);
}
@@ -89,8 +99,8 @@
BatteryTip batteryTip = mDockDefenderDetector.detect();
assertTrue(batteryTip instanceof DockDefenderTip);
- assertEquals(((DockDefenderTip) batteryTip).getMode(),
- BatteryUtils.DockDefenderMode.ACTIVE);
+ assertEquals(
+ ((DockDefenderTip) batteryTip).getMode(), BatteryUtils.DockDefenderMode.ACTIVE);
}
@Test
@@ -101,7 +111,8 @@
BatteryTip batteryTip = mDockDefenderDetector.detect();
assertTrue(batteryTip instanceof DockDefenderTip);
- assertEquals(((DockDefenderTip) batteryTip).getMode(),
+ assertEquals(
+ ((DockDefenderTip) batteryTip).getMode(),
BatteryUtils.DockDefenderMode.FUTURE_BYPASS);
}
@@ -113,8 +124,8 @@
BatteryTip batteryTip = mDockDefenderDetector.detect();
assertTrue(batteryTip instanceof DockDefenderTip);
- assertEquals(((DockDefenderTip) batteryTip).getMode(),
- BatteryUtils.DockDefenderMode.DISABLED);
+ assertEquals(
+ ((DockDefenderTip) batteryTip).getMode(), BatteryUtils.DockDefenderMode.DISABLED);
}
@Test
@@ -124,8 +135,8 @@
BatteryTip batteryTip = mDockDefenderDetector.detect();
assertTrue(batteryTip instanceof DockDefenderTip);
- assertEquals(((DockDefenderTip) batteryTip).getMode(),
- BatteryUtils.DockDefenderMode.DISABLED);
+ assertEquals(
+ ((DockDefenderTip) batteryTip).getMode(), BatteryUtils.DockDefenderMode.DISABLED);
}
@Test
@@ -136,7 +147,7 @@
BatteryTip batteryTip = mDockDefenderDetector.detect();
assertTrue(batteryTip instanceof DockDefenderTip);
- assertEquals(((DockDefenderTip) batteryTip).getMode(),
- BatteryUtils.DockDefenderMode.DISABLED);
+ assertEquals(
+ ((DockDefenderTip) batteryTip).getMode(), BatteryUtils.DockDefenderMode.DISABLED);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java
index c125876..b9f9ed2 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java
@@ -62,18 +62,12 @@
private static final double POWER_LOW = 10000;
private Context mContext;
- @Mock
- private UidBatteryConsumer mHighBatteryConsumer;
- @Mock
- private UidBatteryConsumer mLowBatteryConsumer;
- @Mock
- private UidBatteryConsumer mSystemBatteryConsumer;
- @Mock
- private HighUsageDataParser mDataParser;
- @Mock
- private BatteryUsageStats mBatteryUsageStats;
- @Mock
- private BatteryStatsManager mBatteryStatsManager;
+ @Mock private UidBatteryConsumer mHighBatteryConsumer;
+ @Mock private UidBatteryConsumer mLowBatteryConsumer;
+ @Mock private UidBatteryConsumer mSystemBatteryConsumer;
+ @Mock private HighUsageDataParser mDataParser;
+ @Mock private BatteryUsageStats mBatteryUsageStats;
+ @Mock private BatteryStatsManager mBatteryStatsManager;
private AppInfo mHighAppInfo;
private AppInfo mLowAppInfo;
@@ -94,11 +88,17 @@
when(mBatteryStatsManager.getBatteryUsageStats(any(BatteryUsageStatsQuery.class)))
.thenReturn(mBatteryUsageStats);
- mContext.sendStickyBroadcast(new Intent(Intent.ACTION_BATTERY_CHANGED)
- .putExtra(BatteryManager.EXTRA_PLUGGED, 0));
+ mContext.sendStickyBroadcast(
+ new Intent(Intent.ACTION_BATTERY_CHANGED)
+ .putExtra(BatteryManager.EXTRA_PLUGGED, 0));
- mHighUsageDetector = spy(new HighUsageDetector(mContext, mPolicy, mBatteryUsageStats,
- mBatteryUtils.getBatteryInfo(TAG)));
+ mHighUsageDetector =
+ spy(
+ new HighUsageDetector(
+ mContext,
+ mPolicy,
+ mBatteryUsageStats,
+ mBatteryUtils.getBatteryInfo(TAG)));
mHighUsageDetector.mBatteryUtils = mBatteryUtils;
mHighUsageDetector.mDataParser = mDataParser;
doNothing().when(mHighUsageDetector).parseBatteryData();
@@ -111,12 +111,8 @@
when(mBatteryUsageStats.getDischargePercentage()).thenReturn(100);
when(mBatteryUsageStats.getConsumedPower()).thenReturn(POWER_HIGH + POWER_LOW);
- mHighAppInfo = new AppInfo.Builder()
- .setUid(UID_HIGH)
- .build();
- mLowAppInfo = new AppInfo.Builder()
- .setUid(UID_LOW)
- .build();
+ mHighAppInfo = new AppInfo.Builder().setUid(UID_HIGH).build();
+ mLowAppInfo = new AppInfo.Builder().setUid(UID_LOW).build();
ArrayList<UidBatteryConsumer> consumers = new ArrayList<>();
consumers.add(mSystemBatteryConsumer);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetectorTest.java
index 9ababe7..c0f6108 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetectorTest.java
@@ -81,6 +81,7 @@
when(mUsbPort.getStatus()).thenReturn(mUsbPortStatus);
when(mUsbPort.supportsComplianceWarnings()).thenReturn(true);
when(mUsbPortStatus.isConnected()).thenReturn(true);
- when(mUsbPortStatus.getComplianceWarnings()).thenReturn(new int[]{1});
+ when(mUsbPortStatus.getComplianceWarnings())
+ .thenReturn(new int[] {UsbPortStatus.COMPLIANCE_WARNING_DEBUG_ACCESSORY});
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java
index c9e201b..8e3de7c 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java
@@ -40,8 +40,7 @@
@RunWith(RobolectricTestRunner.class)
public class LowBatteryDetectorTest {
- @Mock
- private BatteryInfo mBatteryInfo;
+ @Mock private BatteryInfo mBatteryInfo;
private BatteryTipPolicy mPolicy;
private LowBatteryDetector mLowBatteryDetector;
private Context mContext;
@@ -55,15 +54,16 @@
ReflectionHelpers.setField(mPolicy, "lowBatteryEnabled", true);
mBatteryInfo.discharging = true;
- mLowBatteryDetector = new LowBatteryDetector(mContext, mPolicy, mBatteryInfo,
- false /* isPowerSaveMode */);
+ mLowBatteryDetector =
+ new LowBatteryDetector(
+ mContext, mPolicy, mBatteryInfo, false /* isPowerSaveMode */);
}
@Test
public void testDetect_disabledByPolicy_tipInvisible() {
ReflectionHelpers.setField(mPolicy, "lowBatteryEnabled", false);
- mLowBatteryDetector = new LowBatteryDetector(mContext, mPolicy, mBatteryInfo,
- true /* isPowerSaveMode */);
+ mLowBatteryDetector =
+ new LowBatteryDetector(mContext, mPolicy, mBatteryInfo, true /* isPowerSaveMode */);
assertThat(mLowBatteryDetector.detect().isVisible()).isFalse();
}
@@ -84,8 +84,8 @@
@Test
public void testDetect_batterySaverOn_tipInvisible() {
- mLowBatteryDetector = new LowBatteryDetector(mContext, mPolicy, mBatteryInfo,
- true /* isPowerSaveMode */);
+ mLowBatteryDetector =
+ new LowBatteryDetector(mContext, mPolicy, mBatteryInfo, true /* isPowerSaveMode */);
assertThat(mLowBatteryDetector.detect().getState())
.isEqualTo(BatteryTip.StateType.INVISIBLE);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetectorTest.java
index d40f5b8..bd207ee 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetectorTest.java
@@ -22,7 +22,6 @@
import android.content.ContentResolver;
import android.content.Context;
-import android.os.PowerManager;
import android.provider.Settings;
import com.android.settings.fuelgauge.BatteryInfo;
@@ -49,8 +48,7 @@
private SmartBatteryDetector mSmartBatteryDetector;
private BatteryTipPolicy mPolicy;
- @Mock
- private BatteryInfo mBatteryInfo;
+ @Mock private BatteryInfo mBatteryInfo;
@Before
public void setUp() {
@@ -59,8 +57,13 @@
mContext = RuntimeEnvironment.application;
mContentResolver = mContext.getContentResolver();
mPolicy = spy(new BatteryTipPolicy(mContext));
- mSmartBatteryDetector = new SmartBatteryDetector(mContext, mPolicy, mBatteryInfo,
- mContentResolver, false /* isPowerSaveMode */);
+ mSmartBatteryDetector =
+ new SmartBatteryDetector(
+ mContext,
+ mPolicy,
+ mBatteryInfo,
+ mContentResolver,
+ false /* isPowerSaveMode */);
}
@Test
@@ -72,8 +75,8 @@
@Test
public void testDetect_smartBatteryOff_tipVisible() {
- Settings.Global.putInt(mContentResolver,
- Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
+ Settings.Global.putInt(
+ mContentResolver, Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
mBatteryInfo.batteryLevel = EXPECTED_BATTERY_LEVEL;
assertThat(mSmartBatteryDetector.detect().isVisible()).isTrue();
@@ -81,30 +84,40 @@
@Test
public void testDetect_batterySaverOn_tipInvisible() {
- Settings.Global.putInt(mContentResolver,
- Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
+ Settings.Global.putInt(
+ mContentResolver, Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
mBatteryInfo.batteryLevel = EXPECTED_BATTERY_LEVEL;
- mSmartBatteryDetector = new SmartBatteryDetector(mContext, mPolicy, mBatteryInfo,
- mContentResolver, true /* isPowerSaveMode */);
+ mSmartBatteryDetector =
+ new SmartBatteryDetector(
+ mContext,
+ mPolicy,
+ mBatteryInfo,
+ mContentResolver,
+ true /* isPowerSaveMode */);
assertThat(mSmartBatteryDetector.detect().isVisible()).isFalse();
}
@Test
public void testDetect_unexpectedBatteryLevel_tipInvisible() {
- Settings.Global.putInt(mContentResolver,
- Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
+ Settings.Global.putInt(
+ mContentResolver, Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
mBatteryInfo.batteryLevel = UNEXPECTED_BATTERY_LEVEL;
- mSmartBatteryDetector = new SmartBatteryDetector(mContext, mPolicy, mBatteryInfo,
- mContentResolver, true /* isPowerSaveMode */);
+ mSmartBatteryDetector =
+ new SmartBatteryDetector(
+ mContext,
+ mPolicy,
+ mBatteryInfo,
+ mContentResolver,
+ true /* isPowerSaveMode */);
assertThat(mSmartBatteryDetector.detect().isVisible()).isFalse();
}
@Test
public void testDetect_smartBatteryOn_tipInvisible() {
- Settings.Global.putInt(mContentResolver,
- Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 1);
+ Settings.Global.putInt(
+ mContentResolver, Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 1);
mBatteryInfo.batteryLevel = EXPECTED_BATTERY_LEVEL;
assertThat(mSmartBatteryDetector.detect().isVisible()).isFalse();
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTipTest.java
index eee2df3..f8a4f28 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTipTest.java
@@ -17,9 +17,7 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -63,8 +61,8 @@
mFeatureFactory = FakeFeatureFactory.setupForTest();
mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
mContext = RuntimeEnvironment.application;
- mBatteryDefenderTip = new BatteryDefenderTip(BatteryTip.StateType.NEW,
- false /* isPluggedIn */);
+ mBatteryDefenderTip =
+ new BatteryDefenderTip(BatteryTip.StateType.NEW, false /* isPluggedIn */);
when(mPreference.getContext()).thenReturn(mContext);
when(mCardPreference.getContext()).thenReturn(mContext);
@@ -93,8 +91,8 @@
mBatteryDefenderTip.updateState(mBatteryTip);
mBatteryDefenderTip.log(mContext, mMetricsFeatureProvider);
- verify(mMetricsFeatureProvider).action(mContext,
- SettingsEnums.ACTION_BATTERY_DEFENDER_TIP, mBatteryTip.mState);
+ verify(mMetricsFeatureProvider)
+ .action(mContext, SettingsEnums.ACTION_BATTERY_DEFENDER_TIP, mBatteryTip.mState);
}
@Test
@@ -131,8 +129,8 @@
@Test
public void updatePreference_whenCharging_setPrimaryButtonVisibleToBeTrue() {
- mBatteryDefenderTip = new BatteryDefenderTip(BatteryTip.StateType.NEW,
- true /* isPluggedIn */);
+ mBatteryDefenderTip =
+ new BatteryDefenderTip(BatteryTip.StateType.NEW, true /* isPluggedIn */);
mBatteryDefenderTip.updatePreference(mCardPreference);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
index ecac4f9..45fdc1f 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
@@ -45,8 +45,7 @@
private static final String TITLE = "title";
private static final String SUMMARY = "summary";
- @DrawableRes
- private static final int ICON_ID = R.drawable.ic_fingerprint;
+ @DrawableRes private static final int ICON_ID = R.drawable.ic_fingerprint;
private Context mContext;
private TestBatteryTip mBatteryTip;
@@ -86,8 +85,10 @@
@Test
public void updatePreference_resetLayoutState() {
mContext.setTheme(R.style.Theme_Settings);
- PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
- View.inflate(mContext, R.layout.card_preference_layout, /* parent= */ null));
+ PreferenceViewHolder holder =
+ PreferenceViewHolder.createInstanceForTests(
+ View.inflate(
+ mContext, R.layout.card_preference_layout, /* parent= */ null));
CardPreference cardPreference = new CardPreference(mContext);
cardPreference.onBindViewHolder(holder);
cardPreference.setPrimaryButtonVisible(true);
@@ -113,9 +114,7 @@
assertThat(mBatteryTip.toString()).isEqualTo("type=6 state=0");
}
- /**
- * Used to test the non abstract methods in {@link TestBatteryTip}
- */
+ /** Used to test the non abstract methods in {@link TestBatteryTip} */
public static class TestBatteryTip extends BatteryTip {
TestBatteryTip() {
super(TipType.SUMMARY, StateType.NEW, true);
@@ -150,14 +149,15 @@
// do nothing
}
- public final Parcelable.Creator CREATOR = new Parcelable.Creator() {
- public BatteryTip createFromParcel(Parcel in) {
- return new TestBatteryTip(in);
- }
+ public final Parcelable.Creator CREATOR =
+ new Parcelable.Creator() {
+ public BatteryTip createFromParcel(Parcel in) {
+ return new TestBatteryTip(in);
+ }
- public BatteryTip[] newArray(int size) {
- return new TestBatteryTip[size];
- }
- };
+ public BatteryTip[] newArray(int size) {
+ return new TestBatteryTip[size];
+ }
+ };
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/DockDefenderTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/DockDefenderTipTest.java
index e897a1c..6d6c2e0 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/DockDefenderTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/DockDefenderTipTest.java
@@ -54,10 +54,8 @@
private FakeFeatureFactory mFeatureFactory;
private MetricsFeatureProvider mMetricsFeatureProvider;
- @Mock
- private Preference mPreference;
- @Mock
- private CardPreference mCardPreference;
+ @Mock private Preference mPreference;
+ @Mock private CardPreference mCardPreference;
@Before
public void setUp() {
@@ -67,14 +65,18 @@
mFeatureFactory = FakeFeatureFactory.setupForTest();
mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
- mDockDefenderTipFutureBypass = new DockDefenderTip(BatteryTip.StateType.NEW,
- BatteryUtils.DockDefenderMode.FUTURE_BYPASS);
- mDockDefenderTipActive = new DockDefenderTip(BatteryTip.StateType.NEW,
- BatteryUtils.DockDefenderMode.ACTIVE);
- mDockDefenderTipTemporarilyBypassed = new DockDefenderTip(BatteryTip.StateType.NEW,
- BatteryUtils.DockDefenderMode.TEMPORARILY_BYPASSED);
- mDockDefenderTipDisabled = new DockDefenderTip(BatteryTip.StateType.INVISIBLE,
- BatteryUtils.DockDefenderMode.DISABLED);
+ mDockDefenderTipFutureBypass =
+ new DockDefenderTip(
+ BatteryTip.StateType.NEW, BatteryUtils.DockDefenderMode.FUTURE_BYPASS);
+ mDockDefenderTipActive =
+ new DockDefenderTip(BatteryTip.StateType.NEW, BatteryUtils.DockDefenderMode.ACTIVE);
+ mDockDefenderTipTemporarilyBypassed =
+ new DockDefenderTip(
+ BatteryTip.StateType.NEW,
+ BatteryUtils.DockDefenderMode.TEMPORARILY_BYPASSED);
+ mDockDefenderTipDisabled =
+ new DockDefenderTip(
+ BatteryTip.StateType.INVISIBLE, BatteryUtils.DockDefenderMode.DISABLED);
doReturn(mContext).when(mPreference).getContext();
doReturn(mContext).when(mCardPreference).getContext();
@@ -82,69 +84,78 @@
@Test
public void testGetTitle() {
- assertThat(mDockDefenderTipFutureBypass.getTitle(mContext).toString()).isEqualTo(
- mContext.getString(R.string.battery_tip_dock_defender_future_bypass_title));
- assertThat(mDockDefenderTipActive.getTitle(mContext).toString()).isEqualTo(
- mContext.getString(R.string.battery_tip_dock_defender_active_title));
- assertThat(mDockDefenderTipTemporarilyBypassed.getTitle(mContext).toString()).isEqualTo(
- mContext.getString(R.string.battery_tip_dock_defender_temporarily_bypassed_title));
+ assertThat(mDockDefenderTipFutureBypass.getTitle(mContext).toString())
+ .isEqualTo(
+ mContext.getString(R.string.battery_tip_dock_defender_future_bypass_title));
+ assertThat(mDockDefenderTipActive.getTitle(mContext).toString())
+ .isEqualTo(mContext.getString(R.string.battery_tip_dock_defender_active_title));
+ assertThat(mDockDefenderTipTemporarilyBypassed.getTitle(mContext).toString())
+ .isEqualTo(
+ mContext.getString(
+ R.string.battery_tip_dock_defender_temporarily_bypassed_title));
assertThat(mDockDefenderTipDisabled.getTitle(mContext)).isNull();
}
@Test
public void testGetSummary() {
- assertThat(mDockDefenderTipFutureBypass.getSummary(mContext).toString()).isEqualTo(
- mContext.getString(R.string.battery_tip_dock_defender_future_bypass_summary));
- assertThat(mDockDefenderTipActive.getSummary(mContext).toString()).isEqualTo(
- mContext.getString(R.string.battery_tip_dock_defender_active_summary));
- assertThat(mDockDefenderTipTemporarilyBypassed.getSummary(mContext).toString()).isEqualTo(
- mContext.getString(
- R.string.battery_tip_dock_defender_temporarily_bypassed_summary));
+ assertThat(mDockDefenderTipFutureBypass.getSummary(mContext).toString())
+ .isEqualTo(
+ mContext.getString(
+ R.string.battery_tip_dock_defender_future_bypass_summary));
+ assertThat(mDockDefenderTipActive.getSummary(mContext).toString())
+ .isEqualTo(mContext.getString(R.string.battery_tip_dock_defender_active_summary));
+ assertThat(mDockDefenderTipTemporarilyBypassed.getSummary(mContext).toString())
+ .isEqualTo(
+ mContext.getString(
+ R.string.battery_tip_dock_defender_temporarily_bypassed_summary));
assertThat(mDockDefenderTipDisabled.getSummary(mContext)).isNull();
}
@Test
public void testGetIconId_dockDefenderActive_getProtectedIcon() {
- assertThat(mDockDefenderTipActive.getIconId()).isEqualTo(
- R.drawable.ic_battery_status_protected_24dp);
+ assertThat(mDockDefenderTipActive.getIconId())
+ .isEqualTo(R.drawable.ic_battery_status_protected_24dp);
}
@Test
public void testGetIconId_dockDefenderNotActive_getUntriggeredIcon() {
- assertThat(mDockDefenderTipFutureBypass.getIconId()).isEqualTo(
- R.drawable.ic_battery_dock_defender_untriggered_24dp);
- assertThat(mDockDefenderTipTemporarilyBypassed.getIconId()).isEqualTo(
- R.drawable.ic_battery_dock_defender_untriggered_24dp);
- assertThat(mDockDefenderTipDisabled.getIconId()).isEqualTo(
- R.drawable.ic_battery_dock_defender_untriggered_24dp);
+ assertThat(mDockDefenderTipFutureBypass.getIconId())
+ .isEqualTo(R.drawable.ic_battery_dock_defender_untriggered_24dp);
+ assertThat(mDockDefenderTipTemporarilyBypassed.getIconId())
+ .isEqualTo(R.drawable.ic_battery_dock_defender_untriggered_24dp);
+ assertThat(mDockDefenderTipDisabled.getIconId())
+ .isEqualTo(R.drawable.ic_battery_dock_defender_untriggered_24dp);
}
@Test
public void testUpdateState() {
mDockDefenderTipTemporarilyBypassed.updateState(mDockDefenderTipDisabled);
- assertThat(mDockDefenderTipTemporarilyBypassed.getState()).isEqualTo(
- BatteryTip.StateType.INVISIBLE);
- assertThat(mDockDefenderTipTemporarilyBypassed.getMode()).isEqualTo(
- BatteryUtils.DockDefenderMode.DISABLED);
+ assertThat(mDockDefenderTipTemporarilyBypassed.getState())
+ .isEqualTo(BatteryTip.StateType.INVISIBLE);
+ assertThat(mDockDefenderTipTemporarilyBypassed.getMode())
+ .isEqualTo(BatteryUtils.DockDefenderMode.DISABLED);
}
@Test
public void testLog() {
mDockDefenderTipActive.log(mContext, mMetricsFeatureProvider);
- verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.ACTION_DOCK_DEFENDER_TIP,
- mDockDefenderTipActive.getState());
+ verify(mMetricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_DOCK_DEFENDER_TIP,
+ mDockDefenderTipActive.getState());
}
-
@Test
public void testUpdatePreference_dockDefenderTipFutureBypass() {
mDockDefenderTipFutureBypass.updatePreference(mCardPreference);
verify(mCardPreference).setPrimaryButtonVisible(true);
- verify(mCardPreference).setPrimaryButtonText(
- mContext.getString(R.string.battery_tip_charge_to_full_button));
+ verify(mCardPreference)
+ .setPrimaryButtonText(
+ mContext.getString(R.string.battery_tip_charge_to_full_button));
verifySecondaryButton();
}
@@ -153,8 +164,9 @@
mDockDefenderTipActive.updatePreference(mCardPreference);
verify(mCardPreference).setPrimaryButtonVisible(true);
- verify(mCardPreference).setPrimaryButtonText(
- mContext.getString(R.string.battery_tip_charge_to_full_button));
+ verify(mCardPreference)
+ .setPrimaryButtonText(
+ mContext.getString(R.string.battery_tip_charge_to_full_button));
verifySecondaryButton();
}
@@ -170,8 +182,10 @@
private void verifySecondaryButton() {
verify(mCardPreference).setSecondaryButtonText(mContext.getString(R.string.learn_more));
verify(mCardPreference).setSecondaryButtonVisible(true);
- verify(mCardPreference).setSecondaryButtonContentDescription(mContext.getString(
- R.string.battery_tip_limited_temporarily_sec_button_content_description));
+ final String expectedContent =
+ mContext.getString(
+ R.string.battery_tip_limited_temporarily_sec_button_content_description);
+ verify(mCardPreference).setSecondaryButtonContentDescription(expectedContent);
}
@Test
@@ -182,9 +196,11 @@
}
private String getLastErrorLog() {
- return ShadowLog.getLogsForTag(DockDefenderTip.class.getSimpleName()).stream().filter(
- log -> log.type == Log.ERROR).reduce((first, second) -> second).orElse(
- createErrorLog("No Error Log")).msg;
+ return ShadowLog.getLogsForTag(DockDefenderTip.class.getSimpleName()).stream()
+ .filter(log -> log.type == Log.ERROR)
+ .reduce((first, second) -> second)
+ .orElse(createErrorLog("No Error Log"))
+ .msg;
}
private ShadowLog.LogItem createErrorLog(String msg) {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java
index 71a8062..0484a82 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java
@@ -45,8 +45,7 @@
private static final long SCREEN_TIME = 30 * DateUtils.MINUTE_IN_MILLIS;
private static final long LAST_FULL_CHARGE_TIME = 20 * DateUtils.MINUTE_IN_MILLIS;
- @Mock
- private MetricsFeatureProvider mMetricsFeatureProvider;
+ @Mock private MetricsFeatureProvider mMetricsFeatureProvider;
private Context mContext;
private HighUsageTip mBatteryTip;
private List<AppInfo> mUsageAppList;
@@ -57,10 +56,11 @@
mContext = RuntimeEnvironment.application;
mUsageAppList = new ArrayList<>();
- mUsageAppList.add(new AppInfo.Builder()
- .setPackageName(PACKAGE_NAME)
- .setScreenOnTimeMs(SCREEN_TIME)
- .build());
+ mUsageAppList.add(
+ new AppInfo.Builder()
+ .setPackageName(PACKAGE_NAME)
+ .setScreenOnTimeMs(SCREEN_TIME)
+ .build());
mBatteryTip = new HighUsageTip(LAST_FULL_CHARGE_TIME, mUsageAppList);
}
@@ -86,19 +86,25 @@
@Test
public void toString_containsAppData() {
- assertThat(mBatteryTip.toString()).isEqualTo(
- "type=2 state=0 { packageName=com.android.app,anomalyTypes={},screenTime=1800000 "
- + "}");
+ assertThat(mBatteryTip.toString())
+ .isEqualTo(
+ "type=2 state=0 {"
+ + " packageName=com.android.app,anomalyTypes={},screenTime=1800000 }");
}
@Test
public void testLog_logAppInfo() {
mBatteryTip.log(mContext, mMetricsFeatureProvider);
- verify(mMetricsFeatureProvider).action(mContext,
- MetricsProto.MetricsEvent.ACTION_HIGH_USAGE_TIP, BatteryTip.StateType.NEW);
+ verify(mMetricsFeatureProvider)
+ .action(
+ mContext,
+ MetricsProto.MetricsEvent.ACTION_HIGH_USAGE_TIP,
+ BatteryTip.StateType.NEW);
- verify(mMetricsFeatureProvider).action(mContext,
- MetricsProto.MetricsEvent.ACTION_HIGH_USAGE_TIP_LIST,
- PACKAGE_NAME);
+ verify(mMetricsFeatureProvider)
+ .action(
+ mContext,
+ MetricsProto.MetricsEvent.ACTION_HIGH_USAGE_TIP_LIST,
+ PACKAGE_NAME);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTipTest.java
index 9f6e4e3..1d7ab66 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTipTest.java
@@ -17,16 +17,11 @@
import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.settings.SettingsEnums;
import android.content.Context;
-import android.content.Intent;
import android.util.Log;
import androidx.preference.Preference;
@@ -72,20 +67,19 @@
@Test
public void getTitle_showTitle() {
- assertThat(mIncompatibleChargerTip.getTitle(mContext)).isEqualTo(
- mContext.getString(R.string.battery_tip_incompatible_charging_title));
+ assertThat(mIncompatibleChargerTip.getTitle(mContext))
+ .isEqualTo(mContext.getString(R.string.battery_tip_incompatible_charging_title));
}
@Test
public void getSummary_showSummary() {
- assertThat(mIncompatibleChargerTip.getSummary(mContext)).isEqualTo(
- mContext.getString(R.string.battery_tip_incompatible_charging_message));
+ assertThat(mIncompatibleChargerTip.getSummary(mContext))
+ .isEqualTo(mContext.getString(R.string.battery_tip_incompatible_charging_message));
}
@Test
public void getIcon_showIcon() {
- assertThat(mIncompatibleChargerTip.getIconId())
- .isEqualTo(R.drawable.ic_battery_charger);
+ assertThat(mIncompatibleChargerTip.getIconId()).isEqualTo(R.drawable.ic_battery_charger);
}
@Test
@@ -93,8 +87,11 @@
mIncompatibleChargerTip.updateState(mBatteryTip);
mIncompatibleChargerTip.log(mContext, mMetricsFeatureProvider);
- verify(mMetricsFeatureProvider).action(mContext,
- SettingsEnums.ACTION_INCOMPATIBLE_CHARGING_TIP, mBatteryTip.mState);
+ verify(mMetricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_INCOMPATIBLE_CHARGING_TIP,
+ mBatteryTip.mState);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTipTest.java
index 3f42231..69edef7 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTipTest.java
@@ -37,8 +37,7 @@
@RunWith(RobolectricTestRunner.class)
public class LowBatteryTipTest {
- @Mock
- private MetricsFeatureProvider mMetricsFeatureProvider;
+ @Mock private MetricsFeatureProvider mMetricsFeatureProvider;
private Context mContext;
private LowBatteryTip mLowBatteryTip;
@@ -58,25 +57,25 @@
final LowBatteryTip parcelTip = new LowBatteryTip(parcel);
assertThat(parcelTip.isPowerSaveModeOn()).isFalse();
- assertThat(parcelTip.getSummary(mContext)).isEqualTo(
- mContext.getString(R.string.battery_tip_low_battery_summary));
+ assertThat(parcelTip.getSummary(mContext))
+ .isEqualTo(mContext.getString(R.string.battery_tip_low_battery_summary));
}
@Test
public void updateState_stateNew_showExpectedInformation() {
mLowBatteryTip.mState = BatteryTip.StateType.NEW;
- assertThat(mLowBatteryTip.getTitle(mContext)).isEqualTo(
- mContext.getString(R.string.battery_tip_low_battery_title));
- assertThat(mLowBatteryTip.getSummary(mContext)).isEqualTo(
- mContext.getString(R.string.battery_tip_low_battery_summary));
+ assertThat(mLowBatteryTip.getTitle(mContext))
+ .isEqualTo(mContext.getString(R.string.battery_tip_low_battery_title));
+ assertThat(mLowBatteryTip.getSummary(mContext))
+ .isEqualTo(mContext.getString(R.string.battery_tip_low_battery_summary));
assertThat(mLowBatteryTip.getIconId()).isEqualTo(R.drawable.ic_battery_saver_accent_24dp);
}
@Test
public void updateState_powerSaveModeOn_notShowTipItem() {
- final LowBatteryTip tip = new LowBatteryTip(
- BatteryTip.StateType.NEW, true /* powerSaveModeOn */);
+ final LowBatteryTip tip =
+ new LowBatteryTip(BatteryTip.StateType.NEW, true /* powerSaveModeOn */);
tip.updateState(tip);
@@ -87,7 +86,10 @@
public void log_lowBatteryActionWithCorrectState() {
mLowBatteryTip.log(mContext, mMetricsFeatureProvider);
- verify(mMetricsFeatureProvider).action(mContext,
- MetricsProto.MetricsEvent.ACTION_LOW_BATTERY_TIP, BatteryTip.StateType.NEW);
+ verify(mMetricsFeatureProvider)
+ .action(
+ mContext,
+ MetricsProto.MetricsEvent.ACTION_LOW_BATTERY_TIP,
+ BatteryTip.StateType.NEW);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java
index bb70077..c4bc3bc 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java
@@ -65,12 +65,9 @@
private List<AppInfo> mUsageAppList;
private AppInfo mAppInfo;
private AppInfo mUninstallAppInfo;
- @Mock
- private ApplicationInfo mApplicationInfo;
- @Mock
- private PackageManager mPackageManager;
- @Mock
- private MetricsFeatureProvider mMetricsFeatureProvider;
+ @Mock private ApplicationInfo mApplicationInfo;
+ @Mock private PackageManager mPackageManager;
+ @Mock private MetricsFeatureProvider mMetricsFeatureProvider;
@Before
public void setUp() throws Exception {
@@ -79,28 +76,35 @@
mContext = spy(RuntimeEnvironment.application);
doReturn(mContext).when(mContext).getApplicationContext();
doReturn(mPackageManager).when(mContext).getPackageManager();
- doReturn(mApplicationInfo).when(mPackageManager).getApplicationInfo(PACKAGE_NAME,
- PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.MATCH_ANY_USER);
- doThrow(new PackageManager.NameNotFoundException()).when(mPackageManager)
- .getApplicationInfo(UNINSTALL_PACKAGE_NAME,
+ doReturn(mApplicationInfo)
+ .when(mPackageManager)
+ .getApplicationInfo(
+ PACKAGE_NAME,
+ PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.MATCH_ANY_USER);
+ doThrow(new PackageManager.NameNotFoundException())
+ .when(mPackageManager)
+ .getApplicationInfo(
+ UNINSTALL_PACKAGE_NAME,
PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.MATCH_ANY_USER);
doReturn(DISPLAY_NAME).when(mApplicationInfo).loadLabel(mPackageManager);
- mAppInfo = new AppInfo.Builder()
- .setPackageName(PACKAGE_NAME)
- .addAnomalyType(ANOMALY_WAKEUP)
- .addAnomalyType(ANOMALY_WAKELOCK)
- .build();
- mUninstallAppInfo = new AppInfo.Builder()
- .setPackageName(UNINSTALL_PACKAGE_NAME)
- .addAnomalyType(ANOMALY_WAKEUP)
- .build();
+ mAppInfo =
+ new AppInfo.Builder()
+ .setPackageName(PACKAGE_NAME)
+ .addAnomalyType(ANOMALY_WAKEUP)
+ .addAnomalyType(ANOMALY_WAKELOCK)
+ .build();
+ mUninstallAppInfo =
+ new AppInfo.Builder()
+ .setPackageName(UNINSTALL_PACKAGE_NAME)
+ .addAnomalyType(ANOMALY_WAKEUP)
+ .build();
mUsageAppList = new ArrayList<>();
mUsageAppList.add(mAppInfo);
mNewBatteryTip = new RestrictAppTip(BatteryTip.StateType.NEW, mUsageAppList);
mHandledBatteryTip = new RestrictAppTip(BatteryTip.StateType.HANDLED, mUsageAppList);
- mInvisibleBatteryTip = new RestrictAppTip(BatteryTip.StateType.INVISIBLE,
- new ArrayList<>());
+ mInvisibleBatteryTip =
+ new RestrictAppTip(BatteryTip.StateType.INVISIBLE, new ArrayList<>());
}
@After
@@ -149,8 +153,9 @@
@Test
public void getSummary_oneAppHandled_showHandledSummary() {
assertThat(mHandledBatteryTip.getSummary(mContext).toString())
- .isEqualTo(StringUtil.getIcuPluralsString(mContext, 1,
- R.string.battery_tip_restrict_handled_summary));
+ .isEqualTo(
+ StringUtil.getIcuPluralsString(
+ mContext, 1, R.string.battery_tip_restrict_handled_summary));
}
@Test
@@ -158,8 +163,9 @@
mUsageAppList.add(new AppInfo.Builder().build());
mHandledBatteryTip = new RestrictAppTip(BatteryTip.StateType.HANDLED, mUsageAppList);
assertThat(mHandledBatteryTip.getSummary(mContext))
- .isEqualTo(StringUtil.getIcuPluralsString(mContext, 2,
- R.string.battery_tip_restrict_handled_summary));
+ .isEqualTo(
+ StringUtil.getIcuPluralsString(
+ mContext, 2, R.string.battery_tip_restrict_handled_summary));
}
@Test
@@ -217,35 +223,47 @@
@Test
public void toString_containsAppData() {
- assertThat(mNewBatteryTip.toString()).isEqualTo(
- "type=1 state=0 { packageName=com.android.app,anomalyTypes={0, 1},screenTime=0 }");
+ assertThat(mNewBatteryTip.toString())
+ .isEqualTo(
+ "type=1 state=0 { packageName=com.android.app,anomalyTypes={0,"
+ + " 1},screenTime=0 }");
}
@Test
public void testLog_stateNew_logAppInfo() {
mNewBatteryTip.log(mContext, mMetricsFeatureProvider);
- verify(mMetricsFeatureProvider).action(mContext,
- MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP, BatteryTip.StateType.NEW);
- verify(mMetricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
- MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP_LIST,
- SettingsEnums.PAGE_UNKNOWN,
- PACKAGE_NAME,
- ANOMALY_WAKEUP);
- verify(mMetricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
- MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP_LIST,
- SettingsEnums.PAGE_UNKNOWN,
- PACKAGE_NAME,
- ANOMALY_WAKELOCK);
+ verify(mMetricsFeatureProvider)
+ .action(
+ mContext,
+ MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP,
+ BatteryTip.StateType.NEW);
+ verify(mMetricsFeatureProvider)
+ .action(
+ SettingsEnums.PAGE_UNKNOWN,
+ MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP_LIST,
+ SettingsEnums.PAGE_UNKNOWN,
+ PACKAGE_NAME,
+ ANOMALY_WAKEUP);
+ verify(mMetricsFeatureProvider)
+ .action(
+ SettingsEnums.PAGE_UNKNOWN,
+ MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP_LIST,
+ SettingsEnums.PAGE_UNKNOWN,
+ PACKAGE_NAME,
+ ANOMALY_WAKELOCK);
}
@Test
public void testLog_stateHandled_doNotLogAppInfo() {
mHandledBatteryTip.log(mContext, mMetricsFeatureProvider);
- verify(mMetricsFeatureProvider).action(mContext,
- MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP, BatteryTip.StateType.HANDLED);
- verify(mMetricsFeatureProvider, never()).action(
- anyInt(), anyInt(), anyInt(), anyString(), anyInt());
+ verify(mMetricsFeatureProvider)
+ .action(
+ mContext,
+ MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP,
+ BatteryTip.StateType.HANDLED);
+ verify(mMetricsFeatureProvider, never())
+ .action(anyInt(), anyInt(), anyInt(), anyString(), anyInt());
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/SmartBatteryTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/SmartBatteryTipTest.java
index 7da6a4f..36cb319 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/SmartBatteryTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/SmartBatteryTipTest.java
@@ -33,8 +33,7 @@
@RunWith(RobolectricTestRunner.class)
public class SmartBatteryTipTest {
- @Mock
- private MetricsFeatureProvider mMetricsFeatureProvider;
+ @Mock private MetricsFeatureProvider mMetricsFeatureProvider;
private Context mContext;
private SmartBatteryTip mSmartBatteryTip;
@@ -50,7 +49,10 @@
public void testLog() {
mSmartBatteryTip.log(mContext, mMetricsFeatureProvider);
- verify(mMetricsFeatureProvider).action(mContext,
- MetricsProto.MetricsEvent.ACTION_SMART_BATTERY_TIP, BatteryTip.StateType.NEW);
+ verify(mMetricsFeatureProvider)
+ .action(
+ mContext,
+ MetricsProto.MetricsEvent.ACTION_SMART_BATTERY_TIP,
+ BatteryTip.StateType.NEW);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapperTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapperTest.java
index 60e0af0..0d4d671 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapperTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapperTest.java
@@ -45,19 +45,18 @@
@Test
public void getDismissRecordKey_returnExpectedResult() {
- mAnomalyEventWrapper = new AnomalyEventWrapper(mContext,
- BatteryTestUtils.createAdaptiveBrightnessAnomalyEvent());
- assertThat(mAnomalyEventWrapper.getDismissRecordKey())
- .isEqualTo("KEY_BRIGHTNESS");
+ mAnomalyEventWrapper =
+ new AnomalyEventWrapper(
+ mContext, BatteryTestUtils.createAdaptiveBrightnessAnomalyEvent());
+ assertThat(mAnomalyEventWrapper.getDismissRecordKey()).isEqualTo("KEY_BRIGHTNESS");
- mAnomalyEventWrapper = new AnomalyEventWrapper(mContext,
- BatteryTestUtils.createScreenTimeoutAnomalyEvent());
- assertThat(mAnomalyEventWrapper.getDismissRecordKey())
- .isEqualTo("KEY_SCREEN_TIMEOUT");
+ mAnomalyEventWrapper =
+ new AnomalyEventWrapper(
+ mContext, BatteryTestUtils.createScreenTimeoutAnomalyEvent());
+ assertThat(mAnomalyEventWrapper.getDismissRecordKey()).isEqualTo("KEY_SCREEN_TIMEOUT");
- mAnomalyEventWrapper = new AnomalyEventWrapper(mContext,
- BatteryTestUtils.createAppAnomalyEvent());
- assertThat(mAnomalyEventWrapper.getDismissRecordKey())
- .isEqualTo("KEY_APP_1");
+ mAnomalyEventWrapper =
+ new AnomalyEventWrapper(mContext, BatteryTestUtils.createAppAnomalyEvent());
+ assertThat(mAnomalyEventWrapper.getDismissRecordKey()).isEqualTo("KEY_APP_1");
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
index 275ab34..bbb022e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
@@ -66,22 +66,14 @@
@RunWith(RobolectricTestRunner.class)
public final class BatteryChartPreferenceControllerTest {
- @Mock
- private Intent mIntent;
- @Mock
- private UserManager mUserManager;
- @Mock
- private SettingsActivity mSettingsActivity;
- @Mock
- private TextView mChartSummaryTextView;
- @Mock
- private BatteryChartView mDailyChartView;
- @Mock
- private BatteryChartView mHourlyChartView;
- @Mock
- private ViewPropertyAnimator mViewPropertyAnimator;
- @Mock
- private LinearLayout.LayoutParams mLayoutParams;
+ @Mock private Intent mIntent;
+ @Mock private UserManager mUserManager;
+ @Mock private SettingsActivity mSettingsActivity;
+ @Mock private TextView mChartSummaryTextView;
+ @Mock private BatteryChartView mDailyChartView;
+ @Mock private BatteryChartView mHourlyChartView;
+ @Mock private ViewPropertyAnimator mViewPropertyAnimator;
+ @Mock private LinearLayout.LayoutParams mLayoutParams;
private Context mContext;
private FakeFeatureFactory mFeatureFactory;
@@ -97,11 +89,9 @@
mFeatureFactory = FakeFeatureFactory.setupForTest();
mContext = spy(RuntimeEnvironment.application);
doReturn(mContext).when(mContext).getApplicationContext();
- doReturn(mUserManager)
- .when(mContext)
- .getSystemService(UserManager.class);
+ doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
doReturn(true).when(mUserManager).isUserUnlocked(anyInt());
- doReturn(new int[]{0}).when(mUserManager).getProfileIdsWithDisabled(anyInt());
+ doReturn(new int[] {0}).when(mUserManager).getProfileIdsWithDisabled(anyInt());
final Resources resources = spy(mContext.getResources());
resources.getConfiguration().setLocales(new LocaleList(new Locale("en_US")));
doReturn(resources).when(mContext).getResources();
@@ -122,7 +112,7 @@
// Adds fake testing data.
BatteryDiffEntry.sResourceCache.put(
"fakeBatteryDiffEntryKey",
- new BatteryEntry.NameAndIcon("fakeName", /*icon=*/ null, /*iconId=*/ 1));
+ new BatteryEntry.NameAndIcon("fakeName", /* icon= */ null, /* iconId= */ 1));
}
@Test
@@ -156,15 +146,18 @@
verify(mDailyChartView, atLeastOnce()).setVisibility(View.GONE);
// Ignore fast refresh ui from the data processor callback.
verify(mHourlyChartView, atLeast(0)).setViewModel(null);
- verify(mHourlyChartView, atLeastOnce()).setViewModel(new BatteryChartViewModel(
- List.of(100, 99, 97, 95, 66),
- List.of(1619247660000L /* 7:01 AM */,
- 1619251200000L /* 8 AM */,
- 1619258400000L /* 10 AM */,
- 1619265600000L /* 12 PM */,
- 1619265720000L /* now (12:02 PM) */),
- BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
- mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator));
+ verify(mHourlyChartView, atLeastOnce())
+ .setViewModel(
+ new BatteryChartViewModel(
+ List.of(100, 99, 97, 95, 66),
+ List.of(
+ 1619247660000L /* 7:01 AM */,
+ 1619251200000L /* 8 AM */,
+ 1619258400000L /* 10 AM */,
+ 1619265600000L /* 12 PM */,
+ 1619265720000L /* now (12:02 PM) */),
+ BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
+ mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator));
}
@Test
@@ -173,15 +166,17 @@
reset(mHourlyChartView);
setupHourlyChartViewAnimationMock();
- BatteryChartViewModel expectedDailyViewModel = new BatteryChartViewModel(
- List.of(100, 83, 59, 66),
- // "Sat", "Sun", "Mon", "Mon"
- List.of(1619247660000L /* Sat */,
- 1619308800000L /* Sun */,
- 1619395200000L /* Mon */,
- 1619460120000L /* Mon */),
- BatteryChartViewModel.AxisLabelPosition.CENTER_OF_TRAPEZOIDS,
- mBatteryChartPreferenceController.mDailyChartLabelTextGenerator);
+ BatteryChartViewModel expectedDailyViewModel =
+ new BatteryChartViewModel(
+ List.of(100, 83, 59, 66),
+ // "Sat", "Sun", "Mon", "Mon"
+ List.of(
+ 1619247660000L /* Sat */,
+ 1619308800000L /* Sun */,
+ 1619395200000L /* Mon */,
+ 1619460120000L /* Mon */),
+ BatteryChartViewModel.AxisLabelPosition.CENTER_OF_TRAPEZOIDS,
+ mBatteryChartPreferenceController.mDailyChartLabelTextGenerator);
mBatteryChartPreferenceController.onBatteryLevelDataUpdate(createBatteryLevelData(60));
@@ -202,20 +197,23 @@
expectedDailyViewModel.setSelectedIndex(0);
verify(mDailyChartView).setViewModel(expectedDailyViewModel);
- verify(mHourlyChartView).setViewModel(new BatteryChartViewModel(
- List.of(100, 99, 97, 95, 93, 91, 89, 87, 85, 83),
- List.of(1619247660000L /* 7:01 AM */,
- 1619251200000L /* 8 AM */,
- 1619258400000L /* 10 AM */,
- 1619265600000L /* 12 PM */,
- 1619272800000L /* 2 PM */,
- 1619280000000L /* 4 PM */,
- 1619287200000L /* 6 PM */,
- 1619294400000L /* 8 PM */,
- 1619301600000L /* 10 PM */,
- 1619308800000L /* 12 AM */),
- BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
- mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator));
+ verify(mHourlyChartView)
+ .setViewModel(
+ new BatteryChartViewModel(
+ List.of(100, 99, 97, 95, 93, 91, 89, 87, 85, 83),
+ List.of(
+ 1619247660000L /* 7:01 AM */,
+ 1619251200000L /* 8 AM */,
+ 1619258400000L /* 10 AM */,
+ 1619265600000L /* 12 PM */,
+ 1619272800000L /* 2 PM */,
+ 1619280000000L /* 4 PM */,
+ 1619287200000L /* 6 PM */,
+ 1619294400000L /* 8 PM */,
+ 1619301600000L /* 10 PM */,
+ 1619308800000L /* 12 AM */),
+ BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
+ mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator));
reset(mDailyChartView);
reset(mHourlyChartView);
@@ -228,23 +226,25 @@
verify(mViewPropertyAnimator, atLeastOnce()).alpha(1f);
expectedDailyViewModel.setSelectedIndex(1);
verify(mDailyChartView).setViewModel(expectedDailyViewModel);
- BatteryChartViewModel expectedHourlyViewModel = new BatteryChartViewModel(
- List.of(83, 81, 79, 77, 75, 73, 71, 69, 67, 65, 63, 61, 59),
- List.of(1619308800000L /* 12 AM */,
- 1619316000000L /* 2 AM */,
- 1619323200000L /* 4 AM */,
- 1619330400000L /* 6 AM */,
- 1619337600000L /* 8 AM */,
- 1619344800000L /* 10 AM */,
- 1619352000000L /* 12 PM */,
- 1619359200000L /* 2 PM */,
- 1619366400000L /* 4 PM */,
- 1619373600000L /* 6 PM */,
- 1619380800000L /* 8 PM */,
- 1619388000000L /* 10 PM */,
- 1619395200000L /* 12 AM */),
- BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
- mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator);
+ BatteryChartViewModel expectedHourlyViewModel =
+ new BatteryChartViewModel(
+ List.of(83, 81, 79, 77, 75, 73, 71, 69, 67, 65, 63, 61, 59),
+ List.of(
+ 1619308800000L /* 12 AM */,
+ 1619316000000L /* 2 AM */,
+ 1619323200000L /* 4 AM */,
+ 1619330400000L /* 6 AM */,
+ 1619337600000L /* 8 AM */,
+ 1619344800000L /* 10 AM */,
+ 1619352000000L /* 12 PM */,
+ 1619359200000L /* 2 PM */,
+ 1619366400000L /* 4 PM */,
+ 1619373600000L /* 6 PM */,
+ 1619380800000L /* 8 PM */,
+ 1619388000000L /* 10 PM */,
+ 1619395200000L /* 12 AM */),
+ BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
+ mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator);
expectedHourlyViewModel.setSelectedIndex(6);
verify(mHourlyChartView).setViewModel(expectedHourlyViewModel);
@@ -259,22 +259,24 @@
verify(mViewPropertyAnimator, atLeastOnce()).alpha(1f);
expectedDailyViewModel.setSelectedIndex(2);
verify(mDailyChartView).setViewModel(expectedDailyViewModel);
- verify(mHourlyChartView).setViewModel(new BatteryChartViewModel(
- List.of(59, 57, 55, 53, 51, 49, 47, 45, 43, 41, 66),
- List.of(1619395200000L /* 12 AM */,
- 1619402400000L /* 2 AM */,
- 1619409600000L /* 4 AM */,
- 1619416800000L /* 6 AM */,
- 1619424000000L /* 8 AM */,
- 1619431200000L /* 10 AM */,
- 1619438400000L /* 12 PM */,
- 1619445600000L /* 2 PM */,
- 1619452800000L /* 4 PM */,
- 1619460000000L /* 6 PM */,
- 1619460120000L /* now (6:02 PM) */),
- BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
- mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator));
-
+ verify(mHourlyChartView)
+ .setViewModel(
+ new BatteryChartViewModel(
+ List.of(59, 57, 55, 53, 51, 49, 47, 45, 43, 41, 66),
+ List.of(
+ 1619395200000L /* 12 AM */,
+ 1619402400000L /* 2 AM */,
+ 1619409600000L /* 4 AM */,
+ 1619416800000L /* 6 AM */,
+ 1619424000000L /* 8 AM */,
+ 1619431200000L /* 10 AM */,
+ 1619438400000L /* 12 PM */,
+ 1619445600000L /* 2 PM */,
+ 1619452800000L /* 4 PM */,
+ 1619460000000L /* 6 PM */,
+ 1619460120000L /* now (6:02 PM) */),
+ BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
+ mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator));
}
@Test
@@ -408,8 +410,8 @@
mBatteryChartPreferenceController.mDailyChartIndex = 0;
mBatteryChartPreferenceController.mHourlyChartIndex = 2;
- assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(
- "10 AM - 12 PM");
+ assertThat(mBatteryChartPreferenceController.getSlotInformation())
+ .isEqualTo("10 AM - 12 PM");
}
@Test
@@ -418,8 +420,8 @@
mBatteryChartPreferenceController.mDailyChartIndex = 1;
mBatteryChartPreferenceController.mHourlyChartIndex = 8;
- assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(
- "Sunday 4 PM - 6 PM");
+ assertThat(mBatteryChartPreferenceController.getSlotInformation())
+ .isEqualTo("Sunday 4 PM - 6 PM");
}
@Test
@@ -428,8 +430,8 @@
mBatteryChartPreferenceController.mDailyChartIndex = 0;
mBatteryChartPreferenceController.mHourlyChartIndex = 0;
- assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(
- "7:01 AM - 8 AM");
+ assertThat(mBatteryChartPreferenceController.getSlotInformation())
+ .isEqualTo("7:01 AM - 8 AM");
}
@Test
@@ -438,8 +440,7 @@
mBatteryChartPreferenceController.mDailyChartIndex = 0;
mBatteryChartPreferenceController.mHourlyChartIndex = 3;
- assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(
- "12 PM - now");
+ assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo("12 PM - now");
}
@Test
@@ -448,8 +449,8 @@
mBatteryChartPreferenceController.mDailyChartIndex = 0;
mBatteryChartPreferenceController.mHourlyChartIndex = 0;
- assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(
- "7:01 AM - now");
+ assertThat(mBatteryChartPreferenceController.getSlotInformation())
+ .isEqualTo("7:01 AM - now");
}
@Test
@@ -508,7 +509,7 @@
private BatteryChartPreferenceController createController() {
final BatteryChartPreferenceController controller =
new BatteryChartPreferenceController(
- mContext, /*lifecycle=*/ null, mSettingsActivity);
+ mContext, /* lifecycle= */ null, mSettingsActivity);
controller.mPrefContext = mContext;
return controller;
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewTest.java
index 5213199..4263bad 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewTest.java
@@ -45,8 +45,7 @@
private FakeFeatureFactory mFeatureFactory;
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
- @Mock
- private View mMockView;
+ @Mock private View mMockView;
@Before
public void setUp() {
@@ -54,17 +53,19 @@
mFeatureFactory = FakeFeatureFactory.setupForTest();
mPowerUsageFeatureProvider = mFeatureFactory.powerUsageFeatureProvider;
mContext = spy(RuntimeEnvironment.application);
- mContext.getResources().getConfiguration().setLocales(
- new LocaleList(new Locale("en_US")));
+ mContext.getResources().getConfiguration().setLocales(new LocaleList(new Locale("en_US")));
mBatteryChartView = new BatteryChartView(mContext);
}
@Test
public void onClick_invokesCallback() {
final int originalSelectedIndex = 2;
- BatteryChartViewModel batteryChartViewModel = new BatteryChartViewModel(
- List.of(90, 80, 70, 60), List.of(0L, 0L, 0L, 0L),
- BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS, null);
+ BatteryChartViewModel batteryChartViewModel =
+ new BatteryChartViewModel(
+ List.of(90, 80, 70, 60),
+ List.of(0L, 0L, 0L, 0L),
+ BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
+ null);
batteryChartViewModel.setSelectedIndex(originalSelectedIndex);
mBatteryChartView.setViewModel(batteryChartViewModel);
for (int i = 0; i < mBatteryChartView.mTrapezoidSlots.length; i++) {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffDataTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffDataTest.java
index 04d601f..ffe3c44 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffDataTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffDataTest.java
@@ -149,16 +149,12 @@
createBatteryDiffEntry(mContext, /* consumePower= */ 28.5, /* key= */ "APP_1"));
batteryDiffEntries.add(
createBatteryDiffEntry(
- mContext,
- /* consumePower= */ 20,
- BatteryDiffEntry.UNINSTALLED_APPS_KEY));
+ mContext, /* consumePower= */ 20, BatteryDiffEntry.UNINSTALLED_APPS_KEY));
batteryDiffEntries.add(
createBatteryDiffEntry(mContext, /* consumePower= */ 3, /* key= */ "APP_2"));
batteryDiffEntries.add(
createBatteryDiffEntry(
- mContext,
- /* consumePower= */ 28.5,
- BatteryDiffEntry.SYSTEM_APPS_KEY));
+ mContext, /* consumePower= */ 28.5, BatteryDiffEntry.SYSTEM_APPS_KEY));
batteryDiffEntries.add(
createBatteryDiffEntry(mContext, /* consumePower= */ 20, /* key= */ "APP_3"));
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
index bbba294..d8b733c 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
@@ -64,7 +64,6 @@
private static final String UNINSTALLED_PACKAGE_NAME = "com.android.testing.uninstalled";
private static final String UID_ZERO_PACKAGE_NAME = "com.android.testing.uid.zero";
-
private Context mContext;
@Mock private ApplicationInfo mMockAppInfo;
@@ -451,7 +450,6 @@
assertThat(entry.isUninstalledEntry()).isFalse();
assertThat(BatteryDiffEntry.sPackageNameAndUidCache.containsKey(PACKAGE_NAME)).isTrue();
assertThat(BatteryDiffEntry.sPackageNameAndUidCache.get(PACKAGE_NAME)).isEqualTo(UID);
-
}
@Test
@@ -602,7 +600,7 @@
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
doReturn(drawable).when(mMockPackageManager).getDefaultActivityIcon();
doReturn(null).when(mMockPackageManager).getApplicationInfo("com.a.b.c", 0);
- doReturn(new String[]{"com.a.b.c"}).when(mMockPackageManager).getPackagesForUid(1001);
+ doReturn(new String[] {"com.a.b.c"}).when(mMockPackageManager).getPackagesForUid(1001);
return createBatteryDiffEntry(10, batteryHistEntry);
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
index e9606da..83b4458 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
@@ -61,18 +61,15 @@
private static final String HIGH_DRAIN_PACKAGE = "com.android.test.screen";
private static final String ANDROID_PACKAGE = "android";
- @Rule
- public MockitoRule mocks = MockitoJUnit.rule();
+ @Rule public MockitoRule mocks = MockitoJUnit.rule();
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mMockContext;
+
private Context mContext;
- @Mock
- private PackageManager mMockPackageManager;
- @Mock
- private UserManager mMockUserManager;
- @Mock
- private UidBatteryConsumer mUidBatteryConsumer;
+ @Mock private PackageManager mMockPackageManager;
+ @Mock private UserManager mMockUserManager;
+ @Mock private UidBatteryConsumer mUidBatteryConsumer;
@Before
public void stubContextToReturnMockPackageManager() {
@@ -83,23 +80,27 @@
@Before
public void stubPackageManagerToReturnAppPackageAndName() throws NameNotFoundException {
when(mMockPackageManager.getApplicationInfo(anyString(), eq(0) /* no flags */))
- .thenAnswer(invocation -> {
- ApplicationInfo info = new ApplicationInfo();
- info.packageName = invocation.getArgument(0);
- return info;
- });
+ .thenAnswer(
+ invocation -> {
+ ApplicationInfo info = new ApplicationInfo();
+ info.packageName = invocation.getArgument(0);
+ return info;
+ });
when(mMockPackageManager.getApplicationLabel(any(ApplicationInfo.class)))
- .thenAnswer(invocation -> LABEL_PREFIX
- + ((ApplicationInfo) invocation.getArgument(0)).packageName);
+ .thenAnswer(
+ invocation ->
+ LABEL_PREFIX
+ + ((ApplicationInfo) invocation.getArgument(0))
+ .packageName);
}
- private BatteryEntry createBatteryEntryForApp(String[] packages, String packageName,
- String highDrainPackage) {
+ private BatteryEntry createBatteryEntryForApp(
+ String[] packages, String packageName, String highDrainPackage) {
UidBatteryConsumer consumer = mock(UidBatteryConsumer.class);
when(consumer.getUid()).thenReturn(APP_UID);
when(consumer.getPackageWithHighestDrain()).thenReturn(highDrainPackage);
- return new BatteryEntry(mMockContext, mMockUserManager,
- consumer, false, APP_UID, packages, packageName);
+ return new BatteryEntry(
+ mMockContext, mMockUserManager, consumer, false, APP_UID, packages, packageName);
}
private BatteryEntry createAggregateBatteryEntry(int powerComponentId) {
@@ -122,14 +123,13 @@
private BatteryEntry createUserBatteryConsumer(int userId) {
UserBatteryConsumer consumer = mock(UserBatteryConsumer.class);
when(consumer.getUserId()).thenReturn(userId);
- return new BatteryEntry(mMockContext, mMockUserManager,
- consumer, false, 0, null, null);
+ return new BatteryEntry(mMockContext, mMockUserManager, consumer, false, 0, null, null);
}
@Test
public void batteryEntryForApp_shouldSetDefaultPackageNameAndLabel() throws Exception {
- BatteryEntry entry = createBatteryEntryForApp(null, APP_DEFAULT_PACKAGE_NAME,
- HIGH_DRAIN_PACKAGE);
+ BatteryEntry entry =
+ createBatteryEntryForApp(null, APP_DEFAULT_PACKAGE_NAME, HIGH_DRAIN_PACKAGE);
assertThat(entry.getDefaultPackageName()).isEqualTo(APP_DEFAULT_PACKAGE_NAME);
assertThat(entry.getLabel()).isEqualTo(LABEL_PREFIX + APP_DEFAULT_PACKAGE_NAME);
@@ -157,20 +157,24 @@
@Test
public void batteryEntryForApp_shouldSetHighestDrainPackage_whenMultiplePackagesFoundForUid() {
- BatteryEntry entry = createBatteryEntryForApp(
- new String[]{APP_DEFAULT_PACKAGE_NAME, "package2", "package3"}, null,
- HIGH_DRAIN_PACKAGE);
+ BatteryEntry entry =
+ createBatteryEntryForApp(
+ new String[] {APP_DEFAULT_PACKAGE_NAME, "package2", "package3"},
+ null,
+ HIGH_DRAIN_PACKAGE);
assertThat(entry.getLabel()).isEqualTo(LABEL_PREFIX + HIGH_DRAIN_PACKAGE);
}
@Test
public void batteryEntryForAOD_containCorrectInfo() {
- final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
- BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY,
- /* devicePowerMah= */ 200,
- /* usageDurationMs= */ 1000,
- /* isHidden= */ false);
+ final BatteryEntry entry =
+ new BatteryEntry(
+ RuntimeEnvironment.application,
+ BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY,
+ /* devicePowerMah= */ 200,
+ /* usageDurationMs= */ 1000,
+ /* isHidden= */ false);
assertThat(entry.mIconId).isEqualTo(R.drawable.ic_settings_aod);
assertThat(entry.mName).isEqualTo("Ambient display");
@@ -178,10 +182,12 @@
@Test
public void batteryEntryForCustomComponent_containCorrectInfo() {
- final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
- BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + 42,
- /* powerComponentName= */ "ABC",
- /* devicePowerMah= */ 200);
+ final BatteryEntry entry =
+ new BatteryEntry(
+ RuntimeEnvironment.application,
+ BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + 42,
+ /* powerComponentName= */ "ABC",
+ /* devicePowerMah= */ 200);
assertThat(entry.mIconId).isEqualTo(R.drawable.ic_power_system);
assertThat(entry.mName).isEqualTo("ABC");
@@ -192,19 +198,28 @@
when(mUidBatteryConsumer.getTimeInStateMs(UidBatteryConsumer.STATE_FOREGROUND))
.thenReturn(100L);
- final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
- mMockUserManager, mUidBatteryConsumer, false, 0, null, null);
+ final BatteryEntry entry =
+ new BatteryEntry(
+ RuntimeEnvironment.application,
+ mMockUserManager,
+ mUidBatteryConsumer,
+ false,
+ 0,
+ null,
+ null);
assertThat(entry.getTimeInForegroundMs()).isEqualTo(100L);
}
@Test
public void getTimeInForegroundMs_aggregateBatteryConsumer() {
- final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
- BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
- /* devicePowerMah= */ 10,
- /* usageDurationMs= */ 100,
- /* isHidden= */ false);
+ final BatteryEntry entry =
+ new BatteryEntry(
+ RuntimeEnvironment.application,
+ BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
+ /* devicePowerMah= */ 10,
+ /* usageDurationMs= */ 100,
+ /* isHidden= */ false);
assertThat(entry.getTimeInForegroundMs()).isEqualTo(100L);
}
@@ -214,19 +229,28 @@
when(mUidBatteryConsumer.getTimeInStateMs(UidBatteryConsumer.STATE_BACKGROUND))
.thenReturn(100L);
- final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
- mMockUserManager, mUidBatteryConsumer, false, 0, null, null);
+ final BatteryEntry entry =
+ new BatteryEntry(
+ RuntimeEnvironment.application,
+ mMockUserManager,
+ mUidBatteryConsumer,
+ false,
+ 0,
+ null,
+ null);
assertThat(entry.getTimeInBackgroundMs()).isEqualTo(100L);
}
@Test
public void getTimeInBackgroundMs_systemConsumer() {
- final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
- BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
- /* devicePowerMah= */ 100,
- /* usageDurationMs= */ 1000,
- /* isHidden= */ false);
+ final BatteryEntry entry =
+ new BatteryEntry(
+ RuntimeEnvironment.application,
+ BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
+ /* devicePowerMah= */ 100,
+ /* usageDurationMs= */ 1000,
+ /* isHidden= */ false);
assertThat(entry.getTimeInBackgroundMs()).isEqualTo(0);
}
@@ -241,16 +265,17 @@
@Test
public void getKey_AggregateBatteryConsumer_returnComponentId() {
- final BatteryEntry entry = createAggregateBatteryEntry(
- BatteryConsumer.POWER_COMPONENT_BLUETOOTH);
+ final BatteryEntry entry =
+ createAggregateBatteryEntry(BatteryConsumer.POWER_COMPONENT_BLUETOOTH);
final String key = entry.getKey();
assertThat(key).isEqualTo("S|2");
}
@Test
public void getKey_CustomAggregateBatteryConsumer_returnComponentId() {
- final BatteryEntry entry = createCustomAggregateBatteryEntry(
- BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + 42);
+ final BatteryEntry entry =
+ createCustomAggregateBatteryEntry(
+ BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + 42);
final String key = entry.getKey();
assertThat(key).isEqualTo("S|1042");
}
@@ -269,19 +294,18 @@
doReturn(mMockUserManager).when(mContext).getSystemService(UserManager.class);
doReturn(null).when(mMockUserManager).getUserInfo(userId);
- final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUserId(
- mContext, userId);
- assertThat(nameAndIcon.mName).isEqualTo(getString(
- R.string.running_process_item_removed_user_label));
+ final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUserId(mContext, userId);
+ assertThat(nameAndIcon.mName)
+ .isEqualTo(getString(R.string.running_process_item_removed_user_label));
assertThat(nameAndIcon.mIcon).isNull();
}
@Test
public void getNameAndIconFromUid_rerturnExpectedName() {
- final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
- mContext, /* name */ null, /* uid */ 0);
- assertThat(nameAndIcon.mName).isEqualTo(
- getString(com.android.settingslib.R.string.process_kernel_label));
+ final NameAndIcon nameAndIcon =
+ BatteryEntry.getNameAndIconFromUid(mContext, /* name */ null, /* uid */ 0);
+ assertThat(nameAndIcon.mName)
+ .isEqualTo(getString(com.android.settingslib.R.string.process_kernel_label));
assertNameAndIcon("mediaserver", R.string.process_mediaserver_label);
assertNameAndIcon("dex2oat32", R.string.process_dex2oat_label);
@@ -291,63 +315,75 @@
@Test
public void getNameAndIconFromUid_tetheringUid_rerturnExpectedName() {
- final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
- mContext, /* name */ null, /* uid */ BatteryUtils.UID_TETHERING);
+ final NameAndIcon nameAndIcon =
+ BatteryEntry.getNameAndIconFromUid(
+ mContext, /* name */ null, /* uid */ BatteryUtils.UID_TETHERING);
assertThat(nameAndIcon.mName).isEqualTo(getString(R.string.process_network_tethering));
}
@Test
public void getNameAndIconFromUid_removedAppsUid_rerturnExpectedName() {
- final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
- mContext, /* name */ null, /* uid */ BatteryUtils.UID_REMOVED_APPS);
+ final NameAndIcon nameAndIcon =
+ BatteryEntry.getNameAndIconFromUid(
+ mContext, /* name */ null, /* uid */ BatteryUtils.UID_REMOVED_APPS);
assertThat(nameAndIcon.mName).isEqualTo(getString(R.string.process_removed_apps));
}
@Test
public void getNameAndIconFromPowerComponent_rerturnExpectedNameAndIcon() {
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_SCREEN,
+ assertNameAndIcon(
+ BatteryConsumer.POWER_COMPONENT_SCREEN,
R.string.power_screen,
R.drawable.ic_settings_display);
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_CPU,
+ assertNameAndIcon(
+ BatteryConsumer.POWER_COMPONENT_CPU,
R.string.power_cpu,
R.drawable.ic_settings_cpu);
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
+ assertNameAndIcon(
+ BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
R.string.power_bluetooth,
R.drawable.ic_settings_bluetooth);
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_CAMERA,
+ assertNameAndIcon(
+ BatteryConsumer.POWER_COMPONENT_CAMERA,
R.string.power_camera,
R.drawable.ic_settings_camera);
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_FLASHLIGHT,
+ assertNameAndIcon(
+ BatteryConsumer.POWER_COMPONENT_FLASHLIGHT,
R.string.power_flashlight,
R.drawable.ic_settings_flashlight);
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO,
+ assertNameAndIcon(
+ BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO,
R.string.power_cell,
R.drawable.ic_settings_cellular);
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_GNSS,
+ assertNameAndIcon(
+ BatteryConsumer.POWER_COMPONENT_GNSS,
R.string.power_gps,
R.drawable.ic_settings_gps);
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_WIFI,
+ assertNameAndIcon(
+ BatteryConsumer.POWER_COMPONENT_WIFI,
R.string.power_wifi,
R.drawable.ic_settings_wireless_no_theme);
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_PHONE,
+ assertNameAndIcon(
+ BatteryConsumer.POWER_COMPONENT_PHONE,
R.string.power_phone,
R.drawable.ic_settings_voice_calls);
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY,
+ assertNameAndIcon(
+ BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY,
R.string.ambient_display_screen_title,
R.drawable.ic_settings_aod);
}
private void assertNameAndIcon(String name, int stringId) {
- final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
- mContext, name, /* uid */ 1000);
+ final NameAndIcon nameAndIcon =
+ BatteryEntry.getNameAndIconFromUid(mContext, name, /* uid */ 1000);
assertThat(nameAndIcon.mName).isEqualTo(getString(stringId));
}
private void assertNameAndIcon(int powerComponentId, int stringId, int iconId) {
- final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromPowerComponent(
- mContext, powerComponentId);
+ final NameAndIcon nameAndIcon =
+ BatteryEntry.getNameAndIconFromPowerComponent(mContext, powerComponentId);
assertThat(nameAndIcon.mName).isEqualTo(getString(stringId));
assertThat(nameAndIcon.mIconId).isEqualTo(iconId);
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntryTest.java
index 609f2fc..02800f7 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntryTest.java
@@ -41,10 +41,8 @@
@RunWith(RobolectricTestRunner.class)
public final class BatteryHistEntryTest {
- @Mock
- private BatteryEntry mMockBatteryEntry;
- @Mock
- private BatteryUsageStats mBatteryUsageStats;
+ @Mock private BatteryEntry mMockBatteryEntry;
+ @Mock private BatteryUsageStats mBatteryUsageStats;
@Before
public void setUp() {
@@ -75,17 +73,17 @@
ConvertUtils.convertBatteryEntryToContentValues(
mMockBatteryEntry,
mBatteryUsageStats,
- /*batteryLevel=*/ 12,
- /*batteryStatus=*/ BatteryManager.BATTERY_STATUS_FULL,
- /*batteryHealth=*/ BatteryManager.BATTERY_HEALTH_COLD,
- /*bootTimestamp=*/ 101L,
- /*timestamp=*/ 10001L,
- /*isFullChargeStart=*/ false);
+ /* batteryLevel= */ 12,
+ /* batteryStatus= */ BatteryManager.BATTERY_STATUS_FULL,
+ /* batteryHealth= */ BatteryManager.BATTERY_HEALTH_COLD,
+ /* bootTimestamp= */ 101L,
+ /* timestamp= */ 10001L,
+ /* isFullChargeStart= */ false);
assertBatteryHistEntry(
new BatteryHistEntry(values),
- /*drainType=*/ expectedType,
- /*percentOfTotal=*/ mMockBatteryEntry.mPercent);
+ /* drainType= */ expectedType,
+ /* percentOfTotal= */ mMockBatteryEntry.mPercent);
}
@Test
@@ -98,25 +96,25 @@
public void testConstructor_cursor_returnsExpectedResult() {
assertBatteryHistEntry(
createBatteryHistEntry(
- /*bootTimestamp=*/ 101L,
- /*timestamp=*/ 10001L,
- /*totalPower=*/ 5.1,
- /*consumePower=*/ 1.1,
- /*foregroundUsageConsumePower=*/ 1.2,
- /*foregroundServiceUsageConsumePower=*/ 1.3,
- /*backgroundUsageConsumePower=*/ 1.4,
- /*cachedUsageConsumePower=*/ 1.5,
- /*foregroundUsageTimeInMs=*/ 1234L,
- /*backgroundUsageTimeInMs=*/ 5689L,
- /*batteryLevel=*/ 12),
- /*drainType=*/ 3,
- /*percentOfTotal=*/ 0.3);
+ /* bootTimestamp= */ 101L,
+ /* timestamp= */ 10001L,
+ /* totalPower= */ 5.1,
+ /* consumePower= */ 1.1,
+ /* foregroundUsageConsumePower= */ 1.2,
+ /* foregroundServiceUsageConsumePower= */ 1.3,
+ /* backgroundUsageConsumePower= */ 1.4,
+ /* cachedUsageConsumePower= */ 1.5,
+ /* foregroundUsageTimeInMs= */ 1234L,
+ /* backgroundUsageTimeInMs= */ 5689L,
+ /* batteryLevel= */ 12),
+ /* drainType= */ 3,
+ /* percentOfTotal= */ 0.3);
}
@Test
public void testGetKey_consumerUidType_returnExpectedString() {
- final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+ final ContentValues values =
+ getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
values.put(BatteryHistEntry.KEY_UID, 3);
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
@@ -125,8 +123,8 @@
@Test
public void testGetKey_consumerUserType_returnExpectedString() {
- final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_USER_BATTERY);
+ final ContentValues values =
+ getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_USER_BATTERY);
values.put(BatteryHistEntry.KEY_USER_ID, 2);
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
@@ -135,14 +133,12 @@
@Test
public void testGetKey_consumerSystemType_returnExpectedString() {
- final ContentValues values = getContentValuesWithType(
- ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+ final ContentValues values =
+ getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
final BatteryInformation batteryInformation =
- BatteryInformation
- .newBuilder()
- .setDrainType(1)
- .build();
- values.put(BatteryHistEntry.KEY_BATTERY_INFORMATION,
+ BatteryInformation.newBuilder().setDrainType(1).build();
+ values.put(
+ BatteryHistEntry.KEY_BATTERY_INFORMATION,
ConvertUtils.convertBatteryInformationToString(batteryInformation));
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
@@ -151,32 +147,51 @@
@Test
public void testIsAppEntry_returnExpectedResult() {
- assertThat(isUidConsumer(
- createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY).mConsumerType)).isFalse();
- assertThat(isUidConsumer(
- createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).mConsumerType)).isFalse();
- assertThat(isUidConsumer(
- createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).mConsumerType)).isTrue();
+ assertThat(
+ isUidConsumer(
+ createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY)
+ .mConsumerType))
+ .isFalse();
+ assertThat(
+ isUidConsumer(
+ createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).mConsumerType))
+ .isFalse();
+ assertThat(isUidConsumer(createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).mConsumerType))
+ .isTrue();
}
@Test
public void testIsUserEntry_returnExpectedResult() {
- assertThat(isUserConsumer(
- createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY).mConsumerType)).isFalse();
- assertThat(isUserConsumer(
- createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).mConsumerType)).isTrue();
- assertThat(isUserConsumer(
- createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).mConsumerType)).isFalse();
+ assertThat(
+ isUserConsumer(
+ createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY)
+ .mConsumerType))
+ .isFalse();
+ assertThat(
+ isUserConsumer(
+ createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).mConsumerType))
+ .isTrue();
+ assertThat(
+ isUserConsumer(
+ createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).mConsumerType))
+ .isFalse();
}
@Test
public void testIsSystemEntry_returnExpectedResult() {
- assertThat(isSystemConsumer(
- createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY).mConsumerType)).isTrue();
- assertThat(isSystemConsumer(
- createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).mConsumerType)).isFalse();
- assertThat(isSystemConsumer(
- createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).mConsumerType)).isFalse();
+ assertThat(
+ isSystemConsumer(
+ createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY)
+ .mConsumerType))
+ .isTrue();
+ assertThat(
+ isSystemConsumer(
+ createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).mConsumerType))
+ .isFalse();
+ assertThat(
+ isSystemConsumer(
+ createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).mConsumerType))
+ .isFalse();
}
@Test
@@ -185,52 +200,52 @@
final long upperTimestamp = 300L;
final long lowerTimestamp = 100L;
final double ratio = 0.5;
- final BatteryHistEntry lowerHistEntry = createBatteryHistEntry(
- /*bootTimestamp=*/ 1000L,
- lowerTimestamp,
- /*totalPower=*/ 50,
- /*consumePower=*/ 10,
- /*foregroundUsageConsumePower=*/ 1,
- /*foregroundServiceUsageConsumePower=*/ 2,
- /*backgroundUsageConsumePower=*/ 3,
- /*cachedUsageConsumePower=*/ 4,
- /*foregroundUsageTimeInMs=*/ 100,
- /*backgroundUsageTimeInMs=*/ 200,
- /*batteryLevel=*/ 90);
- final BatteryHistEntry upperHistEntry = createBatteryHistEntry(
- /*bootTimestamp=*/ 1200L,
- upperTimestamp,
- /*totalPower=*/ 80,
- /*consumePower=*/ 20,
- /*foregroundUsageConsumePower=*/ 4,
- /*foregroundServiceUsageConsumePower=*/ 5,
- /*backgroundUsageConsumePower=*/ 6,
- /*cachedUsageConsumePower=*/ 5,
- /*foregroundUsageTimeInMs=*/ 200,
- /*backgroundUsageTimeInMs=*/ 300,
- /*batteryLevel=*/ 80);
+ final BatteryHistEntry lowerHistEntry =
+ createBatteryHistEntry(
+ /* bootTimestamp= */ 1000L,
+ lowerTimestamp,
+ /* totalPower= */ 50,
+ /* consumePower= */ 10,
+ /* foregroundUsageConsumePower= */ 1,
+ /* foregroundServiceUsageConsumePower= */ 2,
+ /* backgroundUsageConsumePower= */ 3,
+ /* cachedUsageConsumePower= */ 4,
+ /* foregroundUsageTimeInMs= */ 100,
+ /* backgroundUsageTimeInMs= */ 200,
+ /* batteryLevel= */ 90);
+ final BatteryHistEntry upperHistEntry =
+ createBatteryHistEntry(
+ /* bootTimestamp= */ 1200L,
+ upperTimestamp,
+ /* totalPower= */ 80,
+ /* consumePower= */ 20,
+ /* foregroundUsageConsumePower= */ 4,
+ /* foregroundServiceUsageConsumePower= */ 5,
+ /* backgroundUsageConsumePower= */ 6,
+ /* cachedUsageConsumePower= */ 5,
+ /* foregroundUsageTimeInMs= */ 200,
+ /* backgroundUsageTimeInMs= */ 300,
+ /* batteryLevel= */ 80);
final BatteryHistEntry newEntry =
BatteryHistEntry.interpolate(
- slotTimestamp,
- upperTimestamp,
- ratio,
- lowerHistEntry,
- upperHistEntry);
+ slotTimestamp, upperTimestamp, ratio, lowerHistEntry, upperHistEntry);
assertBatteryHistEntry(
- newEntry, 3, upperHistEntry.mPercentOfTotal,
- /*bootTimestamp=*/ 1200 - 100,
- /*timestamp=*/ slotTimestamp,
- /*totalPower=*/ 50 + 0.5 * (80 - 50),
- /*consumePower=*/ 10 + 0.5 * (20 - 10),
- /*foregroundUsageConsumePower=*/ 1 + 0.5 * (4 - 1),
- /*foregroundServiceUsageConsumePower=*/ 2 + 0.5 * (5 - 2),
- /*backgroundUsageConsumePower=*/ 3 + 0.5 * (6 - 3),
- /*cachedUsageConsumePower=*/ 4 + 0.5 * (5 - 4),
- /*foregroundUsageTimeInMs=*/ Math.round(100 + 0.5 * (200 - 100)),
- /*backgroundUsageTimeInMs=*/ Math.round(200 + 0.5 * (300 - 200)),
- /*batteryLevel=*/ (int) Math.round(90 + 0.5 * (80 - 90)));
+ newEntry,
+ 3,
+ upperHistEntry.mPercentOfTotal,
+ /* bootTimestamp= */ 1200 - 100,
+ /* timestamp= */ slotTimestamp,
+ /* totalPower= */ 50 + 0.5 * (80 - 50),
+ /* consumePower= */ 10 + 0.5 * (20 - 10),
+ /* foregroundUsageConsumePower= */ 1 + 0.5 * (4 - 1),
+ /* foregroundServiceUsageConsumePower= */ 2 + 0.5 * (5 - 2),
+ /* backgroundUsageConsumePower= */ 3 + 0.5 * (6 - 3),
+ /* cachedUsageConsumePower= */ 4 + 0.5 * (5 - 4),
+ /* foregroundUsageTimeInMs= */ Math.round(100 + 0.5 * (200 - 100)),
+ /* backgroundUsageTimeInMs= */ Math.round(200 + 0.5 * (300 - 200)),
+ /* batteryLevel= */ (int) Math.round(90 + 0.5 * (80 - 90)));
}
@Test
@@ -238,40 +253,43 @@
final long slotTimestamp = 200L;
final long upperTimestamp = 300L;
final double ratio = 0.5;
- final BatteryHistEntry upperHistEntry = createBatteryHistEntry(
- /*bootTimestamp=*/ 1200L,
- upperTimestamp,
- /*totalPower=*/ 80,
- /*consumePower=*/ 20,
- /*foregroundUsageConsumePower=*/ 4,
- /*foregroundServiceUsageConsumePower=*/ 5,
- /*backgroundUsageConsumePower=*/ 6,
- /*cachedUsageConsumePower=*/ 5,
- /*foregroundUsageTimeInMs=*/ 200,
- /*backgroundUsageTimeInMs=*/ 300,
- /*batteryLevel=*/ 80);
+ final BatteryHistEntry upperHistEntry =
+ createBatteryHistEntry(
+ /* bootTimestamp= */ 1200L,
+ upperTimestamp,
+ /* totalPower= */ 80,
+ /* consumePower= */ 20,
+ /* foregroundUsageConsumePower= */ 4,
+ /* foregroundServiceUsageConsumePower= */ 5,
+ /* backgroundUsageConsumePower= */ 6,
+ /* cachedUsageConsumePower= */ 5,
+ /* foregroundUsageTimeInMs= */ 200,
+ /* backgroundUsageTimeInMs= */ 300,
+ /* batteryLevel= */ 80);
final BatteryHistEntry newEntry =
BatteryHistEntry.interpolate(
slotTimestamp,
upperTimestamp,
ratio,
- /*lowerHistEntry=*/ null,
+ /* lowerHistEntry= */ null,
upperHistEntry);
assertBatteryHistEntry(
- newEntry, 3, upperHistEntry.mPercentOfTotal,
- /*bootTimestamp=*/ 1200 - 100,
- /*timestamp=*/ slotTimestamp,
- /*totalPower=*/ 0.5 * 80,
- /*consumePower=*/ 0.5 * 20,
- /*foregroundUsageConsumePower=*/ 0.5 * 4,
- /*foregroundServiceUsageConsumePower=*/ 0.5 * 5,
- /*backgroundUsageConsumePower=*/ 0.5 * 6,
- /*cachedUsageConsumePower=*/ 0.5 * 5,
- /*foregroundUsageTimeInMs=*/ Math.round(0.5 * 200),
- /*backgroundUsageTimeInMs=*/ Math.round(0.5 * 300),
- /*batteryLevel=*/ upperHistEntry.mBatteryLevel);
+ newEntry,
+ 3,
+ upperHistEntry.mPercentOfTotal,
+ /* bootTimestamp= */ 1200 - 100,
+ /* timestamp= */ slotTimestamp,
+ /* totalPower= */ 0.5 * 80,
+ /* consumePower= */ 0.5 * 20,
+ /* foregroundUsageConsumePower= */ 0.5 * 4,
+ /* foregroundServiceUsageConsumePower= */ 0.5 * 5,
+ /* backgroundUsageConsumePower= */ 0.5 * 6,
+ /* cachedUsageConsumePower= */ 0.5 * 5,
+ /* foregroundUsageTimeInMs= */ Math.round(0.5 * 200),
+ /* backgroundUsageTimeInMs= */ Math.round(0.5 * 300),
+ /* batteryLevel= */ upperHistEntry.mBatteryLevel);
}
private static BatteryHistEntry createEntry(int consumerType) {
@@ -280,26 +298,27 @@
private static ContentValues getContentValuesWithType(int consumerType) {
final ContentValues values = new ContentValues();
- values.put(BatteryHistEntry.KEY_CONSUMER_TYPE,
- Integer.valueOf(consumerType));
+ values.put(BatteryHistEntry.KEY_CONSUMER_TYPE, Integer.valueOf(consumerType));
return values;
}
private void assertBatteryHistEntry(
BatteryHistEntry entry, int drainType, double percentOfTotal) {
assertBatteryHistEntry(
- entry, drainType, percentOfTotal,
- /*bootTimestamp=*/ 101L,
- /*timestamp=*/ 10001L,
- /*totalPower=*/ 5.1,
- /*consumePower=*/ 1.1,
- /*foregroundUsageConsumePower=*/ 1.2,
- /*foregroundServiceUsageConsumePower=*/ 1.3,
- /*backgroundUsageConsumePower=*/ 1.4,
- /*cachedUsageConsumePower=*/ 1.5,
- /*foregroundUsageTimeInMs=*/ 1234L,
- /*backgroundUsageTimeInMs=*/ 5689L,
- /*batteryLevel=*/ 12);
+ entry,
+ drainType,
+ percentOfTotal,
+ /* bootTimestamp= */ 101L,
+ /* timestamp= */ 10001L,
+ /* totalPower= */ 5.1,
+ /* consumePower= */ 1.1,
+ /* foregroundUsageConsumePower= */ 1.2,
+ /* foregroundServiceUsageConsumePower= */ 1.3,
+ /* backgroundUsageConsumePower= */ 1.4,
+ /* cachedUsageConsumePower= */ 1.5,
+ /* foregroundUsageTimeInMs= */ 1234L,
+ /* backgroundUsageTimeInMs= */ 5689L,
+ /* batteryLevel= */ 12);
}
private void assertBatteryHistEntry(
@@ -321,8 +340,7 @@
assertThat(entry.mUid).isEqualTo(1001);
assertThat(entry.mUserId).isEqualTo(UserHandle.getUserId(1001));
assertThat(entry.mAppLabel).isEqualTo("Settings");
- assertThat(entry.mPackageName)
- .isEqualTo("com.google.android.settings.battery");
+ assertThat(entry.mPackageName).isEqualTo("com.google.android.settings.battery");
assertThat(entry.mIsHidden).isTrue();
assertThat(entry.mBootTimestamp).isEqualTo(bootTimestamp);
assertThat(entry.mTimestamp).isEqualTo(timestamp);
@@ -338,13 +356,10 @@
assertThat(entry.mForegroundUsageTimeInMs).isEqualTo(foregroundUsageTimeInMs);
assertThat(entry.mBackgroundUsageTimeInMs).isEqualTo(backgroundUsageTimeInMs);
assertThat(entry.mDrainType).isEqualTo(drainType);
- assertThat(entry.mConsumerType)
- .isEqualTo(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+ assertThat(entry.mConsumerType).isEqualTo(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
assertThat(entry.mBatteryLevel).isEqualTo(batteryLevel);
- assertThat(entry.mBatteryStatus)
- .isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
- assertThat(entry.mBatteryHealth)
- .isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
+ assertThat(entry.mBatteryStatus).isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
+ assertThat(entry.mBatteryHealth).isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
}
private BatteryHistEntry createBatteryHistEntry(
@@ -359,24 +374,24 @@
long foregroundUsageTimeInMs,
long backgroundUsageTimeInMs,
int batteryLevel) {
- final MatrixCursor cursor = new MatrixCursor(
- new String[]{
- BatteryHistEntry.KEY_UID,
- BatteryHistEntry.KEY_USER_ID,
- BatteryHistEntry.KEY_PACKAGE_NAME,
- BatteryHistEntry.KEY_TIMESTAMP,
- BatteryHistEntry.KEY_CONSUMER_TYPE,
- BatteryHistEntry.KEY_BATTERY_INFORMATION});
+ final MatrixCursor cursor =
+ new MatrixCursor(
+ new String[] {
+ BatteryHistEntry.KEY_UID,
+ BatteryHistEntry.KEY_USER_ID,
+ BatteryHistEntry.KEY_PACKAGE_NAME,
+ BatteryHistEntry.KEY_TIMESTAMP,
+ BatteryHistEntry.KEY_CONSUMER_TYPE,
+ BatteryHistEntry.KEY_BATTERY_INFORMATION
+ });
DeviceBatteryState deviceBatteryState =
- DeviceBatteryState
- .newBuilder()
+ DeviceBatteryState.newBuilder()
.setBatteryLevel(batteryLevel)
.setBatteryStatus(BatteryManager.BATTERY_STATUS_FULL)
.setBatteryHealth(BatteryManager.BATTERY_HEALTH_COLD)
.build();
BatteryInformation batteryInformation =
- BatteryInformation
- .newBuilder()
+ BatteryInformation.newBuilder()
.setDeviceBatteryState(deviceBatteryState)
.setIsHidden(true)
.setBootTimestamp(bootTimestamp)
@@ -394,13 +409,14 @@
.setBackgroundUsageTimeInMs(backgroundUsageTimeInMs)
.build();
cursor.addRow(
- new Object[]{
- Long.valueOf(1001),
- Long.valueOf(UserHandle.getUserId(1001)),
- "com.google.android.settings.battery",
- Long.valueOf(timestamp),
- Integer.valueOf(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY),
- ConvertUtils.convertBatteryInformationToString(batteryInformation)});
+ new Object[] {
+ Long.valueOf(1001),
+ Long.valueOf(UserHandle.getUserId(1001)),
+ "com.google.android.settings.battery",
+ Long.valueOf(timestamp),
+ Integer.valueOf(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY),
+ ConvertUtils.convertBatteryInformationToString(batteryInformation)
+ });
cursor.moveToFirst();
return new BatteryHistEntry(cursor);
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java
index 9155c66..26fff37 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java
@@ -38,14 +38,10 @@
@RunWith(RobolectricTestRunner.class)
public class BatteryHistoryPreferenceTest {
- @Mock
- private PreferenceViewHolder mViewHolder;
- @Mock
- private TextView mTextView;
- @Mock
- private BatteryChartView mDailyChartView;
- @Mock
- private BatteryChartView mHourlyChartView;
+ @Mock private PreferenceViewHolder mViewHolder;
+ @Mock private TextView mTextView;
+ @Mock private BatteryChartView mDailyChartView;
+ @Mock private BatteryChartView mHourlyChartView;
private BatteryHistoryPreference mBatteryHistoryPreference;
@Before
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelDataTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelDataTest.java
index 7dc4eab..712df9d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelDataTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelDataTest.java
@@ -42,129 +42,143 @@
@Test
public void getDailyTimestamps_allDataInOneHour_returnExpectedList() {
// Timezone GMT+8
- final List<Long> timestamps = List.of(
- 1640970006000L, // 2022-01-01 01:00:06
- 1640973608000L // 2022-01-01 01:00:08
- );
+ final List<Long> timestamps =
+ List.of(
+ 1640970006000L, // 2022-01-01 01:00:06
+ 1640973608000L // 2022-01-01 01:00:08
+ );
- final List<Long> expectedTimestamps = List.of(
- 1640970006000L, // 2022-01-01 01:00:06
- 1640973608000L // 2022-01-01 01:00:08
- );
+ final List<Long> expectedTimestamps =
+ List.of(
+ 1640970006000L, // 2022-01-01 01:00:06
+ 1640973608000L // 2022-01-01 01:00:08
+ );
assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
}
@Test
public void getDailyTimestamps_OneHourDataPerDay_returnExpectedList() {
// Timezone GMT+8
- final List<Long> timestamps = List.of(
- 1641049200000L, // 2022-01-01 23:00:00
- 1641052800000L, // 2022-01-02 00:00:00
- 1641056400000L // 2022-01-02 01:00:00
- );
+ final List<Long> timestamps =
+ List.of(
+ 1641049200000L, // 2022-01-01 23:00:00
+ 1641052800000L, // 2022-01-02 00:00:00
+ 1641056400000L // 2022-01-02 01:00:00
+ );
- final List<Long> expectedTimestamps = List.of(
- 1641049200000L, // 2022-01-01 23:00:00
- 1641052800000L, // 2022-01-02 00:00:00
- 1641056400000L // 2022-01-02 01:00:00
- );
+ final List<Long> expectedTimestamps =
+ List.of(
+ 1641049200000L, // 2022-01-01 23:00:00
+ 1641052800000L, // 2022-01-02 00:00:00
+ 1641056400000L // 2022-01-02 01:00:00
+ );
assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
}
@Test
public void getDailyTimestamps_OneDayData_returnExpectedList() {
// Timezone GMT+8
- final List<Long> timestamps = List.of(
- 1640966400000L, // 2022-01-01 00:00:00
- 1640970000000L, // 2022-01-01 01:00:00
- 1640973600000L, // 2022-01-01 02:00:00
- 1640977200000L, // 2022-01-01 03:00:00
- 1640980800000L // 2022-01-01 04:00:00
- );
+ final List<Long> timestamps =
+ List.of(
+ 1640966400000L, // 2022-01-01 00:00:00
+ 1640970000000L, // 2022-01-01 01:00:00
+ 1640973600000L, // 2022-01-01 02:00:00
+ 1640977200000L, // 2022-01-01 03:00:00
+ 1640980800000L // 2022-01-01 04:00:00
+ );
- final List<Long> expectedTimestamps = List.of(
- 1640966400000L, // 2022-01-01 00:00:00
- 1640980800000L // 2022-01-01 04:00:00
- );
+ final List<Long> expectedTimestamps =
+ List.of(
+ 1640966400000L, // 2022-01-01 00:00:00
+ 1640980800000L // 2022-01-01 04:00:00
+ );
assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
}
@Test
public void getDailyTimestamps_MultipleDaysData_returnExpectedList() {
// Timezone GMT+8
- final List<Long> timestamps = List.of(
- 1641045600000L, // 2022-01-01 22:00:00
- 1641060000000L, // 2022-01-02 02:00:00
- 1641160800000L, // 2022-01-03 06:00:00
- 1641232800000L // 2022-01-04 02:00:00
- );
+ final List<Long> timestamps =
+ List.of(
+ 1641045600000L, // 2022-01-01 22:00:00
+ 1641060000000L, // 2022-01-02 02:00:00
+ 1641160800000L, // 2022-01-03 06:00:00
+ 1641232800000L // 2022-01-04 02:00:00
+ );
- final List<Long> expectedTimestamps = List.of(
- 1641045600000L, // 2022-01-01 22:00:00
- 1641052800000L, // 2022-01-02 00:00:00
- 1641139200000L, // 2022-01-03 00:00:00
- 1641225600000L, // 2022-01-04 00:00:00
- 1641232800000L // 2022-01-04 02:00:00
- );
+ final List<Long> expectedTimestamps =
+ List.of(
+ 1641045600000L, // 2022-01-01 22:00:00
+ 1641052800000L, // 2022-01-02 00:00:00
+ 1641139200000L, // 2022-01-03 00:00:00
+ 1641225600000L, // 2022-01-04 00:00:00
+ 1641232800000L // 2022-01-04 02:00:00
+ );
assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
}
@Test
public void getDailyTimestamps_FirstDayOneHourData_returnExpectedList() {
// Timezone GMT+8
- final List<Long> timestamps = List.of(
- 1641049200000L, // 2022-01-01 23:00:00
- 1641060000000L, // 2022-01-02 02:00:00
- 1641160800000L, // 2022-01-03 06:00:00
- 1641254400000L // 2022-01-04 08:00:00
- );
+ final List<Long> timestamps =
+ List.of(
+ 1641049200000L, // 2022-01-01 23:00:00
+ 1641060000000L, // 2022-01-02 02:00:00
+ 1641160800000L, // 2022-01-03 06:00:00
+ 1641254400000L // 2022-01-04 08:00:00
+ );
- final List<Long> expectedTimestamps = List.of(
- 1641049200000L, // 2022-01-01 23:00:00
- 1641052800000L, // 2022-01-02 00:00:00
- 1641139200000L, // 2022-01-03 00:00:00
- 1641225600000L, // 2022-01-04 00:00:00
- 1641254400000L // 2022-01-04 08:00:00
- );
+ final List<Long> expectedTimestamps =
+ List.of(
+ 1641049200000L, // 2022-01-01 23:00:00
+ 1641052800000L, // 2022-01-02 00:00:00
+ 1641139200000L, // 2022-01-03 00:00:00
+ 1641225600000L, // 2022-01-04 00:00:00
+ 1641254400000L // 2022-01-04 08:00:00
+ );
assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
}
@Test
public void getDailyTimestamps_LastDayNoData_returnExpectedList() {
// Timezone GMT+8
- final List<Long> timestamps = List.of(
- 1640988000000L, // 2022-01-01 06:00:00
- 1641060000000L, // 2022-01-02 02:00:00
- 1641160800000L, // 2022-01-03 06:00:00
- 1641225600000L // 2022-01-04 00:00:00
- );
+ final List<Long> timestamps =
+ List.of(
+ 1640988000000L, // 2022-01-01 06:00:00
+ 1641060000000L, // 2022-01-02 02:00:00
+ 1641160800000L, // 2022-01-03 06:00:00
+ 1641225600000L // 2022-01-04 00:00:00
+ );
- final List<Long> expectedTimestamps = List.of(
- 1640988000000L, // 2022-01-01 06:00:00
- 1641052800000L, // 2022-01-02 00:00:00
- 1641139200000L, // 2022-01-03 00:00:00
- 1641225600000L // 2022-01-04 00:00:00
- );
+ final List<Long> expectedTimestamps =
+ List.of(
+ 1640988000000L, // 2022-01-01 06:00:00
+ 1641052800000L, // 2022-01-02 00:00:00
+ 1641139200000L, // 2022-01-03 00:00:00
+ 1641225600000L // 2022-01-04 00:00:00
+ );
assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
}
@Test
public void getDailyTimestamps_LastDayOneHourData_returnExpectedList() {
// Timezone GMT+8
- final List<Long> timestamps = List.of(
- 1640988000000L, // 2022-01-01 06:00:00
- 1641060000000L, // 2022-01-02 02:00:00
- 1641160800000L, // 2022-01-03 06:00:00
- 1641229200000L // 2022-01-04 01:00:00
- );
+ final List<Long> timestamps =
+ List.of(
+ 1640988000000L, // 2022-01-01 06:00:00
+ 1641060000000L, // 2022-01-02 02:00:00
+ 1641160800000L, // 2022-01-03 06:00:00
+ 1641229200000L // 2022-01-04 01:00:00
+ );
- final List<Long> expectedTimestamps = List.of(
- 1640988000000L, // 2022-01-01 06:00:00
- 1641052800000L, // 2022-01-02 00:00:00
- 1641139200000L, // 2022-01-03 00:00:00
- 1641225600000L, // 2022-01-04 00:00:00
- 1641229200000L // 2022-01-04 01:00:00
- );
+ final List<Long> expectedTimestamps =
+ List.of(
+ 1640988000000L, // 2022-01-01 06:00:00
+ 1641052800000L, // 2022-01-02 00:00:00
+ 1641139200000L, // 2022-01-03 00:00:00
+ 1641225600000L, // 2022-01-04 00:00:00
+ 1641229200000L // 2022-01-04 01:00:00
+ );
assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
}
@@ -172,21 +186,26 @@
public void combine_normalFlow_returnExpectedResult() {
final BatteryLevelData batteryLevelData =
new BatteryLevelData(Map.of(1691596800000L, 90, 1691604000000L, 80));
- final List<BatteryEvent> batteryLevelRecordEvents = List.of(
- BatteryEvent.newBuilder().setTimestamp(1691586000166L).setBatteryLevel(100)
- .setType(BatteryEventType.FULL_CHARGED).build(),
- BatteryEvent.newBuilder().setTimestamp(1691589600000L).setBatteryLevel(98)
- .setType(BatteryEventType.EVEN_HOUR).build());
+ final List<BatteryEvent> batteryLevelRecordEvents =
+ List.of(
+ BatteryEvent.newBuilder()
+ .setTimestamp(1691586000166L)
+ .setBatteryLevel(100)
+ .setType(BatteryEventType.FULL_CHARGED)
+ .build(),
+ BatteryEvent.newBuilder()
+ .setTimestamp(1691589600000L)
+ .setBatteryLevel(98)
+ .setType(BatteryEventType.EVEN_HOUR)
+ .build());
BatteryLevelData result =
BatteryLevelData.combine(batteryLevelData, batteryLevelRecordEvents);
assertThat(result.getDailyBatteryLevels().getTimestamps())
.isEqualTo(List.of(1691586000166L, 1691596800000L, 1691604000000L));
- assertThat(result.getDailyBatteryLevels().getLevels())
- .isEqualTo(List.of(100, 90, 80));
- assertThat(result.getHourlyBatteryLevelsPerDay())
- .hasSize(2);
+ assertThat(result.getDailyBatteryLevels().getLevels()).isEqualTo(List.of(100, 90, 80));
+ assertThat(result.getHourlyBatteryLevelsPerDay()).hasSize(2);
assertThat(result.getHourlyBatteryLevelsPerDay().get(0).getTimestamps())
.isEqualTo(List.of(1691586000166L, 1691589600000L, 1691596800000L));
assertThat(result.getHourlyBatteryLevelsPerDay().get(0).getLevels())
@@ -199,17 +218,22 @@
@Test
public void combine_existingBatteryLevelDataIsNull_returnExpectedResult() {
- final List<BatteryEvent> batteryLevelRecordEvents = List.of(
- BatteryEvent.newBuilder().setTimestamp(1691586000166L).setBatteryLevel(100)
- .setType(BatteryEventType.FULL_CHARGED).build(),
- BatteryEvent.newBuilder().setTimestamp(1691589600000L).setBatteryLevel(98)
- .setType(BatteryEventType.EVEN_HOUR).build());
+ final List<BatteryEvent> batteryLevelRecordEvents =
+ List.of(
+ BatteryEvent.newBuilder()
+ .setTimestamp(1691586000166L)
+ .setBatteryLevel(100)
+ .setType(BatteryEventType.FULL_CHARGED)
+ .build(),
+ BatteryEvent.newBuilder()
+ .setTimestamp(1691589600000L)
+ .setBatteryLevel(98)
+ .setType(BatteryEventType.EVEN_HOUR)
+ .build());
- BatteryLevelData result =
- BatteryLevelData.combine(null, batteryLevelRecordEvents);
+ BatteryLevelData result = BatteryLevelData.combine(null, batteryLevelRecordEvents);
- assertThat(result.getHourlyBatteryLevelsPerDay())
- .hasSize(1);
+ assertThat(result.getHourlyBatteryLevelsPerDay()).hasSize(1);
assertThat(result.getHourlyBatteryLevelsPerDay().get(0).getTimestamps())
.isEqualTo(List.of(1691586000166L, 1691589600000L));
assertThat(result.getHourlyBatteryLevelsPerDay().get(0).getLevels())
@@ -219,25 +243,31 @@
@Test
public void getIndexByTimestamps_returnExpectedResult() {
final BatteryLevelData batteryLevelData =
- new BatteryLevelData(Map.of(
- 1694354400000L, 1, // 2023-09-10 22:00:00
- 1694361600000L, 2, // 2023-09-11 00:00:00
- 1694368800000L, 3)); // 2023-09-11 02:00:00
+ new BatteryLevelData(
+ Map.of(
+ 1694354400000L, 1, // 2023-09-10 22:00:00
+ 1694361600000L, 2, // 2023-09-11 00:00:00
+ 1694368800000L, 3)); // 2023-09-11 02:00:00
final PowerAnomalyEvent event = BatteryTestUtils.createAppAnomalyEvent();
assertThat(batteryLevelData.getIndexByTimestamps(0L, 0L))
- .isEqualTo(Pair.create(BatteryChartViewModel.SELECTED_INDEX_INVALID,
- BatteryChartViewModel.SELECTED_INDEX_INVALID));
+ .isEqualTo(
+ Pair.create(
+ BatteryChartViewModel.SELECTED_INDEX_INVALID,
+ BatteryChartViewModel.SELECTED_INDEX_INVALID));
assertThat(batteryLevelData.getIndexByTimestamps(1694361600000L + 1L, 1694368800000L + 1L))
- .isEqualTo(Pair.create(BatteryChartViewModel.SELECTED_INDEX_INVALID,
- BatteryChartViewModel.SELECTED_INDEX_INVALID));
+ .isEqualTo(
+ Pair.create(
+ BatteryChartViewModel.SELECTED_INDEX_INVALID,
+ BatteryChartViewModel.SELECTED_INDEX_INVALID));
assertThat(batteryLevelData.getIndexByTimestamps(1694361600000L, 1694368800000L))
.isEqualTo(Pair.create(1, 0));
assertThat(batteryLevelData.getIndexByTimestamps(1694361600000L + 1L, 1694368800000L - 1L))
.isEqualTo(Pair.create(1, 0));
- assertThat(batteryLevelData.getIndexByTimestamps(
- event.getWarningItemInfo().getStartTimestamp(),
- event.getWarningItemInfo().getEndTimestamp()))
+ assertThat(
+ batteryLevelData.getIndexByTimestamps(
+ event.getWarningItemInfo().getStartTimestamp(),
+ event.getWarningItemInfo().getEndTimestamp()))
.isEqualTo(Pair.create(1, 0));
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java
index 63cb1b3..91d8c7d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java
@@ -61,19 +61,16 @@
private BatteryTipsController mBatteryTipsController;
private BatteryChartPreferenceController mBatteryChartPreferenceController;
- @Mock
- private View mFakeView;
- @Mock
- private BatteryUsageBreakdownController mBatteryUsageBreakdownController;
- @Mock
- private BatteryDiffEntry mFakeEntry;
+ @Mock private View mFakeView;
+ @Mock private BatteryUsageBreakdownController mBatteryUsageBreakdownController;
+ @Mock private BatteryDiffEntry mFakeEntry;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
mFeatureFactory = FakeFeatureFactory.setupForTest();
- mBatteryTipsCardPreference = new BatteryTipsCardPreference(mContext, /*attrs=*/ null);
+ mBatteryTipsCardPreference = new BatteryTipsCardPreference(mContext, /* attrs= */ null);
mBatteryTipsController = new BatteryTipsController(mContext);
mBatteryChartPreferenceController =
spy(new BatteryChartPreferenceController(mContext, null, null));
@@ -85,17 +82,20 @@
mPowerUsageAdvanced.mBatteryTipsController = mBatteryTipsController;
mPowerUsageAdvanced.mBatteryChartPreferenceController = mBatteryChartPreferenceController;
mPowerUsageAdvanced.mBatteryUsageBreakdownController = mBatteryUsageBreakdownController;
- mPowerUsageAdvanced.mBatteryLevelData = Optional.of(new BatteryLevelData(Map.of(
- 1694354400000L, 1, // 2023-09-10 22:00:00
- 1694361600000L, 2, // 2023-09-11 00:00:00
- 1694368800000L, 3))); // 2023-09-11 02:00:00
+ mPowerUsageAdvanced.mBatteryLevelData =
+ Optional.of(
+ new BatteryLevelData(
+ Map.of(
+ 1694354400000L, 1, // 2023-09-10 22:00:00
+ 1694361600000L, 2, // 2023-09-11 00:00:00
+ 1694368800000L, 3))); // 2023-09-11 02:00:00
doReturn("TestEntriesKey").when(mFakeEntry).getKey();
}
@Test
public void constructor_returnExpectedResult() {
- assertThat(mBatteryTipsCardPreference.getLayoutResource()).isEqualTo(
- R.layout.battery_tips_card);
+ assertThat(mBatteryTipsCardPreference.getLayoutResource())
+ .isEqualTo(R.layout.battery_tips_card);
}
@Test
@@ -118,10 +118,13 @@
.isEqualTo(DisplaySettings.class.getName());
assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, -1))
.isEqualTo(SettingsEnums.DISPLAY);
- verify(mFeatureFactory.metricsFeatureProvider).action(
- mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "BrightnessAnomaly");
- verify(mFeatureFactory.metricsFeatureProvider).action(
- mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, "BrightnessAnomaly");
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "BrightnessAnomaly");
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT,
+ "BrightnessAnomaly");
}
@Test
@@ -140,10 +143,16 @@
assertThat(DatabaseUtils.getDismissedPowerAnomalyKeys(mContext)).hasSize(1);
assertThat(DatabaseUtils.getDismissedPowerAnomalyKeys(mContext))
.contains(PowerAnomalyKey.KEY_SCREEN_TIMEOUT.name());
- verify(mFeatureFactory.metricsFeatureProvider).action(
- mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "ScreenTimeoutAnomaly");
- verify(mFeatureFactory.metricsFeatureProvider).action(
- mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, "ScreenTimeoutAnomaly");
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
+ "ScreenTimeoutAnomaly");
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS,
+ "ScreenTimeoutAnomaly");
}
@Test
@@ -159,13 +168,12 @@
assertThat(mBatteryTipsCardPreference.isVisible()).isFalse();
verify(mContext, never()).startActivity(any(Intent.class));
- verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(
- eq(1), eq(0));
+ verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(eq(1), eq(0));
verify(mBatteryChartPreferenceController).selectHighlightSlotIndex();
- verify(mFeatureFactory.metricsFeatureProvider).action(
- mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly");
- verify(mFeatureFactory.metricsFeatureProvider).action(
- mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, "AppAnomaly");
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly");
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, "AppAnomaly");
}
@Test
@@ -180,12 +188,11 @@
assertThat(mBatteryTipsCardPreference.isVisible()).isFalse();
verify(mContext, never()).startActivity(any(Intent.class));
- verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(
- eq(1), eq(0));
+ verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(eq(1), eq(0));
verify(mBatteryChartPreferenceController, never()).selectHighlightSlotIndex();
- verify(mFeatureFactory.metricsFeatureProvider).action(
- mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly");
- verify(mFeatureFactory.metricsFeatureProvider).action(
- mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, "AppAnomaly");
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly");
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, "AppAnomaly");
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java
index b8afe98..e7c8e81 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java
@@ -48,8 +48,7 @@
private FakeFeatureFactory mFeatureFactory;
private BatteryTipsController mBatteryTipsController;
- @Mock
- private BatteryTipsCardPreference mBatteryTipsCardPreference;
+ @Mock private BatteryTipsCardPreference mBatteryTipsCardPreference;
@Before
public void setUp() {
@@ -82,17 +81,16 @@
new AnomalyEventWrapper(mContext, event), false);
// Check pre-defined string
- verify(mBatteryTipsCardPreference).setTitle(
- "Turn on adaptive brightness to extend battery life");
+ verify(mBatteryTipsCardPreference)
+ .setTitle("Turn on adaptive brightness to extend battery life");
verify(mBatteryTipsCardPreference).setIconResourceId(R.drawable.ic_battery_tips_lightbulb);
- verify(mBatteryTipsCardPreference).setMainButtonStrokeColorResourceId(
- R.color.color_accent_selector);
+ verify(mBatteryTipsCardPreference).setButtonColorResourceId(R.color.color_accent_selector);
verify(mBatteryTipsCardPreference).setMainButtonLabel("View Settings");
verify(mBatteryTipsCardPreference).setDismissButtonLabel("Got it");
// Check proto info
verify(mBatteryTipsCardPreference).setVisible(true);
- verify(mFeatureFactory.metricsFeatureProvider).action(
- mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "BrightnessAnomaly");
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "BrightnessAnomaly");
}
@Test
@@ -105,25 +103,28 @@
verify(mBatteryTipsCardPreference).setTitle("Reduce screen timeout to extend battery life");
verify(mBatteryTipsCardPreference).setIconResourceId(R.drawable.ic_battery_tips_lightbulb);
- verify(mBatteryTipsCardPreference).setMainButtonStrokeColorResourceId(
- R.color.color_accent_selector);
+ verify(mBatteryTipsCardPreference).setButtonColorResourceId(R.color.color_accent_selector);
verify(mBatteryTipsCardPreference).setMainButtonLabel("View Settings");
verify(mBatteryTipsCardPreference).setDismissButtonLabel("Got it");
verify(mBatteryTipsCardPreference).setVisible(true);
- verify(mFeatureFactory.metricsFeatureProvider).action(
- mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "ScreenTimeoutAnomaly");
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
+ "ScreenTimeoutAnomaly");
}
@Test
public void handleBatteryTipsCardUpdated_screenTimeoutAnomalyHasTitle_showAnomaly() {
PowerAnomalyEvent event = BatteryTestUtils.createScreenTimeoutAnomalyEvent();
String testTitle = "TestTitle";
- event = event.toBuilder()
- .setWarningBannerInfo(
- event.getWarningBannerInfo().toBuilder()
- .setTitleString(testTitle)
- .build())
- .build();
+ event =
+ event.toBuilder()
+ .setWarningBannerInfo(
+ event.getWarningBannerInfo().toBuilder()
+ .setTitleString(testTitle)
+ .build())
+ .build();
when(mFeatureFactory.powerUsageFeatureProvider.isBatteryTipsEnabled()).thenReturn(true);
mBatteryTipsController.handleBatteryTipsCardUpdated(
@@ -131,13 +132,15 @@
verify(mBatteryTipsCardPreference).setTitle(testTitle);
verify(mBatteryTipsCardPreference).setIconResourceId(R.drawable.ic_battery_tips_lightbulb);
- verify(mBatteryTipsCardPreference).setMainButtonStrokeColorResourceId(
- R.color.color_accent_selector);
+ verify(mBatteryTipsCardPreference).setButtonColorResourceId(R.color.color_accent_selector);
verify(mBatteryTipsCardPreference).setMainButtonLabel("View Settings");
verify(mBatteryTipsCardPreference).setDismissButtonLabel("Got it");
verify(mBatteryTipsCardPreference).setVisible(true);
- verify(mFeatureFactory.metricsFeatureProvider).action(
- mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "ScreenTimeoutAnomaly");
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(
+ mContext,
+ SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
+ "ScreenTimeoutAnomaly");
}
@Test
@@ -146,20 +149,18 @@
when(mFeatureFactory.powerUsageFeatureProvider.isBatteryTipsEnabled()).thenReturn(true);
AnomalyEventWrapper eventWrapper = new AnomalyEventWrapper(mContext, event);
- eventWrapper.setRelatedBatteryDiffEntry(
- new BatteryDiffEntry(mContext, "", "Chrome", 0));
+ eventWrapper.setRelatedBatteryDiffEntry(new BatteryDiffEntry(mContext, "", "Chrome", 0));
mBatteryTipsController.handleBatteryTipsCardUpdated(eventWrapper, false);
- verify(mBatteryTipsCardPreference).setTitle(
- "Chrome used more battery than usual");
- verify(mBatteryTipsCardPreference).setIconResourceId(
- R.drawable.ic_battery_tips_warning_icon);
- verify(mBatteryTipsCardPreference).setMainButtonStrokeColorResourceId(
- R.color.color_battery_anomaly_yellow_selector);
+ verify(mBatteryTipsCardPreference).setTitle("Chrome used more battery than usual");
+ verify(mBatteryTipsCardPreference)
+ .setIconResourceId(R.drawable.ic_battery_tips_warning_icon);
+ verify(mBatteryTipsCardPreference)
+ .setButtonColorResourceId(R.color.color_battery_anomaly_app_warning_selector);
verify(mBatteryTipsCardPreference).setMainButtonLabel("Check");
verify(mBatteryTipsCardPreference).setDismissButtonLabel("Got it");
verify(mBatteryTipsCardPreference).setVisible(true);
- verify(mFeatureFactory.metricsFeatureProvider).action(
- mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly");
+ verify(mFeatureFactory.metricsFeatureProvider)
+ .action(mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly");
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java
index a721ad4..fc30702 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java
@@ -58,18 +58,12 @@
private static final String PREF_KEY2 = "pref_key2";
private static final String PREF_SUMMARY = "fake preference summary";
- @Mock
- private InstrumentedPreferenceFragment mFragment;
- @Mock
- private SettingsActivity mSettingsActivity;
- @Mock
- private PreferenceGroup mAppListPreferenceGroup;
- @Mock
- private Drawable mDrawable;
- @Mock
- private BatteryHistEntry mBatteryHistEntry;
- @Mock
- private AnomalyAppItemPreference mAnomalyAppItemPreference;
+ @Mock private InstrumentedPreferenceFragment mFragment;
+ @Mock private SettingsActivity mSettingsActivity;
+ @Mock private PreferenceGroup mAppListPreferenceGroup;
+ @Mock private Drawable mDrawable;
+ @Mock private BatteryHistEntry mBatteryHistEntry;
+ @Mock private AnomalyAppItemPreference mAnomalyAppItemPreference;
private Context mContext;
private FakeFeatureFactory mFeatureFactory;
@@ -94,43 +88,51 @@
.getHideApplicationSet();
mBatteryUsageBreakdownController = createController();
mBatteryUsageBreakdownController.mAppListPreferenceGroup = mAppListPreferenceGroup;
- mBatteryDiffEntry = new BatteryDiffEntry(
- mContext,
- /*uid=*/ 0L,
- /*userId=*/ 0L,
- /*key=*/ "key",
- /*isHidden=*/ false,
- /*componentId=*/ -1,
- /*legacyPackageName=*/ null,
- /*legacyLabel=*/ null,
- /*consumerType=*/ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
- /*foregroundUsageTimeInMs=*/ 1,
- /*backgroundUsageTimeInMs=*/ 2,
- /*screenOnTimeInMs=*/ 0,
- /*consumePower=*/ 3,
- /*foregroundUsageConsumePower=*/ 0,
- /*foregroundServiceUsageConsumePower=*/ 1,
- /*backgroundUsageConsumePower=*/ 2,
- /*cachedUsageConsumePower=*/ 0);
+ mBatteryDiffEntry =
+ new BatteryDiffEntry(
+ mContext,
+ /* uid= */ 0L,
+ /* userId= */ 0L,
+ /* key= */ "key",
+ /* isHidden= */ false,
+ /* componentId= */ -1,
+ /* legacyPackageName= */ null,
+ /* legacyLabel= */ null,
+ /* consumerType= */ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 1,
+ /* backgroundUsageTimeInMs= */ 2,
+ /* screenOnTimeInMs= */ 0,
+ /* consumePower= */ 3,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 1,
+ /* backgroundUsageConsumePower= */ 2,
+ /* cachedUsageConsumePower= */ 0);
mBatteryDiffEntry = spy(mBatteryDiffEntry);
mBatteryUsageBreakdownController.mBatteryDiffData =
- new BatteryDiffData(mContext, /* startTimestamp= */ 0L, /* endTimestamp= */ 0L,
- /* startBatteryLevel= */ 0, /* endBatteryLevel= */ 0,
- /* screenOnTime= */ 0L, Arrays.asList(mBatteryDiffEntry), Arrays.asList(),
- Set.of(), Set.of(), /* isAccumulated= */ false);
+ new BatteryDiffData(
+ mContext,
+ /* startTimestamp= */ 0L,
+ /* endTimestamp= */ 0L,
+ /* startBatteryLevel= */ 0,
+ /* endBatteryLevel= */ 0,
+ /* screenOnTime= */ 0L,
+ Arrays.asList(mBatteryDiffEntry),
+ Arrays.asList(),
+ Set.of(),
+ Set.of(),
+ /* isAccumulated= */ false);
BatteryDiffEntry.clearCache();
// Adds fake testing data.
BatteryDiffEntry.sResourceCache.put(
"fakeBatteryDiffEntryKey",
- new BatteryEntry.NameAndIcon("fakeName", /*icon=*/ null, /*iconId=*/ 1));
+ new BatteryEntry.NameAndIcon("fakeName", /* icon= */ null, /* iconId= */ 1));
doReturn(mAnomalyAppItemPreference).when(mAppListPreferenceGroup).findPreference(PREF_KEY);
}
@Test
public void onDestroy_clearPreferenceCacheAndPreferenceGroupRemoveAll() {
// Ensures the testing environment is correct.
- mBatteryUsageBreakdownController.mPreferenceCache.put(
- PREF_KEY, mAnomalyAppItemPreference);
+ mBatteryUsageBreakdownController.mPreferenceCache.put(PREF_KEY, mAnomalyAppItemPreference);
assertThat(mBatteryUsageBreakdownController.mPreferenceCache).hasSize(1);
mBatteryUsageBreakdownController.onDestroy();
@@ -158,8 +160,8 @@
// Verifies the preference cache.
final PowerGaugePreference pref =
- (PowerGaugePreference) mBatteryUsageBreakdownController.mPreferenceCache
- .get(PREF_KEY);
+ (PowerGaugePreference)
+ mBatteryUsageBreakdownController.mPreferenceCache.get(PREF_KEY);
assertThat(pref).isNotNull();
// Verifies the added preference configuration.
verify(mAppListPreferenceGroup).addPreference(pref);
@@ -218,8 +220,10 @@
@Test
public void handlePreferenceTreeClick_notPowerGaugePreference_returnFalse() {
- assertThat(mBatteryUsageBreakdownController
- .handlePreferenceTreeClick(mAppListPreferenceGroup)).isFalse();
+ assertThat(
+ mBatteryUsageBreakdownController.handlePreferenceTreeClick(
+ mAppListPreferenceGroup))
+ .isFalse();
verify(mMetricsFeatureProvider, never())
.action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_APP_ITEM);
@@ -232,8 +236,10 @@
mBatteryDiffEntry.mConsumerType = ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY;
doReturn(mBatteryDiffEntry).when(mAnomalyAppItemPreference).getBatteryDiffEntry();
- assertThat(mBatteryUsageBreakdownController.handlePreferenceTreeClick(
- mAnomalyAppItemPreference)).isTrue();
+ assertThat(
+ mBatteryUsageBreakdownController.handlePreferenceTreeClick(
+ mAnomalyAppItemPreference))
+ .isTrue();
verify(mMetricsFeatureProvider)
.action(
SettingsEnums.OPEN_BATTERY_USAGE,
@@ -248,8 +254,10 @@
mBatteryDiffEntry.mConsumerType = ConvertUtils.CONSUMER_TYPE_UID_BATTERY;
doReturn(mBatteryDiffEntry).when(mAnomalyAppItemPreference).getBatteryDiffEntry();
- assertThat(mBatteryUsageBreakdownController.handlePreferenceTreeClick(
- mAnomalyAppItemPreference)).isTrue();
+ assertThat(
+ mBatteryUsageBreakdownController.handlePreferenceTreeClick(
+ mAnomalyAppItemPreference))
+ .isTrue();
verify(mMetricsFeatureProvider)
.action(
SettingsEnums.OPEN_BATTERY_USAGE,
@@ -262,11 +270,12 @@
@Test
public void setPreferencePercent_lessThanThreshold_expectedFormat() {
final PowerGaugePreference pref = new PowerGaugePreference(mContext);
- final BatteryDiffEntry batteryDiffEntry = createBatteryDiffEntry(
- /*isSystem=*/ true,
- /*screenOnTimeInMs=*/ 0,
- /*foregroundUsageTimeInMs=*/ 0,
- /*backgroundUsageTimeInMs=*/ 0);
+ final BatteryDiffEntry batteryDiffEntry =
+ createBatteryDiffEntry(
+ /* isSystem= */ true,
+ /* screenOnTimeInMs= */ 0,
+ /* foregroundUsageTimeInMs= */ 0,
+ /* backgroundUsageTimeInMs= */ 0);
batteryDiffEntry.mConsumePower = 0.8;
batteryDiffEntry.setTotalConsumePower(100);
mBatteryUsageBreakdownController.mPercentLessThanThresholdText = "< 1%";
@@ -279,11 +288,12 @@
@Test
public void setPreferencePercent_greaterThanThreshold_expectedFormat() {
final PowerGaugePreference pref = new PowerGaugePreference(mContext);
- final BatteryDiffEntry batteryDiffEntry = createBatteryDiffEntry(
- /*isSystem=*/ true,
- /*screenOnTimeInMs=*/ 0,
- /*foregroundUsageTimeInMs=*/ 0,
- /*backgroundUsageTimeInMs=*/ 0);
+ final BatteryDiffEntry batteryDiffEntry =
+ createBatteryDiffEntry(
+ /* isSystem= */ true,
+ /* screenOnTimeInMs= */ 0,
+ /* foregroundUsageTimeInMs= */ 0,
+ /* backgroundUsageTimeInMs= */ 0);
batteryDiffEntry.mConsumePower = 16;
batteryDiffEntry.setTotalConsumePower(100);
mBatteryUsageBreakdownController.mPercentLessThanThresholdText = "< 1%";
@@ -299,11 +309,12 @@
pref.setSummary(PREF_SUMMARY);
mBatteryUsageBreakdownController.setPreferenceSummary(
- pref, createBatteryDiffEntry(
- /*isSystem=*/ true,
- /*screenOnTimeInMs=*/ 0,
- /*foregroundUsageTimeInMs=*/ 0,
- /*backgroundUsageTimeInMs=*/ 0));
+ pref,
+ createBatteryDiffEntry(
+ /* isSystem= */ true,
+ /* screenOnTimeInMs= */ 0,
+ /* foregroundUsageTimeInMs= */ 0,
+ /* backgroundUsageTimeInMs= */ 0));
assertThat(pref.getSummary().toString().isEmpty()).isTrue();
}
@@ -313,11 +324,12 @@
pref.setSummary(PREF_SUMMARY);
mBatteryUsageBreakdownController.setPreferenceSummary(
- pref, createBatteryDiffEntry(
- /*isSystem=*/ true,
- /*screenOnTimeInMs=*/ 0,
- /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS - 1,
- /*backgroundUsageTimeInMs=*/ 0));
+ pref,
+ createBatteryDiffEntry(
+ /* isSystem= */ true,
+ /* screenOnTimeInMs= */ 0,
+ /* foregroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS - 1,
+ /* backgroundUsageTimeInMs= */ 0));
assertThat(pref.getSummary().toString()).isEqualTo("Total: less than a min");
}
@@ -327,11 +339,12 @@
pref.setSummary(PREF_SUMMARY);
mBatteryUsageBreakdownController.setPreferenceSummary(
- pref, createBatteryDiffEntry(
- /*isSystem=*/ true,
- /*screenOnTimeInMs=*/ 0,
- /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS * 2,
- /*backgroundUsageTimeInMs=*/ 0));
+ pref,
+ createBatteryDiffEntry(
+ /* isSystem= */ true,
+ /* screenOnTimeInMs= */ 0,
+ /* foregroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS * 2,
+ /* backgroundUsageTimeInMs= */ 0));
assertThat(pref.getSummary().toString()).isEqualTo("Total: 2 min");
}
@@ -341,11 +354,12 @@
pref.setSummary(PREF_SUMMARY);
mBatteryUsageBreakdownController.setPreferenceSummary(
- pref, createBatteryDiffEntry(
- /*isSystem=*/ false,
- /*screenOnTimeInMs=*/ 0,
- /*foregroundUsageTimeInMs=*/ 0,
- /*backgroundUsageTimeInMs=*/ 0));
+ pref,
+ createBatteryDiffEntry(
+ /* isSystem= */ false,
+ /* screenOnTimeInMs= */ 0,
+ /* foregroundUsageTimeInMs= */ 0,
+ /* backgroundUsageTimeInMs= */ 0));
assertThat(pref.getSummary().toString().isEmpty()).isTrue();
}
@@ -355,11 +369,12 @@
pref.setSummary(PREF_SUMMARY);
mBatteryUsageBreakdownController.setPreferenceSummary(
- pref, createBatteryDiffEntry(
- /*isSystem=*/ false,
- /*screenOnTimeInMs=*/ 0,
- /*foregroundUsageTimeInMs=*/ 0,
- /*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS));
+ pref,
+ createBatteryDiffEntry(
+ /* isSystem= */ false,
+ /* screenOnTimeInMs= */ 0,
+ /* foregroundUsageTimeInMs= */ 0,
+ /* backgroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS));
assertThat(pref.getSummary().toString()).isEqualTo("Background: 1 min");
}
@@ -369,11 +384,12 @@
pref.setSummary(PREF_SUMMARY);
mBatteryUsageBreakdownController.setPreferenceSummary(
- pref, createBatteryDiffEntry(
- /*isSystem=*/ false,
- /*screenOnTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS,
- /*foregroundUsageTimeInMs=*/ 0,
- /*backgroundUsageTimeInMs=*/ 0));
+ pref,
+ createBatteryDiffEntry(
+ /* isSystem= */ false,
+ /* screenOnTimeInMs= */ DateUtils.MINUTE_IN_MILLIS,
+ /* foregroundUsageTimeInMs= */ 0,
+ /* backgroundUsageTimeInMs= */ 0));
assertThat(pref.getSummary().toString()).isEqualTo("Screen time: 1 min");
}
@@ -383,21 +399,28 @@
pref.setSummary(PREF_SUMMARY);
mBatteryUsageBreakdownController.setPreferenceSummary(
- pref, createBatteryDiffEntry(
- /*isSystem=*/ false,
- /*screenOnTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS - 1,
- /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS - 1,
- /*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS - 1));
- assertThat(pref.getSummary().toString()).isEqualTo(
- "Screen time: less than a min\nBackground: less than a min");
+ pref,
+ createBatteryDiffEntry(
+ /* isSystem= */ false,
+ /* screenOnTimeInMs= */ DateUtils.MINUTE_IN_MILLIS - 1,
+ /* foregroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS - 1,
+ /* backgroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS - 1));
+ assertThat(pref.getSummary().toString())
+ .isEqualTo("Screen time: less than a min\nBackground: less than a min");
}
- private BatteryDiffEntry createBatteryDiffEntry(boolean isSystem, long screenOnTimeInMs,
- long foregroundUsageTimeInMs, long backgroundUsageTimeInMs) {
+ private BatteryDiffEntry createBatteryDiffEntry(
+ boolean isSystem,
+ long screenOnTimeInMs,
+ long foregroundUsageTimeInMs,
+ long backgroundUsageTimeInMs) {
final ContentValues contentValues = new ContentValues();
- contentValues.put(BatteryHistEntry.KEY_CONSUMER_TYPE, Integer.valueOf(
- isSystem ? ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY
- : ConvertUtils.CONSUMER_TYPE_UID_BATTERY));
+ contentValues.put(
+ BatteryHistEntry.KEY_CONSUMER_TYPE,
+ Integer.valueOf(
+ isSystem
+ ? ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY
+ : ConvertUtils.CONSUMER_TYPE_UID_BATTERY));
contentValues.put(BatteryHistEntry.KEY_USER_ID, Integer.valueOf(1001));
final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(contentValues);
return new BatteryDiffEntry(
@@ -413,17 +436,17 @@
foregroundUsageTimeInMs,
backgroundUsageTimeInMs,
screenOnTimeInMs,
- /*consumePower=*/ 0,
- /*foregroundUsageConsumePower=*/ 0,
- /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0,
- /*cachedUsageConsumePower=*/ 0);
+ /* consumePower= */ 0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0);
}
private BatteryUsageBreakdownController createController() {
final BatteryUsageBreakdownController controller =
new BatteryUsageBreakdownController(
- mContext, /*lifecycle=*/ null, mSettingsActivity, mFragment);
+ mContext, /* lifecycle= */ null, mSettingsActivity, mFragment);
controller.mPrefContext = mContext;
return controller;
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiverTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiverTest.java
index c4cb89e..af0cb91 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiverTest.java
@@ -48,8 +48,7 @@
private BatteryUsageBroadcastReceiver mBatteryUsageBroadcastReceiver;
private FakeFeatureFactory mFakeFeatureFactory;
- @Mock
- private PackageManager mPackageManager;
+ @Mock private PackageManager mPackageManager;
@Before
public void setUp() {
@@ -72,8 +71,8 @@
public void onReceive_workProfile_doNothing() {
BatteryTestUtils.setWorkProfile(mContext);
- mBatteryUsageBroadcastReceiver.onReceive(mContext,
- new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
+ mBatteryUsageBroadcastReceiver.onReceive(
+ mContext, new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isFalse();
}
@@ -84,11 +83,12 @@
.thenReturn(Intent.ACTION_BATTERY_LEVEL_CHANGED);
when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
.thenReturn(true);
- doReturn(getBatteryIntent(/*level=*/ 20, BatteryManager.BATTERY_STATUS_UNKNOWN))
- .when(mContext).registerReceiver(any(), any());
+ doReturn(getBatteryIntent(/* level= */ 20, BatteryManager.BATTERY_STATUS_UNKNOWN))
+ .when(mContext)
+ .registerReceiver(any(), any());
- mBatteryUsageBroadcastReceiver.onReceive(mContext,
- new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
+ mBatteryUsageBroadcastReceiver.onReceive(
+ mContext, new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isFalse();
assertSharedPreferences(Intent.ACTION_BATTERY_LEVEL_CHANGED);
@@ -101,14 +101,15 @@
when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
.thenReturn(true);
// Make sure isCharged returns true.
- doReturn(getBatteryIntent(/*level=*/ 100, BatteryManager.BATTERY_STATUS_FULL))
- .when(mContext).registerReceiver(any(), any());
+ doReturn(getBatteryIntent(/* level= */ 100, BatteryManager.BATTERY_STATUS_FULL))
+ .when(mContext)
+ .registerReceiver(any(), any());
// Make sure broadcast will be sent with delay.
BatteryUsageBroadcastReceiver.sBroadcastDelayFromBoot =
SystemClock.elapsedRealtime() + 5 * DateUtils.MINUTE_IN_MILLIS;
- mBatteryUsageBroadcastReceiver.onReceive(mContext,
- new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
+ mBatteryUsageBroadcastReceiver.onReceive(
+ mContext, new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isFalse();
assertSharedPreferences(Intent.ACTION_BATTERY_LEVEL_CHANGED);
@@ -121,13 +122,14 @@
when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
.thenReturn(true);
// Make sure isCharged returns true.
- doReturn(getBatteryIntent(/*level=*/ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
- .when(mContext).registerReceiver(any(), any());
+ doReturn(getBatteryIntent(/* level= */ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
+ .when(mContext)
+ .registerReceiver(any(), any());
BatteryUsageBroadcastReceiver.sBroadcastDelayFromBoot =
SystemClock.elapsedRealtime() - 5 * DateUtils.MINUTE_IN_MILLIS;
- mBatteryUsageBroadcastReceiver.onReceive(mContext,
- new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
+ mBatteryUsageBroadcastReceiver.onReceive(
+ mContext, new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isFalse();
assertSharedPreferences(Intent.ACTION_BATTERY_LEVEL_CHANGED);
@@ -140,13 +142,14 @@
when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
.thenReturn(true);
// Make sure isCharged returns true.
- doReturn(getBatteryIntent(/*level=*/ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
- .when(mContext).registerReceiver(any(), any());
+ doReturn(getBatteryIntent(/* level= */ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
+ .when(mContext)
+ .registerReceiver(any(), any());
BatteryUsageBroadcastReceiver.sBroadcastDelayFromBoot =
SystemClock.elapsedRealtime() - 5 * DateUtils.MINUTE_IN_MILLIS;
- mBatteryUsageBroadcastReceiver.onReceive(mContext,
- new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
+ mBatteryUsageBroadcastReceiver.onReceive(
+ mContext, new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isTrue();
assertSharedPreferences(Intent.ACTION_BATTERY_LEVEL_CHANGED);
@@ -158,11 +161,12 @@
.thenReturn(Intent.ACTION_POWER_DISCONNECTED);
when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
.thenReturn(false);
- doReturn(getBatteryIntent(/*level=*/ 20, BatteryManager.BATTERY_STATUS_UNKNOWN))
- .when(mContext).registerReceiver(any(), any());
+ doReturn(getBatteryIntent(/* level= */ 20, BatteryManager.BATTERY_STATUS_UNKNOWN))
+ .when(mContext)
+ .registerReceiver(any(), any());
- mBatteryUsageBroadcastReceiver.onReceive(mContext,
- new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
+ mBatteryUsageBroadcastReceiver.onReceive(
+ mContext, new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isFalse();
assertSharedPreferences(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING);
@@ -175,14 +179,15 @@
when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
.thenReturn(false);
// Make sure isCharged returns true.
- doReturn(getBatteryIntent(/*level=*/ 100, BatteryManager.BATTERY_STATUS_FULL))
- .when(mContext).registerReceiver(any(), any());
+ doReturn(getBatteryIntent(/* level= */ 100, BatteryManager.BATTERY_STATUS_FULL))
+ .when(mContext)
+ .registerReceiver(any(), any());
// Make sure broadcast will be sent with delay.
BatteryUsageBroadcastReceiver.sBroadcastDelayFromBoot =
SystemClock.elapsedRealtime() + 5 * DateUtils.MINUTE_IN_MILLIS;
- mBatteryUsageBroadcastReceiver.onReceive(mContext,
- new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
+ mBatteryUsageBroadcastReceiver.onReceive(
+ mContext, new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isTrue();
assertSharedPreferences(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING);
@@ -195,13 +200,14 @@
when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
.thenReturn(false);
// Make sure isCharged returns true.
- doReturn(getBatteryIntent(/*level=*/ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
- .when(mContext).registerReceiver(any(), any());
+ doReturn(getBatteryIntent(/* level= */ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
+ .when(mContext)
+ .registerReceiver(any(), any());
BatteryUsageBroadcastReceiver.sBroadcastDelayFromBoot =
SystemClock.elapsedRealtime() - 5 * DateUtils.MINUTE_IN_MILLIS;
- mBatteryUsageBroadcastReceiver.onReceive(mContext,
- new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
+ mBatteryUsageBroadcastReceiver.onReceive(
+ mContext, new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isFalse();
assertSharedPreferences(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING);
@@ -214,13 +220,14 @@
when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
.thenReturn(false);
// Make sure isCharged returns true.
- doReturn(getBatteryIntent(/*level=*/ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
- .when(mContext).registerReceiver(any(), any());
+ doReturn(getBatteryIntent(/* level= */ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
+ .when(mContext)
+ .registerReceiver(any(), any());
BatteryUsageBroadcastReceiver.sBroadcastDelayFromBoot =
SystemClock.elapsedRealtime() - 5 * DateUtils.MINUTE_IN_MILLIS;
- mBatteryUsageBroadcastReceiver.onReceive(mContext,
- new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
+ mBatteryUsageBroadcastReceiver.onReceive(
+ mContext, new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isTrue();
assertSharedPreferences(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING);
@@ -234,12 +241,12 @@
/*packageName*/ "com.android.testing_package", Boolean.valueOf(true));
assertThat(BatteryDiffEntry.sValidForRestriction).isNotEmpty();
- mBatteryUsageBroadcastReceiver.onReceive(mContext,
+ mBatteryUsageBroadcastReceiver.onReceive(
+ mContext,
new Intent(BatteryUsageBroadcastReceiver.ACTION_CLEAR_BATTERY_CACHE_DATA));
assertThat(BatteryDiffEntry.sValidForRestriction).isEmpty();
- assertSharedPreferences(
- BatteryUsageBroadcastReceiver.ACTION_CLEAR_BATTERY_CACHE_DATA);
+ assertSharedPreferences(BatteryUsageBroadcastReceiver.ACTION_CLEAR_BATTERY_CACHE_DATA);
}
@Test
@@ -250,12 +257,12 @@
/*packageName*/ "com.android.testing_package", Boolean.valueOf(true));
assertThat(BatteryDiffEntry.sValidForRestriction).isNotEmpty();
- mBatteryUsageBroadcastReceiver.onReceive(mContext,
+ mBatteryUsageBroadcastReceiver.onReceive(
+ mContext,
new Intent(BatteryUsageBroadcastReceiver.ACTION_CLEAR_BATTERY_CACHE_DATA));
assertThat(BatteryDiffEntry.sValidForRestriction).isNotEmpty();
- assertSharedPreferences(
- BatteryUsageBroadcastReceiver.ACTION_CLEAR_BATTERY_CACHE_DATA);
+ assertSharedPreferences(BatteryUsageBroadcastReceiver.ACTION_CLEAR_BATTERY_CACHE_DATA);
}
private static Intent getBatteryIntent(int level, int status) {
@@ -267,7 +274,6 @@
}
private void assertSharedPreferences(String preferenceKey) {
- assertThat(DatabaseUtils.getSharedPreferences(mContext).contains(preferenceKey))
- .isTrue();
+ assertThat(DatabaseUtils.getSharedPreferences(mContext).contains(preferenceKey)).isTrue();
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProviderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProviderTest.java
index 999a921..95b950f 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProviderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProviderTest.java
@@ -66,7 +66,7 @@
public void setUp() {
mContext = ApplicationProvider.getApplicationContext();
mProvider = new BatteryUsageContentProvider();
- mProvider.attachInfo(mContext, /*info=*/ null);
+ mProvider.attachInfo(mContext, /* info= */ null);
BatteryTestUtils.setUpBatteryStateDatabase(mContext);
}
@@ -95,11 +95,14 @@
IllegalArgumentException.class,
() ->
mProvider.query(
- uri, /*strings=*/ null, /*s=*/ null, /*strings1=*/ null,
- /*s1=*/ null));
+ uri,
+ /* strings= */ null,
+ /* s= */ null,
+ /* strings1= */ null,
+ /* s1= */ null));
assertThrows(
IllegalArgumentException.class,
- () -> mProvider.insert(uri, /*contentValues=*/ null));
+ () -> mProvider.insert(uri, /* contentValues= */ null));
}
@Test
@@ -116,11 +119,14 @@
IllegalArgumentException.class,
() ->
mProvider.query(
- uri, /*strings=*/ null, /*s=*/ null, /*strings1=*/ null,
- /*s1=*/ null));
+ uri,
+ /* strings= */ null,
+ /* s= */ null,
+ /* strings1= */ null,
+ /* s1= */ null));
assertThrows(
IllegalArgumentException.class,
- () -> mProvider.insert(uri, /*contentValues=*/ null));
+ () -> mProvider.insert(uri, /* contentValues= */ null));
}
@Test
@@ -128,7 +134,8 @@
mProvider.onCreate();
ContentValues values = new ContentValues();
values.put(BatteryEventEntity.KEY_TIMESTAMP, 10001L);
- values.put(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE,
+ values.put(
+ BatteryEventEntity.KEY_BATTERY_EVENT_TYPE,
BatteryEventType.FULL_CHARGED.getNumber());
values.put(BatteryEventEntity.KEY_BATTERY_LEVEL, 100);
mProvider.insert(DatabaseUtils.BATTERY_EVENT_URI, values);
@@ -263,15 +270,13 @@
public void insert_batteryState_returnsExpectedResult() {
mProvider.onCreate();
final DeviceBatteryState deviceBatteryState =
- DeviceBatteryState
- .newBuilder()
+ DeviceBatteryState.newBuilder()
.setBatteryLevel(51)
.setBatteryStatus(2)
.setBatteryHealth(3)
.build();
final BatteryInformation batteryInformation =
- BatteryInformation
- .newBuilder()
+ BatteryInformation.newBuilder()
.setDeviceBatteryState(deviceBatteryState)
.setAppLabel("Settings")
.setIsHidden(true)
@@ -318,17 +323,13 @@
public void insert_partialFieldsContentValues_returnsExpectedResult() {
mProvider.onCreate();
final DeviceBatteryState deviceBatteryState =
- DeviceBatteryState
- .newBuilder()
+ DeviceBatteryState.newBuilder()
.setBatteryLevel(52)
.setBatteryStatus(3)
.setBatteryHealth(2)
.build();
final BatteryInformation batteryInformation =
- BatteryInformation
- .newBuilder()
- .setDeviceBatteryState(deviceBatteryState)
- .build();
+ BatteryInformation.newBuilder().setDeviceBatteryState(deviceBatteryState).build();
final String expectedBatteryInformationString =
ConvertUtils.convertBatteryInformationToString(batteryInformation);
final ContentValues values = new ContentValues();
@@ -381,7 +382,8 @@
mProvider.onCreate();
ContentValues values = new ContentValues();
values.put(BatteryEventEntity.KEY_TIMESTAMP, 10001L);
- values.put(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE,
+ values.put(
+ BatteryEventEntity.KEY_BATTERY_EVENT_TYPE,
BatteryEventType.POWER_CONNECTED.getNumber());
values.put(BatteryEventEntity.KEY_BATTERY_LEVEL, 66);
@@ -393,24 +395,26 @@
BatteryStateDatabase.getInstance(mContext).batteryEventDao().getAll();
assertThat(entities).hasSize(1);
assertThat(entities.get(0).timestamp).isEqualTo(10001L);
- assertThat(entities.get(0).batteryEventType).isEqualTo(
- BatteryEventType.POWER_CONNECTED.getNumber());
+ assertThat(entities.get(0).batteryEventType)
+ .isEqualTo(BatteryEventType.POWER_CONNECTED.getNumber());
assertThat(entities.get(0).batteryLevel).isEqualTo(66);
- final Cursor cursor1 = getCursorOfBatteryEvents(
- 0L, List.of(BatteryEventType.POWER_CONNECTED.getNumber()));
+ final Cursor cursor1 =
+ getCursorOfBatteryEvents(0L, List.of(BatteryEventType.POWER_CONNECTED.getNumber()));
assertThat(cursor1.getCount()).isEqualTo(1);
cursor1.moveToFirst();
assertThat(cursor1.getLong(cursor1.getColumnIndex(BatteryEventEntity.KEY_TIMESTAMP)))
.isEqualTo(10001L);
assertThat(
- cursor1.getInt(cursor1.getColumnIndex(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE)))
+ cursor1.getInt(
+ cursor1.getColumnIndex(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE)))
.isEqualTo(BatteryEventType.POWER_CONNECTED.getNumber());
assertThat(cursor1.getInt(cursor1.getColumnIndex(BatteryEventEntity.KEY_BATTERY_LEVEL)))
.isEqualTo(66);
- final Cursor cursor2 = getCursorOfBatteryEvents(
- 0L, List.of(BatteryEventType.POWER_DISCONNECTED.getNumber()));
+ final Cursor cursor2 =
+ getCursorOfBatteryEvents(
+ 0L, List.of(BatteryEventType.POWER_DISCONNECTED.getNumber()));
assertThat(cursor2.getCount()).isEqualTo(0);
}
@@ -435,8 +439,11 @@
cursor1.moveToFirst();
assertThat(cursor1.getLong(cursor1.getColumnIndex(BatteryUsageSlotEntity.KEY_TIMESTAMP)))
.isEqualTo(10001L);
- assertThat(cursor1.getString(cursor1.getColumnIndex(
- BatteryUsageSlotEntity.KEY_BATTERY_USAGE_SLOT))).isEqualTo("TEST_STRING");
+ assertThat(
+ cursor1.getString(
+ cursor1.getColumnIndex(
+ BatteryUsageSlotEntity.KEY_BATTERY_USAGE_SLOT)))
+ .isEqualTo("TEST_STRING");
final Cursor cursor2 = getCursorOfBatteryUsageSlots(10002L);
assertThat(cursor2.getCount()).isEqualTo(0);
@@ -446,7 +453,7 @@
public void delete_throwsUnsupportedOperationException() {
assertThrows(
UnsupportedOperationException.class,
- () -> mProvider.delete(/*uri=*/ null, /*s=*/ null, /*strings=*/ null));
+ () -> mProvider.delete(/* uri= */ null, /* s= */ null, /* strings= */ null));
}
@Test
@@ -455,13 +462,13 @@
UnsupportedOperationException.class,
() ->
mProvider.update(
- /*uri=*/ null, /*contentValues=*/ null, /*s=*/ null,
- /*strings=*/ null));
+ /* uri= */ null,
+ /* contentValues= */ null,
+ /* s= */ null,
+ /* strings= */ null));
}
- private Cursor insertBatteryState(
- Duration currentTime,
- String queryTimestamp)
+ private Cursor insertBatteryState(Duration currentTime, String queryTimestamp)
throws Exception {
mProvider.onCreate();
final FakeClock fakeClock = new FakeClock();
@@ -470,20 +477,17 @@
final long currentTimestamp = currentTime.toMillis();
// Inserts some valid testing data.
BatteryTestUtils.insertDataToBatteryStateTable(
- mContext, currentTimestamp - 6, PACKAGE_NAME1,
- /*isFullChargeStart=*/ true);
+ mContext, currentTimestamp - 6, PACKAGE_NAME1, /* isFullChargeStart= */ true);
BatteryTestUtils.insertDataToBatteryStateTable(
mContext, currentTimestamp - 2, PACKAGE_NAME2);
- BatteryTestUtils.insertDataToBatteryStateTable(
- mContext, currentTimestamp, PACKAGE_NAME3);
+ BatteryTestUtils.insertDataToBatteryStateTable(mContext, currentTimestamp, PACKAGE_NAME3);
final Uri batteryStateQueryContentUri =
new Uri.Builder()
.scheme(ContentResolver.SCHEME_CONTENT)
.authority(DatabaseUtils.AUTHORITY)
.appendPath(DatabaseUtils.BATTERY_STATE_TABLE)
- .appendQueryParameter(
- DatabaseUtils.QUERY_KEY_TIMESTAMP, queryTimestamp)
+ .appendQueryParameter(DatabaseUtils.QUERY_KEY_TIMESTAMP, queryTimestamp)
.build();
final Cursor cursor = query(batteryStateQueryContentUri);
@@ -532,17 +536,17 @@
.scheme(ContentResolver.SCHEME_CONTENT)
.authority(DatabaseUtils.AUTHORITY)
.appendPath(DatabaseUtils.APP_USAGE_LATEST_TIMESTAMP_PATH)
- .appendQueryParameter(
- DatabaseUtils.QUERY_KEY_USERID, Long.toString(userId))
+ .appendQueryParameter(DatabaseUtils.QUERY_KEY_USERID, Long.toString(userId))
.build();
return query(appUsageLatestTimestampQueryContentUri);
}
private Cursor getCursorOfAppUsage(final List<Long> userIds, final long queryTimestamp) {
- final String queryUserIdString = userIds.stream()
- .map(userId -> String.valueOf(userId))
- .collect(Collectors.joining(","));
+ final String queryUserIdString =
+ userIds.stream()
+ .map(userId -> String.valueOf(userId))
+ .collect(Collectors.joining(","));
final Uri appUsageEventUri =
new Uri.Builder()
.scheme(ContentResolver.SCHEME_CONTENT)
@@ -558,9 +562,10 @@
private Cursor getCursorOfBatteryEvents(
final long queryTimestamp, final List<Integer> batteryEventTypes) {
- final String batteryEventTypesString = batteryEventTypes.stream()
- .map(type -> String.valueOf(type))
- .collect(Collectors.joining(","));
+ final String batteryEventTypesString =
+ batteryEventTypes.stream()
+ .map(type -> String.valueOf(type))
+ .collect(Collectors.joining(","));
final Uri batteryEventUri =
new Uri.Builder()
.scheme(ContentResolver.SCHEME_CONTENT)
@@ -590,6 +595,6 @@
private Cursor query(Uri uri) {
return mProvider.query(
- uri, /*strings=*/ null, /*s=*/ null, /*strings1=*/ null, /*s1=*/ null);
+ uri, /* strings= */ null, /* s= */ null, /* strings1= */ null, /* s1= */ null);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoaderTest.java
index f3965fd..723a138 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoaderTest.java
@@ -52,28 +52,22 @@
public final class BatteryUsageDataLoaderTest {
private Context mContext;
- @Mock
- private ContentResolver mMockContentResolver;
- @Mock
- private BatteryStatsManager mBatteryStatsManager;
- @Mock
- private PackageManager mPackageManager;
- @Mock
- private UserManager mUserManager;
- @Mock
- private BatteryUsageStats mBatteryUsageStats;
- @Mock
- private BatteryEntry mMockBatteryEntry;
- @Captor
- private ArgumentCaptor<BatteryUsageStatsQuery> mStatsQueryCaptor;
+ @Mock private ContentResolver mMockContentResolver;
+ @Mock private BatteryStatsManager mBatteryStatsManager;
+ @Mock private PackageManager mPackageManager;
+ @Mock private UserManager mUserManager;
+ @Mock private BatteryUsageStats mBatteryUsageStats;
+ @Mock private BatteryEntry mMockBatteryEntry;
+ @Captor private ArgumentCaptor<BatteryUsageStatsQuery> mStatsQueryCaptor;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
doReturn(mContext).when(mContext).getApplicationContext();
- doReturn(mBatteryStatsManager).when(mContext).getSystemService(
- Context.BATTERY_STATS_SERVICE);
+ doReturn(mBatteryStatsManager)
+ .when(mContext)
+ .getSystemService(Context.BATTERY_STATS_SERVICE);
doReturn(mPackageManager).when(mContext).getPackageManager();
doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
doReturn(mMockContentResolver).when(mContext).getContentResolver();
@@ -88,11 +82,10 @@
.thenReturn(mBatteryUsageStats);
BatteryUsageDataLoader.sFakeBatteryEntryListSupplier = () -> batteryEntryList;
- BatteryUsageDataLoader.loadBatteryStatsData(mContext, /*isFullChargeStart=*/ false);
+ BatteryUsageDataLoader.loadBatteryStatsData(mContext, /* isFullChargeStart= */ false);
final int queryFlags = mStatsQueryCaptor.getValue().getFlags();
- assertThat(queryFlags
- & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY)
+ assertThat(queryFlags & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY)
.isNotEqualTo(0);
verify(mMockContentResolver).insert(any(), any());
}
@@ -103,7 +96,7 @@
.thenReturn(mBatteryUsageStats);
BatteryUsageDataLoader.sFakeBatteryEntryListSupplier = () -> null;
- BatteryUsageDataLoader.loadBatteryStatsData(mContext, /*isFullChargeStart=*/ false);
+ BatteryUsageDataLoader.loadBatteryStatsData(mContext, /* isFullChargeStart= */ false);
verify(mMockContentResolver).insert(any(), any());
}
@@ -114,7 +107,7 @@
.thenReturn(mBatteryUsageStats);
BatteryUsageDataLoader.sFakeBatteryEntryListSupplier = () -> new ArrayList<>();
- BatteryUsageDataLoader.loadBatteryStatsData(mContext, /*isFullChargeStart=*/ false);
+ BatteryUsageDataLoader.loadBatteryStatsData(mContext, /* isFullChargeStart= */ false);
verify(mMockContentResolver).insert(any(), any());
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoaderTest.java
index 1d0bca4..2932209 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoaderTest.java
@@ -39,25 +39,23 @@
@RunWith(RobolectricTestRunner.class)
public class BatteryUsageStatsLoaderTest {
private Context mContext;
- @Mock
- private BatteryStatsManager mBatteryStatsManager;
- @Mock
- private BatteryUsageStats mBatteryUsageStats;
- @Captor
- private ArgumentCaptor<BatteryUsageStatsQuery> mUsageStatsQueryCaptor;
+ @Mock private BatteryStatsManager mBatteryStatsManager;
+ @Mock private BatteryUsageStats mBatteryUsageStats;
+ @Captor private ArgumentCaptor<BatteryUsageStatsQuery> mUsageStatsQueryCaptor;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
- doReturn(mBatteryStatsManager).when(mContext).getSystemService(
- Context.BATTERY_STATS_SERVICE);
+ doReturn(mBatteryStatsManager)
+ .when(mContext)
+ .getSystemService(Context.BATTERY_STATS_SERVICE);
}
@Test
public void testLoadInBackground_loadWithoutHistory() {
- BatteryUsageStatsLoader loader = new BatteryUsageStatsLoader(
- mContext, /* includeBatteryHistory */ false);
+ BatteryUsageStatsLoader loader =
+ new BatteryUsageStatsLoader(mContext, /* includeBatteryHistory */ false);
when(mBatteryStatsManager.getBatteryUsageStats(mUsageStatsQueryCaptor.capture()))
.thenReturn(mBatteryUsageStats);
@@ -65,14 +63,14 @@
loader.loadInBackground();
final int queryFlags = mUsageStatsQueryCaptor.getValue().getFlags();
- assertThat(queryFlags
- & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY).isEqualTo(0);
+ assertThat(queryFlags & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY)
+ .isEqualTo(0);
}
@Test
public void testLoadInBackground_loadWithHistory() {
- BatteryUsageStatsLoader loader = new BatteryUsageStatsLoader(
- mContext, /* includeBatteryHistory */ true);
+ BatteryUsageStatsLoader loader =
+ new BatteryUsageStatsLoader(mContext, /* includeBatteryHistory */ true);
when(mBatteryStatsManager.getBatteryUsageStats(mUsageStatsQueryCaptor.capture()))
.thenReturn(mBatteryUsageStats);
@@ -80,7 +78,7 @@
loader.loadInBackground();
final int queryFlags = mUsageStatsQueryCaptor.getValue().getFlags();
- assertThat(queryFlags
- & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY).isNotEqualTo(0);
+ assertThat(queryFlags & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY)
+ .isNotEqualTo(0);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java
index 566df52..118c3ed 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java
@@ -88,7 +88,8 @@
final SharedPreferences sharedPreferences = DatabaseUtils.getSharedPreferences(mContext);
sharedPreferences
.edit()
- .putInt(DatabaseUtils.KEY_LAST_USAGE_SOURCE,
+ .putInt(
+ DatabaseUtils.KEY_LAST_USAGE_SOURCE,
UsageStatsManager.USAGE_SOURCE_CURRENT_ACTIVITY)
.apply();
@@ -96,9 +97,8 @@
assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNotNull();
assertThat(
- DatabaseUtils
- .getSharedPreferences(mContext)
- .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
+ DatabaseUtils.getSharedPreferences(mContext)
+ .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
.isFalse();
}
@@ -124,7 +124,7 @@
@Test
public void onReceive_nullIntent_notRefreshesJob() {
- mReceiver.onReceive(mContext, /*intent=*/ null);
+ mReceiver.onReceive(mContext, /* intent= */ null);
assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNull();
}
@@ -142,11 +142,10 @@
public void invokeJobRecheck_broadcastsIntent() {
BootBroadcastReceiver.invokeJobRecheck(mContext);
- final List<Intent> intents =
- Shadows.shadowOf((Application) mContext).getBroadcastIntents();
+ final List<Intent> intents = Shadows.shadowOf((Application) mContext).getBroadcastIntents();
assertThat(intents).hasSize(1);
- assertThat(intents.get(0).getAction()).isEqualTo(
- BootBroadcastReceiver.ACTION_PERIODIC_JOB_RECHECK);
+ assertThat(intents.get(0).getAction())
+ .isEqualTo(BootBroadcastReceiver.ACTION_PERIODIC_JOB_RECHECK);
}
private void clearSharedPreferences() {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
index c648cde..672bc54 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
@@ -61,14 +61,10 @@
private Context mContext;
- @Mock
- private PackageManager mMockPackageManager;
- @Mock
- private BatteryUsageStats mBatteryUsageStats;
- @Mock
- private BatteryEntry mMockBatteryEntry;
- @Mock
- private IUsageStatsManager mUsageStatsManager;
+ @Mock private PackageManager mMockPackageManager;
+ @Mock private BatteryUsageStats mBatteryUsageStats;
+ @Mock private BatteryEntry mMockBatteryEntry;
+ @Mock private IUsageStatsManager mUsageStatsManager;
@Before
public void setUp() {
@@ -104,12 +100,12 @@
ConvertUtils.convertBatteryEntryToContentValues(
mMockBatteryEntry,
mBatteryUsageStats,
- /*batteryLevel=*/ 12,
- /*batteryStatus=*/ BatteryManager.BATTERY_STATUS_FULL,
- /*batteryHealth=*/ BatteryManager.BATTERY_HEALTH_COLD,
- /*bootTimestamp=*/ 101L,
- /*timestamp=*/ 10001L,
- /*isFullChargeStart=*/ true);
+ /* batteryLevel= */ 12,
+ /* batteryStatus= */ BatteryManager.BATTERY_STATUS_FULL,
+ /* batteryHealth= */ BatteryManager.BATTERY_HEALTH_COLD,
+ /* bootTimestamp= */ 101L,
+ /* timestamp= */ 10001L,
+ /* isFullChargeStart= */ true);
final BatteryInformation batteryInformation =
ConvertUtils.getBatteryInformation(
values, BatteryHistEntry.KEY_BATTERY_INFORMATION);
@@ -150,8 +146,8 @@
when(mMockBatteryEntry.getUid()).thenReturn(-1);
when(mMockBatteryEntry.getLabel()).thenReturn("CPU");
when(mMockBatteryEntry.getDefaultPackageName()).thenReturn(null);
- when(mMockBatteryEntry.getPowerComponentId()).thenReturn(
- BatteryConsumer.POWER_COMPONENT_CPU);
+ when(mMockBatteryEntry.getPowerComponentId())
+ .thenReturn(BatteryConsumer.POWER_COMPONENT_CPU);
when(mBatteryUsageStats.getConsumedPower()).thenReturn(5.1);
when(mMockBatteryEntry.getConsumedPower()).thenReturn(1.1);
when(mMockBatteryEntry.getConsumedPowerInForeground()).thenReturn(1.2);
@@ -168,12 +164,12 @@
ConvertUtils.convertBatteryEntryToContentValues(
mMockBatteryEntry,
mBatteryUsageStats,
- /*batteryLevel=*/ 12,
- /*batteryStatus=*/ BatteryManager.BATTERY_STATUS_FULL,
- /*batteryHealth=*/ BatteryManager.BATTERY_HEALTH_COLD,
- /*bootTimestamp=*/ 101L,
- /*timestamp=*/ 10001L,
- /*isFullChargeStart=*/ true);
+ /* batteryLevel= */ 12,
+ /* batteryStatus= */ BatteryManager.BATTERY_STATUS_FULL,
+ /* batteryHealth= */ BatteryManager.BATTERY_HEALTH_COLD,
+ /* bootTimestamp= */ 101L,
+ /* timestamp= */ 10001L,
+ /* isFullChargeStart= */ true);
final BatteryInformation batteryInformation =
ConvertUtils.getBatteryInformation(
values, BatteryHistEntry.KEY_BATTERY_INFORMATION);
@@ -200,8 +196,8 @@
assertThat(batteryInformation.getPercentOfTotal()).isEqualTo(0.3);
assertThat(batteryInformation.getForegroundUsageTimeInMs()).isEqualTo(1234L);
assertThat(batteryInformation.getBackgroundUsageTimeInMs()).isEqualTo(5689L);
- assertThat(batteryInformation.getDrainType()).isEqualTo(
- BatteryConsumer.POWER_COMPONENT_CPU);
+ assertThat(batteryInformation.getDrainType())
+ .isEqualTo(BatteryConsumer.POWER_COMPONENT_CPU);
assertThat(deviceBatteryState.getBatteryLevel()).isEqualTo(12);
assertThat(deviceBatteryState.getBatteryStatus())
.isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
@@ -213,14 +209,14 @@
public void convertBatteryEntryToContentValues_nullBatteryEntry_returnsExpectedContentValues() {
final ContentValues values =
ConvertUtils.convertBatteryEntryToContentValues(
- /*entry=*/ null,
- /*batteryUsageStats=*/ null,
- /*batteryLevel=*/ 12,
- /*batteryStatus=*/ BatteryManager.BATTERY_STATUS_FULL,
- /*batteryHealth=*/ BatteryManager.BATTERY_HEALTH_COLD,
- /*bootTimestamp=*/ 101L,
- /*timestamp=*/ 10001L,
- /*isFullChargeStart=*/ false);
+ /* entry= */ null,
+ /* batteryUsageStats= */ null,
+ /* batteryLevel= */ 12,
+ /* batteryStatus= */ BatteryManager.BATTERY_STATUS_FULL,
+ /* batteryHealth= */ BatteryManager.BATTERY_HEALTH_COLD,
+ /* bootTimestamp= */ 101L,
+ /* timestamp= */ 10001L,
+ /* isFullChargeStart= */ false);
final BatteryInformation batteryInformation =
ConvertUtils.getBatteryInformation(
@@ -234,8 +230,7 @@
.isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
assertThat(deviceBatteryState.getBatteryHealth())
.isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
- assertThat(values.getAsLong(BatteryHistEntry.KEY_TIMESTAMP))
- .isEqualTo(10001L);
+ assertThat(values.getAsLong(BatteryHistEntry.KEY_TIMESTAMP)).isEqualTo(10001L);
assertThat(values.getAsString(BatteryHistEntry.KEY_PACKAGE_NAME))
.isEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
}
@@ -273,11 +268,10 @@
.setType(BatteryEventType.POWER_CONNECTED)
.setBatteryLevel(66)
.build();
- final ContentValues values =
- ConvertUtils.convertBatteryEventToContentValues(batteryEvent);
+ final ContentValues values = ConvertUtils.convertBatteryEventToContentValues(batteryEvent);
assertThat(values.getAsLong(BatteryEventEntity.KEY_TIMESTAMP)).isEqualTo(10001L);
- assertThat(values.getAsInteger(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE)).isEqualTo(
- BatteryEventType.POWER_CONNECTED.getNumber());
+ assertThat(values.getAsInteger(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE))
+ .isEqualTo(BatteryEventType.POWER_CONNECTED.getNumber());
assertThat(values.getAsInteger(BatteryEventEntity.KEY_BATTERY_LEVEL)).isEqualTo(66);
}
@@ -302,8 +296,7 @@
final int expectedType = 3;
when(mMockBatteryEntry.getUid()).thenReturn(1001);
when(mMockBatteryEntry.getLabel()).thenReturn("Settings");
- when(mMockBatteryEntry.getDefaultPackageName())
- .thenReturn("com.android.settings.battery");
+ when(mMockBatteryEntry.getDefaultPackageName()).thenReturn("com.android.settings.battery");
when(mMockBatteryEntry.isHidden()).thenReturn(true);
when(mBatteryUsageStats.getConsumedPower()).thenReturn(5.1);
when(mMockBatteryEntry.getConsumedPower()).thenReturn(1.1);
@@ -319,23 +312,16 @@
.thenReturn(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
final BatteryHistEntry batteryHistEntry =
- ConvertUtils.convertToBatteryHistEntry(
- mMockBatteryEntry,
- mBatteryUsageStats);
+ ConvertUtils.convertToBatteryHistEntry(mMockBatteryEntry, mBatteryUsageStats);
assertThat(batteryHistEntry.mUid).isEqualTo(1001L);
- assertThat(batteryHistEntry.mUserId)
- .isEqualTo(UserHandle.getUserId(1001));
- assertThat(batteryHistEntry.mAppLabel)
- .isEqualTo("Settings");
- assertThat(batteryHistEntry.mPackageName)
- .isEqualTo("com.android.settings.battery");
+ assertThat(batteryHistEntry.mUserId).isEqualTo(UserHandle.getUserId(1001));
+ assertThat(batteryHistEntry.mAppLabel).isEqualTo("Settings");
+ assertThat(batteryHistEntry.mPackageName).isEqualTo("com.android.settings.battery");
assertThat(batteryHistEntry.mIsHidden).isTrue();
- assertThat(batteryHistEntry.mBootTimestamp)
- .isEqualTo(0L);
+ assertThat(batteryHistEntry.mBootTimestamp).isEqualTo(0L);
assertThat(batteryHistEntry.mTimestamp).isEqualTo(0L);
- assertThat(batteryHistEntry.mZoneId)
- .isEqualTo(TimeZone.getDefault().getID());
+ assertThat(batteryHistEntry.mZoneId).isEqualTo(TimeZone.getDefault().getID());
assertThat(batteryHistEntry.mTotalPower).isEqualTo(5.1);
assertThat(batteryHistEntry.mConsumePower).isEqualTo(1.1);
assertThat(batteryHistEntry.mForegroundUsageConsumePower).isEqualTo(1.2);
@@ -343,10 +329,8 @@
assertThat(batteryHistEntry.mBackgroundUsageConsumePower).isEqualTo(1.4);
assertThat(batteryHistEntry.mCachedUsageConsumePower).isEqualTo(1.5);
assertThat(batteryHistEntry.mPercentOfTotal).isEqualTo(0.3);
- assertThat(batteryHistEntry.mForegroundUsageTimeInMs)
- .isEqualTo(1234L);
- assertThat(batteryHistEntry.mBackgroundUsageTimeInMs)
- .isEqualTo(5689L);
+ assertThat(batteryHistEntry.mForegroundUsageTimeInMs).isEqualTo(1234L);
+ assertThat(batteryHistEntry.mBackgroundUsageTimeInMs).isEqualTo(5689L);
assertThat(batteryHistEntry.mDrainType).isEqualTo(expectedType);
assertThat(batteryHistEntry.mConsumerType)
.isEqualTo(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
@@ -359,20 +343,15 @@
public void convertToBatteryHistEntry_nullBatteryEntry_returnsExpectedResult() {
final BatteryHistEntry batteryHistEntry =
ConvertUtils.convertToBatteryHistEntry(
- /*entry=*/ null,
- /*batteryUsageStats=*/ null);
+ /* entry= */ null, /* batteryUsageStats= */ null);
- assertThat(batteryHistEntry.mBootTimestamp)
- .isEqualTo(0L);
- assertThat(batteryHistEntry.mTimestamp)
- .isEqualTo(0);
- assertThat(batteryHistEntry.mZoneId)
- .isEqualTo(TimeZone.getDefault().getID());
+ assertThat(batteryHistEntry.mBootTimestamp).isEqualTo(0L);
+ assertThat(batteryHistEntry.mTimestamp).isEqualTo(0);
+ assertThat(batteryHistEntry.mZoneId).isEqualTo(TimeZone.getDefault().getID());
assertThat(batteryHistEntry.mBatteryLevel).isEqualTo(0);
assertThat(batteryHistEntry.mBatteryStatus).isEqualTo(0);
assertThat(batteryHistEntry.mBatteryHealth).isEqualTo(0);
- assertThat(batteryHistEntry.mPackageName)
- .isEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
+ assertThat(batteryHistEntry.mPackageName).isEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
}
@Test
@@ -387,8 +366,8 @@
when(mMockPackageManager.getPackageUidAsUser(any(), anyInt())).thenReturn(1001);
final long userId = 2;
- final AppUsageEvent appUsageEvent = ConvertUtils.convertToAppUsageEvent(
- mContext, mUsageStatsManager, event, userId);
+ final AppUsageEvent appUsageEvent =
+ ConvertUtils.convertToAppUsageEvent(mContext, mUsageStatsManager, event, userId);
assertThat(appUsageEvent.getTimestamp()).isEqualTo(101L);
assertThat(appUsageEvent.getType()).isEqualTo(AppUsageEventType.ACTIVITY_RESUMED);
assertThat(appUsageEvent.getPackageName()).isEqualTo("com.android.settings1");
@@ -426,14 +405,14 @@
final AppUsageEvent appUsageEvent =
ConvertUtils.convertToAppUsageEvent(
- mContext, mUsageStatsManager, event, /*userId=*/ 0);
+ mContext, mUsageStatsManager, event, /* userId= */ 0);
assertThat(appUsageEvent).isNull();
}
@Test
public void convertToAppUsageEvent_failToGetUid_returnsNull()
- throws PackageManager.NameNotFoundException {
+ throws PackageManager.NameNotFoundException {
final Event event = new Event();
event.mEventType = UsageEvents.Event.DEVICE_SHUTDOWN;
event.mPackage = "com.android.settings1";
@@ -449,24 +428,27 @@
@Test
public void convertToAppUsageEvent_returnExpectedResult() {
- final MatrixCursor cursor = new MatrixCursor(
- new String[]{
- AppUsageEventEntity.KEY_UID,
- AppUsageEventEntity.KEY_USER_ID,
- AppUsageEventEntity.KEY_PACKAGE_NAME,
- AppUsageEventEntity.KEY_TIMESTAMP,
- AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE,
- AppUsageEventEntity.KEY_TASK_ROOT_PACKAGE_NAME,
- AppUsageEventEntity.KEY_INSTANCE_ID});
+ final MatrixCursor cursor =
+ new MatrixCursor(
+ new String[] {
+ AppUsageEventEntity.KEY_UID,
+ AppUsageEventEntity.KEY_USER_ID,
+ AppUsageEventEntity.KEY_PACKAGE_NAME,
+ AppUsageEventEntity.KEY_TIMESTAMP,
+ AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE,
+ AppUsageEventEntity.KEY_TASK_ROOT_PACKAGE_NAME,
+ AppUsageEventEntity.KEY_INSTANCE_ID
+ });
cursor.addRow(
- new Object[]{
- 101L,
- 1001L,
- "com.android.settings1",
- 10001L,
- AppUsageEventType.DEVICE_SHUTDOWN.getNumber(),
- "com.android.settings2",
- 100001L});
+ new Object[] {
+ 101L,
+ 1001L,
+ "com.android.settings1",
+ 10001L,
+ AppUsageEventType.DEVICE_SHUTDOWN.getNumber(),
+ "com.android.settings2",
+ 100001L
+ });
cursor.moveToFirst();
final AppUsageEvent appUsageEvent = ConvertUtils.convertToAppUsageEvent(cursor);
@@ -482,20 +464,23 @@
@Test
public void convertToAppUsageEvent_emptyInstanceIdAndRootName_returnExpectedResult() {
- final MatrixCursor cursor = new MatrixCursor(
- new String[]{
- AppUsageEventEntity.KEY_UID,
- AppUsageEventEntity.KEY_USER_ID,
- AppUsageEventEntity.KEY_PACKAGE_NAME,
- AppUsageEventEntity.KEY_TIMESTAMP,
- AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE});
+ final MatrixCursor cursor =
+ new MatrixCursor(
+ new String[] {
+ AppUsageEventEntity.KEY_UID,
+ AppUsageEventEntity.KEY_USER_ID,
+ AppUsageEventEntity.KEY_PACKAGE_NAME,
+ AppUsageEventEntity.KEY_TIMESTAMP,
+ AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE
+ });
cursor.addRow(
- new Object[]{
- 101L,
- 1001L,
- "com.android.settings1",
- 10001L,
- AppUsageEventType.DEVICE_SHUTDOWN.getNumber()});
+ new Object[] {
+ 101L,
+ 1001L,
+ "com.android.settings1",
+ 10001L,
+ AppUsageEventType.DEVICE_SHUTDOWN.getNumber()
+ });
cursor.moveToFirst();
final AppUsageEvent appUsageEvent = ConvertUtils.convertToAppUsageEvent(cursor);
@@ -511,8 +496,8 @@
@Test
public void convertToBatteryEvent_normalCase_returnsExpectedResult() {
- final BatteryEvent batteryEvent = ConvertUtils.convertToBatteryEvent(
- 666L, BatteryEventType.POWER_DISCONNECTED, 88);
+ final BatteryEvent batteryEvent =
+ ConvertUtils.convertToBatteryEvent(666L, BatteryEventType.POWER_DISCONNECTED, 88);
assertThat(batteryEvent.getTimestamp()).isEqualTo(666L);
assertThat(batteryEvent.getType()).isEqualTo(BatteryEventType.POWER_DISCONNECTED);
assertThat(batteryEvent.getBatteryLevel()).isEqualTo(88);
@@ -520,8 +505,9 @@
@Test
public void convertToBatteryEventList_normalCase_returnsExpectedResult() {
- final BatteryLevelData batteryLevelData = new BatteryLevelData(Map.of(
- 1691589600000L, 98, 1691596800000L, 90, 1691596812345L, 80));
+ final BatteryLevelData batteryLevelData =
+ new BatteryLevelData(
+ Map.of(1691589600000L, 98, 1691596800000L, 90, 1691596812345L, 80));
final List<BatteryEvent> batteryEventList =
ConvertUtils.convertToBatteryEventList(batteryLevelData);
@@ -537,14 +523,20 @@
@Test
public void convertToBatteryUsageSlotList_normalCase_returnsExpectedResult() {
- BatteryDiffData batteryDiffData1 = new BatteryDiffData(
- mContext, 11L, 12L, 13, 14, 15, List.of(), List.of(), Set.of(), Set.of(), false);
- BatteryDiffData batteryDiffData2 = new BatteryDiffData(
- mContext, 21L, 22L, 23, 24, 25, List.of(), List.of(), Set.of(), Set.of(), false);
- BatteryDiffData batteryDiffData3 = new BatteryDiffData(
- mContext, 31L, 32L, 33, 34, 35, List.of(), List.of(), Set.of(), Set.of(), false);
- final Map<Long, BatteryDiffData> batteryDiffDataMap = Map.of(
- 11L, batteryDiffData1, 21L, batteryDiffData2, 31L, batteryDiffData3);
+ BatteryDiffData batteryDiffData1 =
+ new BatteryDiffData(
+ mContext, 11L, 12L, 13, 14, 15, List.of(), List.of(), Set.of(), Set.of(),
+ false);
+ BatteryDiffData batteryDiffData2 =
+ new BatteryDiffData(
+ mContext, 21L, 22L, 23, 24, 25, List.of(), List.of(), Set.of(), Set.of(),
+ false);
+ BatteryDiffData batteryDiffData3 =
+ new BatteryDiffData(
+ mContext, 31L, 32L, 33, 34, 35, List.of(), List.of(), Set.of(), Set.of(),
+ false);
+ final Map<Long, BatteryDiffData> batteryDiffDataMap =
+ Map.of(11L, batteryDiffData1, 21L, batteryDiffData2, 31L, batteryDiffData3);
final List<BatteryUsageSlot> batteryUsageSlotList =
ConvertUtils.convertToBatteryUsageSlotList(batteryDiffDataMap);
@@ -556,8 +548,7 @@
@Test
public void getLocale_nullContext_returnDefaultLocale() {
- assertThat(ConvertUtils.getLocale(/*context=*/ null))
- .isEqualTo(Locale.getDefault());
+ assertThat(ConvertUtils.getLocale(/* context= */ null)).isEqualTo(Locale.getDefault());
}
@Test
@@ -578,8 +569,9 @@
final String packageName = "com.android.settings1";
final String taskRootPackageName = "com.android.settings2";
- assertThat(ConvertUtils.getEffectivePackageName(
- mContext, mUsageStatsManager, packageName, taskRootPackageName))
+ assertThat(
+ ConvertUtils.getEffectivePackageName(
+ mContext, mUsageStatsManager, packageName, taskRootPackageName))
.isEqualTo(packageName);
}
@@ -588,8 +580,9 @@
final String packageName = "com.android.settings1";
final String taskRootPackageName = "com.android.settings2";
- assertThat(ConvertUtils.getEffectivePackageName(
- mContext, mUsageStatsManager, packageName, taskRootPackageName))
+ assertThat(
+ ConvertUtils.getEffectivePackageName(
+ mContext, mUsageStatsManager, packageName, taskRootPackageName))
.isEqualTo(packageName);
}
@@ -599,8 +592,9 @@
final String packageName = "com.android.settings1";
final String taskRootPackageName = "com.android.settings2";
- assertThat(ConvertUtils.getEffectivePackageName(
- mContext, mUsageStatsManager, packageName, taskRootPackageName))
+ assertThat(
+ ConvertUtils.getEffectivePackageName(
+ mContext, mUsageStatsManager, packageName, taskRootPackageName))
.isEqualTo(taskRootPackageName);
}
@@ -609,11 +603,19 @@
ConvertUtils.sUsageSource = USAGE_SOURCE_TASK_ROOT_ACTIVITY;
final String packageName = "com.android.settings1";
- assertThat(ConvertUtils.getEffectivePackageName(
- mContext, mUsageStatsManager, packageName, /*taskRootPackageName=*/ null))
+ assertThat(
+ ConvertUtils.getEffectivePackageName(
+ mContext,
+ mUsageStatsManager,
+ packageName,
+ /* taskRootPackageName= */ null))
.isEqualTo(packageName);
- assertThat(ConvertUtils.getEffectivePackageName(
- mContext, mUsageStatsManager, packageName, /*taskRootPackageName=*/ ""))
+ assertThat(
+ ConvertUtils.getEffectivePackageName(
+ mContext,
+ mUsageStatsManager,
+ packageName,
+ /* taskRootPackageName= */ ""))
.isEqualTo(packageName);
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
index 601d3f3..6227790 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
@@ -70,18 +70,12 @@
private Context mContext;
private DataProcessManager mDataProcessManager;
- @Mock
- private IUsageStatsManager mUsageStatsManager;
- @Mock
- private UserManager mUserManager;
- @Mock
- private BatteryStatsManager mBatteryStatsManager;
- @Mock
- private BatteryUsageStats mBatteryUsageStats;
- @Mock
- private Intent mIntent;
- @Captor
- private ArgumentCaptor<BatteryUsageStatsQuery> mBatteryUsageStatsQueryCaptor;
+ @Mock private IUsageStatsManager mUsageStatsManager;
+ @Mock private UserManager mUserManager;
+ @Mock private BatteryStatsManager mBatteryStatsManager;
+ @Mock private BatteryUsageStats mBatteryUsageStats;
+ @Mock private Intent mIntent;
+ @Captor private ArgumentCaptor<BatteryUsageStatsQuery> mBatteryUsageStatsQueryCaptor;
@Before
public void setUp() {
@@ -91,22 +85,26 @@
DataProcessor.sTestSystemAppsPackageNames = Set.of();
DataProcessor.sUsageStatsManager = mUsageStatsManager;
doReturn(mContext).when(mContext).getApplicationContext();
- doReturn(mUserManager)
+ doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
+ doReturn(mBatteryStatsManager)
.when(mContext)
- .getSystemService(UserManager.class);
- doReturn(mBatteryStatsManager).when(mContext).getSystemService(
- Context.BATTERY_STATS_SERVICE);
- doReturn(mBatteryUsageStats).when(
- mBatteryStatsManager).getBatteryUsageStats(mBatteryUsageStatsQueryCaptor.capture());
+ .getSystemService(Context.BATTERY_STATS_SERVICE);
+ doReturn(mBatteryUsageStats)
+ .when(mBatteryStatsManager)
+ .getBatteryUsageStats(mBatteryUsageStatsQueryCaptor.capture());
doReturn(mIntent).when(mContext).registerReceiver(any(), any());
doReturn(100).when(mIntent).getIntExtra(eq(BatteryManager.EXTRA_SCALE), anyInt());
doReturn(66).when(mIntent).getIntExtra(eq(BatteryManager.EXTRA_LEVEL), anyInt());
- mDataProcessManager = new DataProcessManager(
- mContext, /*handler=*/ null, /*rawStartTimestamp=*/ 0L,
- /*lastFullChargeTimestamp=*/ 0L, /*callbackFunction=*/ null,
- /*hourlyBatteryLevelsPerDay=*/ new ArrayList<>(),
- /*batteryHistoryMap=*/ new HashMap<>());
+ mDataProcessManager =
+ new DataProcessManager(
+ mContext,
+ /* handler= */ null,
+ /* rawStartTimestamp= */ 0L,
+ /* lastFullChargeTimestamp= */ 0L,
+ /* callbackFunction= */ null,
+ /* hourlyBatteryLevelsPerDay= */ new ArrayList<>(),
+ /* batteryHistoryMap= */ new HashMap<>());
}
@After
@@ -119,18 +117,20 @@
@LooperMode(LooperMode.Mode.LEGACY)
public void constructor_noLevelData() {
final DataProcessManager dataProcessManager =
- new DataProcessManager(mContext, /*handler=*/ null, /*callbackFunction=*/ null);
+ new DataProcessManager(mContext, /* handler= */ null, /* callbackFunction= */ null);
assertThat(dataProcessManager.getShowScreenOnTime()).isFalse();
}
@Test
@LooperMode(LooperMode.Mode.LEGACY)
public void start_loadEmptyDatabaseAppUsageData() {
- final MatrixCursor cursor = new MatrixCursor(
- new String[]{
- AppUsageEventEntity.KEY_UID,
- AppUsageEventEntity.KEY_PACKAGE_NAME,
- AppUsageEventEntity.KEY_TIMESTAMP});
+ final MatrixCursor cursor =
+ new MatrixCursor(
+ new String[] {
+ AppUsageEventEntity.KEY_UID,
+ AppUsageEventEntity.KEY_PACKAGE_NAME,
+ AppUsageEventEntity.KEY_TIMESTAMP
+ });
DatabaseUtils.sFakeSupplier = () -> cursor;
doReturn(true).when(mUserManager).isUserUnlocked(anyInt());
@@ -166,9 +166,9 @@
new BatteryLevelData.PeriodBatteryLevelData(batteryLevelMap2, timestamps2));
// Fake current usage data.
final UsageEvents.Event event1 =
- getUsageEvent(UsageEvents.Event.ACTIVITY_RESUMED, /*timestamp=*/ 1, packageName);
+ getUsageEvent(UsageEvents.Event.ACTIVITY_RESUMED, /* timestamp= */ 1, packageName);
final UsageEvents.Event event2 =
- getUsageEvent(UsageEvents.Event.ACTIVITY_STOPPED, /*timestamp=*/ 2, packageName);
+ getUsageEvent(UsageEvents.Event.ACTIVITY_STOPPED, /* timestamp= */ 2, packageName);
final List<UsageEvents.Event> events = new ArrayList<>();
events.add(event1);
events.add(event2);
@@ -182,40 +182,68 @@
doReturn(new ArrayList<>()).when(mUserManager).getUserProfiles();
// Fake database usage data.
- final MatrixCursor cursor = new MatrixCursor(
- new String[]{
- AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE,
- AppUsageEventEntity.KEY_TIMESTAMP,
- AppUsageEventEntity.KEY_USER_ID,
- AppUsageEventEntity.KEY_INSTANCE_ID,
- AppUsageEventEntity.KEY_PACKAGE_NAME
- });
+ final MatrixCursor cursor =
+ new MatrixCursor(
+ new String[] {
+ AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE,
+ AppUsageEventEntity.KEY_TIMESTAMP,
+ AppUsageEventEntity.KEY_USER_ID,
+ AppUsageEventEntity.KEY_INSTANCE_ID,
+ AppUsageEventEntity.KEY_PACKAGE_NAME
+ });
// Adds fake data into the cursor.
- cursor.addRow(new Object[] {
- AppUsageEventType.ACTIVITY_RESUMED.getNumber(), /*timestamp=*/ 3, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName});
- cursor.addRow(new Object[] {
- AppUsageEventType.ACTIVITY_STOPPED.getNumber(), /*timestamp=*/ 4, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName});
- cursor.addRow(new Object[] {
- AppUsageEventType.ACTIVITY_RESUMED.getNumber(), /*timestamp=*/ 5, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName});
- cursor.addRow(new Object[] {
- AppUsageEventType.ACTIVITY_STOPPED.getNumber(), /*timestamp=*/ 6, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName});
- DatabaseUtils.sFakeSupplier = new Supplier<>() {
- private int mTimes = 0;
- @Override
- public Cursor get() {
- mTimes++;
- return mTimes <= 2 ? null : cursor;
- }
- };
+ cursor.addRow(
+ new Object[] {
+ AppUsageEventType.ACTIVITY_RESUMED.getNumber(),
+ /* timestamp= */ 3,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName
+ });
+ cursor.addRow(
+ new Object[] {
+ AppUsageEventType.ACTIVITY_STOPPED.getNumber(),
+ /* timestamp= */ 4,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName
+ });
+ cursor.addRow(
+ new Object[] {
+ AppUsageEventType.ACTIVITY_RESUMED.getNumber(),
+ /* timestamp= */ 5,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName
+ });
+ cursor.addRow(
+ new Object[] {
+ AppUsageEventType.ACTIVITY_STOPPED.getNumber(),
+ /* timestamp= */ 6,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName
+ });
+ DatabaseUtils.sFakeSupplier =
+ new Supplier<>() {
+ private int mTimes = 0;
- final DataProcessManager dataProcessManager = new DataProcessManager(
- mContext, /*handler=*/ null, /*rawStartTimestamp=*/ 2L,
- /*lastFullChargeTimestamp=*/ 1L, /*callbackFunction=*/ null,
- hourlyBatteryLevelsPerDay, /*batteryHistoryMap=*/ new HashMap<>());
+ @Override
+ public Cursor get() {
+ mTimes++;
+ return mTimes <= 2 ? null : cursor;
+ }
+ };
+
+ final DataProcessManager dataProcessManager =
+ new DataProcessManager(
+ mContext,
+ /* handler= */ null,
+ /* rawStartTimestamp= */ 2L,
+ /* lastFullChargeTimestamp= */ 1L,
+ /* callbackFunction= */ null,
+ hourlyBatteryLevelsPerDay,
+ /* batteryHistoryMap= */ new HashMap<>());
dataProcessManager.start();
assertThat(dataProcessManager.getIsCurrentAppUsageLoaded()).isTrue();
@@ -226,17 +254,17 @@
Collections.sort(appUsageEventList, DataProcessor.APP_USAGE_EVENT_TIMESTAMP_COMPARATOR);
assertThat(appUsageEventList.size()).isEqualTo(6);
assertAppUsageEvent(
- appUsageEventList.get(0), AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 1);
+ appUsageEventList.get(0), AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 1);
assertAppUsageEvent(
- appUsageEventList.get(1), AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 2);
+ appUsageEventList.get(1), AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 2);
assertAppUsageEvent(
- appUsageEventList.get(2), AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 3);
+ appUsageEventList.get(2), AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 3);
assertAppUsageEvent(
- appUsageEventList.get(3), AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 4);
+ appUsageEventList.get(3), AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 4);
assertAppUsageEvent(
- appUsageEventList.get(4), AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 5);
+ appUsageEventList.get(4), AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 5);
assertAppUsageEvent(
- appUsageEventList.get(5), AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 6);
+ appUsageEventList.get(5), AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 6);
final Map<Integer, Map<Integer, Map<Long, Map<String, List<AppUsagePeriod>>>>>
appUsagePeriodMap = dataProcessManager.getAppUsagePeriodMap();
@@ -267,18 +295,20 @@
@LooperMode(LooperMode.Mode.LEGACY)
public void start_currentUserLocked_emptyAppUsageList() throws RemoteException {
final UsageEvents.Event event =
- getUsageEvent(UsageEvents.Event.ACTIVITY_RESUMED, /*timestamp=*/ 1, "package");
+ getUsageEvent(UsageEvents.Event.ACTIVITY_RESUMED, /* timestamp= */ 1, "package");
final List<UsageEvents.Event> events = new ArrayList<>();
events.add(event);
doReturn(getUsageEvents(events))
.when(mUsageStatsManager)
.queryEventsForUser(anyLong(), anyLong(), anyInt(), any());
doReturn(false).when(mUserManager).isUserUnlocked(anyInt());
- final MatrixCursor cursor = new MatrixCursor(
- new String[]{
- AppUsageEventEntity.KEY_UID,
- AppUsageEventEntity.KEY_PACKAGE_NAME,
- AppUsageEventEntity.KEY_TIMESTAMP});
+ final MatrixCursor cursor =
+ new MatrixCursor(
+ new String[] {
+ AppUsageEventEntity.KEY_UID,
+ AppUsageEventEntity.KEY_PACKAGE_NAME,
+ AppUsageEventEntity.KEY_TIMESTAMP
+ });
// Adds fake data into the cursor.
cursor.addRow(new Object[] {101L, "app name1", 1001L});
DatabaseUtils.sFakeSupplier = () -> cursor;
@@ -293,25 +323,30 @@
@Test
@LooperMode(LooperMode.Mode.LEGACY)
public void getBatteryLevelData_emptyHistoryMap_returnNull() {
- assertThat(DataProcessManager.getBatteryLevelData(
- mContext,
- /*handler=*/ null,
- /*isFromPeriodJob=*/ false,
- /*asyncResponseDelegate=*/ null)).isNull();
- assertThat(DataProcessManager.getBatteryLevelData(
- mContext,
- /*handler=*/ null,
- /*isFromPeriodJob=*/ true,
- /*asyncResponseDelegate=*/ null)).isNull();
+ assertThat(
+ DataProcessManager.getBatteryLevelData(
+ mContext,
+ /* handler= */ null,
+ /* isFromPeriodJob= */ false,
+ /* asyncResponseDelegate= */ null))
+ .isNull();
+ assertThat(
+ DataProcessManager.getBatteryLevelData(
+ mContext,
+ /* handler= */ null,
+ /* isFromPeriodJob= */ true,
+ /* asyncResponseDelegate= */ null))
+ .isNull();
}
@Test
public void getBatteryLevelData_allDataInOneHour_returnExpectedResult() {
// The timestamps and the current time are within half hour before an even hour.
final long[] timestamps = {
- DateUtils.HOUR_IN_MILLIS * 2 - 300L,
- DateUtils.HOUR_IN_MILLIS * 2 - 200L,
- DateUtils.HOUR_IN_MILLIS * 2 - 100L};
+ DateUtils.HOUR_IN_MILLIS * 2 - 300L,
+ DateUtils.HOUR_IN_MILLIS * 2 - 200L,
+ DateUtils.HOUR_IN_MILLIS * 2 - 100L
+ };
final int[] levels = {100, 99, 98};
DataProcessManager.sFakeBatteryHistoryMap = createHistoryMap(timestamps, levels);
DataProcessor.sTestCurrentTimeMillis = timestamps[timestamps.length - 1];
@@ -319,13 +354,12 @@
final BatteryLevelData resultData =
DataProcessManager.getBatteryLevelData(
mContext,
- /*handler=*/ null,
- /*isFromPeriodJob=*/ false,
- /*asyncResponseDelegate=*/ null);
+ /* handler= */ null,
+ /* isFromPeriodJob= */ false,
+ /* asyncResponseDelegate= */ null);
- final List<Long> expectedDailyTimestamps = List.of(
- DateUtils.HOUR_IN_MILLIS * 2 - 300L,
- DateUtils.HOUR_IN_MILLIS * 2 - 100L);
+ final List<Long> expectedDailyTimestamps =
+ List.of(DateUtils.HOUR_IN_MILLIS * 2 - 300L, DateUtils.HOUR_IN_MILLIS * 2 - 100L);
final List<Integer> expectedDailyLevels = List.of(100, 66);
final List<List<Long>> expectedHourlyTimestamps = List.of(expectedDailyTimestamps);
final List<List<Integer>> expectedHourlyLevels = List.of(expectedDailyLevels);
@@ -348,13 +382,14 @@
final BatteryLevelData resultData =
DataProcessManager.getBatteryLevelData(
mContext,
- /*handler=*/ null,
- /*isFromPeriodJob=*/ false,
- /*asyncResponseDelegate=*/ null);
+ /* handler= */ null,
+ /* isFromPeriodJob= */ false,
+ /* asyncResponseDelegate= */ null);
- final List<Long> expectedDailyTimestamps = List.of(
- 1640966400000L, // 2022-01-01 00:00:00
- 1640970000000L); // 2022-01-01 01:00:00
+ final List<Long> expectedDailyTimestamps =
+ List.of(
+ 1640966400000L, // 2022-01-01 00:00:00
+ 1640970000000L); // 2022-01-01 01:00:00
final List<Integer> expectedDailyLevels = List.of(100, 66);
final List<List<Long>> expectedHourlyTimestamps = List.of(expectedDailyTimestamps);
final List<List<Integer>> expectedHourlyLevels = List.of(expectedDailyLevels);
@@ -400,16 +435,11 @@
private static ContentValues getContentValuesWithBatteryLevel(final int level) {
final ContentValues values = new ContentValues();
final DeviceBatteryState deviceBatteryState =
- DeviceBatteryState
- .newBuilder()
- .setBatteryLevel(level)
- .build();
+ DeviceBatteryState.newBuilder().setBatteryLevel(level).build();
final BatteryInformation batteryInformation =
- BatteryInformation
- .newBuilder()
- .setDeviceBatteryState(deviceBatteryState)
- .build();
- values.put(BatteryHistEntry.KEY_BATTERY_INFORMATION,
+ BatteryInformation.newBuilder().setDeviceBatteryState(deviceBatteryState).build();
+ values.put(
+ BatteryHistEntry.KEY_BATTERY_INFORMATION,
ConvertUtils.convertBatteryInformationToString(batteryInformation));
return values;
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
index 636a7a3..7a67240 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
@@ -98,18 +98,19 @@
DataProcessor.sTestSystemAppsPackageNames = Set.of();
DataProcessor.sUsageStatsManager = mUsageStatsManager;
- doReturn(mIntent).when(mContext).registerReceiver(
- isA(BroadcastReceiver.class), isA(IntentFilter.class));
+ doReturn(mIntent)
+ .when(mContext)
+ .registerReceiver(isA(BroadcastReceiver.class), isA(IntentFilter.class));
doReturn(100).when(mIntent).getIntExtra(eq(BatteryManager.EXTRA_SCALE), anyInt());
doReturn(66).when(mIntent).getIntExtra(eq(BatteryManager.EXTRA_LEVEL), anyInt());
doReturn(mContext).when(mContext).getApplicationContext();
doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
- doReturn(new int[]{0}).when(mUserManager).getProfileIdsWithDisabled(anyInt());
+ doReturn(new int[] {0}).when(mUserManager).getProfileIdsWithDisabled(anyInt());
}
@Test
public void getAppUsageEvents_returnExpectedResult() throws RemoteException {
- UserInfo userInfo = new UserInfo(/*id=*/ 0, "user_0", /*flags=*/ 0);
+ UserInfo userInfo = new UserInfo(/* id= */ 0, "user_0", /* flags= */ 0);
final List<UserInfo> userInfoList = new ArrayList<>();
userInfoList.add(userInfo);
doReturn(userInfoList).when(mUserManager).getAliveUsers();
@@ -126,7 +127,7 @@
@Test
public void getAppUsageEvents_lockedUser_returnNull() {
- UserInfo userInfo = new UserInfo(/*id=*/ 0, "user_0", /*flags=*/ 0);
+ UserInfo userInfo = new UserInfo(/* id= */ 0, "user_0", /* flags= */ 0);
final List<UserInfo> userInfoList = new ArrayList<>();
userInfoList.add(userInfo);
doReturn(userInfoList).when(mUserManager).getAliveUsers();
@@ -140,12 +141,13 @@
@Test
public void getAppUsageEvents_nullUsageEvents_returnNull() throws RemoteException {
- UserInfo userInfo = new UserInfo(/*id=*/ 0, "user_0", /*flags=*/ 0);
+ UserInfo userInfo = new UserInfo(/* id= */ 0, "user_0", /* flags= */ 0);
final List<UserInfo> userInfoList = new ArrayList<>();
userInfoList.add(userInfo);
doReturn(userInfoList).when(mUserManager).getAliveUsers();
doReturn(true).when(mUserManager).isUserUnlocked(userInfo.id);
- doReturn(null).when(mUsageStatsManager)
+ doReturn(null)
+ .when(mUsageStatsManager)
.queryEventsForUser(anyLong(), anyLong(), anyInt(), anyString());
final Map<Long, UsageEvents> resultMap = DataProcessor.getAppUsageEvents(mContext);
@@ -178,7 +180,8 @@
public void getAppUsageEventsForUser_nullUsageEvents_returnNull() throws RemoteException {
final int userId = 1;
doReturn(true).when(mUserManager).isUserUnlocked(userId);
- doReturn(null).when(mUsageStatsManager)
+ doReturn(null)
+ .when(mUsageStatsManager)
.queryEventsForUser(anyLong(), anyLong(), anyInt(), anyString());
assertThat(DataProcessor.getAppUsageEventsForUser(mContext, userId, 0)).isNull();
@@ -206,52 +209,112 @@
new BatteryLevelData.PeriodBatteryLevelData(batteryLevelMap2, timestamps2));
final List<AppUsageEvent> appUsageEventList = new ArrayList<>();
// Adds some events before the start timestamp.
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 1, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName));
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 2, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_RESUMED,
+ /* timestamp= */ 1,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 2,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName));
// Adds the valid app usage events.
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 4200000L, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName));
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 4500000L, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName));
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 12600000L, /*userId=*/ 2,
- /*instanceId=*/ 3, packageName));
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 15600000L, /*userId=*/ 2,
- /*instanceId=*/ 3, packageName));
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 16200000L, /*userId=*/ 2,
- /*instanceId=*/ 3, packageName));
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 18000000L, /*userId=*/ 2,
- /*instanceId=*/ 3, packageName));
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 17200000L, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName));
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 17800000L, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName));
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 46000000L, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName));
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 47800000L, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName));
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 49000000L, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName));
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 59600000L, /*userId=*/ 1,
- /*instanceId=*/ 4, packageName));
- appUsageEventList.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 61200000L, /*userId=*/ 1,
- /*instanceId=*/ 4, packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_RESUMED,
+ /* timestamp= */ 4200000L,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 4500000L,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_RESUMED,
+ /* timestamp= */ 12600000L,
+ /* userId= */ 2,
+ /* instanceId= */ 3,
+ packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 15600000L,
+ /* userId= */ 2,
+ /* instanceId= */ 3,
+ packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_RESUMED,
+ /* timestamp= */ 16200000L,
+ /* userId= */ 2,
+ /* instanceId= */ 3,
+ packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 18000000L,
+ /* userId= */ 2,
+ /* instanceId= */ 3,
+ packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_RESUMED,
+ /* timestamp= */ 17200000L,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 17800000L,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 46000000L,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_RESUMED,
+ /* timestamp= */ 47800000L,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 49000000L,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_RESUMED,
+ /* timestamp= */ 59600000L,
+ /* userId= */ 1,
+ /* instanceId= */ 4,
+ packageName));
+ appUsageEventList.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 61200000L,
+ /* userId= */ 1,
+ /* instanceId= */ 4,
+ packageName));
final Map<Integer, Map<Integer, Map<Long, Map<String, List<AppUsagePeriod>>>>> periodMap =
DataProcessor.generateAppUsagePeriodMap(
@@ -292,18 +355,22 @@
new ArrayList<>();
hourlyBatteryLevelsPerDay.add(
new BatteryLevelData.PeriodBatteryLevelData(new ArrayMap<>(), new ArrayList<>()));
- assertThat(DataProcessor.generateAppUsagePeriodMap(
- mContext, hourlyBatteryLevelsPerDay, new ArrayList<>(), new ArrayList<>()))
+ assertThat(
+ DataProcessor.generateAppUsagePeriodMap(
+ mContext,
+ hourlyBatteryLevelsPerDay,
+ new ArrayList<>(),
+ new ArrayList<>()))
.isNull();
}
@Test
public void generateAppUsageEventListFromUsageEvents_returnExpectedResult() {
- Event event1 = getUsageEvent(Event.NOTIFICATION_INTERRUPTION, /*timestamp=*/ 1);
- Event event2 = getUsageEvent(Event.ACTIVITY_RESUMED, /*timestamp=*/ 2);
- Event event3 = getUsageEvent(Event.ACTIVITY_STOPPED, /*timestamp=*/ 3);
- Event event4 = getUsageEvent(Event.DEVICE_SHUTDOWN, /*timestamp=*/ 4);
- Event event5 = getUsageEvent(Event.ACTIVITY_RESUMED, /*timestamp=*/ 5);
+ Event event1 = getUsageEvent(Event.NOTIFICATION_INTERRUPTION, /* timestamp= */ 1);
+ Event event2 = getUsageEvent(Event.ACTIVITY_RESUMED, /* timestamp= */ 2);
+ Event event3 = getUsageEvent(Event.ACTIVITY_STOPPED, /* timestamp= */ 3);
+ Event event4 = getUsageEvent(Event.DEVICE_SHUTDOWN, /* timestamp= */ 4);
+ Event event5 = getUsageEvent(Event.ACTIVITY_RESUMED, /* timestamp= */ 5);
event5.mPackage = null;
List<Event> events1 = new ArrayList<>();
events1.add(event1);
@@ -325,17 +392,16 @@
assertThat(appUsageEventList).hasSize(3);
assertAppUsageEvent(
- appUsageEventList.get(0), AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 2);
+ appUsageEventList.get(0), AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 2);
assertAppUsageEvent(
- appUsageEventList.get(1), AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 3);
+ appUsageEventList.get(1), AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 3);
assertAppUsageEvent(
- appUsageEventList.get(2), AppUsageEventType.DEVICE_SHUTDOWN, /*timestamp=*/ 4);
+ appUsageEventList.get(2), AppUsageEventType.DEVICE_SHUTDOWN, /* timestamp= */ 4);
}
@Test
public void getHistoryMapWithExpectedTimestamps_emptyHistoryMap_returnEmptyMap() {
- assertThat(DataProcessor
- .getHistoryMapWithExpectedTimestamps(mContext, new HashMap<>()))
+ assertThat(DataProcessor.getHistoryMapWithExpectedTimestamps(mContext, new HashMap<>()))
.isEmpty();
}
@@ -343,11 +409,11 @@
public void getHistoryMapWithExpectedTimestamps_returnExpectedMap() {
// Timezone GMT+8
final long[] timestamps = {
- 1640966700000L, // 2022-01-01 00:05:00
- 1640970180000L, // 2022-01-01 01:03:00
- 1640973840000L, // 2022-01-01 02:04:00
- 1640978100000L, // 2022-01-01 03:15:00
- 1640981400000L // 2022-01-01 04:10:00
+ 1640966700000L, // 2022-01-01 00:05:00
+ 1640970180000L, // 2022-01-01 01:03:00
+ 1640973840000L, // 2022-01-01 02:04:00
+ 1640978100000L, // 2022-01-01 03:15:00
+ 1640981400000L // 2022-01-01 04:10:00
};
final int[] levels = {100, 94, 90, 82, 50};
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
@@ -359,12 +425,12 @@
// Timezone GMT+8
final long[] expectedTimestamps = {
- 1640966700000L, // 2022-01-01 00:05:00
- 1640970000000L, // 2022-01-01 01:00:00
- 1640973600000L, // 2022-01-01 02:00:00
- 1640977200000L, // 2022-01-01 03:00:00
- 1640980800000L, // 2022-01-01 04:00:00
- 1640981400000L // 2022-01-01 04:10:00
+ 1640966700000L, // 2022-01-01 00:05:00
+ 1640970000000L, // 2022-01-01 01:00:00
+ 1640973600000L, // 2022-01-01 02:00:00
+ 1640977200000L, // 2022-01-01 03:00:00
+ 1640980800000L, // 2022-01-01 04:00:00
+ 1640981400000L // 2022-01-01 04:10:00
};
final int[] expectedLevels = {100, 94, 90, 84, 56, 98};
assertThat(resultMap).hasSize(expectedLevels.length);
@@ -372,19 +438,23 @@
assertThat(resultMap.get(expectedTimestamps[index]).get(FAKE_ENTRY_KEY).mBatteryLevel)
.isEqualTo(expectedLevels[index]);
}
- assertThat(resultMap.get(expectedTimestamps[expectedLevels.length - 1]).containsKey(
- DataProcessor.CURRENT_TIME_BATTERY_HISTORY_PLACEHOLDER)).isTrue();
+ assertThat(
+ resultMap
+ .get(expectedTimestamps[expectedLevels.length - 1])
+ .containsKey(
+ DataProcessor.CURRENT_TIME_BATTERY_HISTORY_PLACEHOLDER))
+ .isTrue();
}
@Test
public void getLevelDataThroughProcessedHistoryMap_OneDayData_returnExpectedResult() {
// Timezone GMT+8
final long[] timestamps = {
- 1640966400000L, // 2022-01-01 00:00:00
- 1640970000000L, // 2022-01-01 01:00:00
- 1640973600000L, // 2022-01-01 02:00:00
- 1640977200000L, // 2022-01-01 03:00:00
- 1640980800000L // 2022-01-01 04:00:00
+ 1640966400000L, // 2022-01-01 00:00:00
+ 1640970000000L, // 2022-01-01 01:00:00
+ 1640973600000L, // 2022-01-01 02:00:00
+ 1640977200000L, // 2022-01-01 03:00:00
+ 1640980800000L // 2022-01-01 04:00:00
};
final int[] levels = {100, 94, 90, 82, 50};
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
@@ -396,12 +466,10 @@
final List<Long> expectedDailyTimestamps = List.of(timestamps[0], timestamps[4]);
final List<Integer> expectedDailyLevels = List.of(levels[0], levels[4]);
- final List<List<Long>> expectedHourlyTimestamps = List.of(
- List.of(timestamps[0], timestamps[2], timestamps[4])
- );
- final List<List<Integer>> expectedHourlyLevels = List.of(
- List.of(levels[0], levels[2], levels[4])
- );
+ final List<List<Long>> expectedHourlyTimestamps =
+ List.of(List.of(timestamps[0], timestamps[2], timestamps[4]));
+ final List<List<Integer>> expectedHourlyLevels =
+ List.of(List.of(levels[0], levels[2], levels[4]));
verifyExpectedBatteryLevelData(
resultData,
expectedDailyTimestamps,
@@ -414,10 +482,10 @@
public void getLevelDataThroughProcessedHistoryMap_MultipleDaysData_returnExpectedResult() {
// Timezone GMT+8
final long[] timestamps = {
- 1641038400000L, // 2022-01-01 20:00:00
- 1641060000000L, // 2022-01-02 02:00:00
- 1641067200000L, // 2022-01-02 04:00:00
- 1641081600000L, // 2022-01-02 08:00:00
+ 1641038400000L, // 2022-01-01 20:00:00
+ 1641060000000L, // 2022-01-02 02:00:00
+ 1641067200000L, // 2022-01-02 04:00:00
+ 1641081600000L, // 2022-01-02 08:00:00
};
final int[] levels = {100, 94, 90, 82};
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
@@ -427,29 +495,30 @@
final BatteryLevelData resultData =
DataProcessor.getLevelDataThroughProcessedHistoryMap(mContext, batteryHistoryMap);
- final List<Long> expectedDailyTimestamps = List.of(
- 1641038400000L, // 2022-01-01 20:00:00
- 1641052800000L, // 2022-01-02 00:00:00
- 1641081600000L // 2022-01-02 08:00:00
- );
+ final List<Long> expectedDailyTimestamps =
+ List.of(
+ 1641038400000L, // 2022-01-01 20:00:00
+ 1641052800000L, // 2022-01-02 00:00:00
+ 1641081600000L // 2022-01-02 08:00:00
+ );
final List<Integer> expectedDailyLevels = new ArrayList<>();
expectedDailyLevels.add(100);
expectedDailyLevels.add(BATTERY_LEVEL_UNKNOWN);
expectedDailyLevels.add(82);
- final List<List<Long>> expectedHourlyTimestamps = List.of(
+ final List<List<Long>> expectedHourlyTimestamps =
List.of(
- 1641038400000L, // 2022-01-01 20:00:00
- 1641045600000L, // 2022-01-01 22:00:00
- 1641052800000L // 2022-01-02 00:00:00
- ),
- List.of(
- 1641052800000L, // 2022-01-02 00:00:00
- 1641060000000L, // 2022-01-02 02:00:00
- 1641067200000L, // 2022-01-02 04:00:00
- 1641074400000L, // 2022-01-02 06:00:00
- 1641081600000L // 2022-01-02 08:00:00
- )
- );
+ List.of(
+ 1641038400000L, // 2022-01-01 20:00:00
+ 1641045600000L, // 2022-01-01 22:00:00
+ 1641052800000L // 2022-01-02 00:00:00
+ ),
+ List.of(
+ 1641052800000L, // 2022-01-02 00:00:00
+ 1641060000000L, // 2022-01-02 02:00:00
+ 1641067200000L, // 2022-01-02 04:00:00
+ 1641074400000L, // 2022-01-02 06:00:00
+ 1641081600000L // 2022-01-02 08:00:00
+ ));
final List<Integer> expectedHourlyLevels1 = new ArrayList<>();
expectedHourlyLevels1.add(100);
expectedHourlyLevels1.add(BATTERY_LEVEL_UNKNOWN);
@@ -460,10 +529,8 @@
expectedHourlyLevels2.add(90);
expectedHourlyLevels2.add(BATTERY_LEVEL_UNKNOWN);
expectedHourlyLevels2.add(82);
- final List<List<Integer>> expectedHourlyLevels = List.of(
- expectedHourlyLevels1,
- expectedHourlyLevels2
- );
+ final List<List<Integer>> expectedHourlyLevels =
+ List.of(expectedHourlyLevels1, expectedHourlyLevels2);
verifyExpectedBatteryLevelData(
resultData,
expectedDailyTimestamps,
@@ -477,8 +544,8 @@
// Timezone PST 2022-11-06 has an extra 01:00:00 - 01:59:59 for daylight saving.
TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
final long[] timestamps = {
- 1667667600000L, // 2022-11-05 10:00:00
- 1667829600000L // 2022-11-07 06:00:00
+ 1667667600000L, // 2022-11-05 10:00:00
+ 1667829600000L // 2022-11-07 06:00:00
};
final int[] levels = {100, 88};
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
@@ -488,51 +555,52 @@
final BatteryLevelData resultData =
DataProcessor.getLevelDataThroughProcessedHistoryMap(mContext, batteryHistoryMap);
- final List<Long> expectedDailyTimestamps = List.of(
- 1667667600000L, // 2022-11-05 10:00:00
- 1667718000000L, // 2022-11-06 00:00:00
- 1667808000000L, // 2022-11-07 00:00:00
- 1667829600000L // 2022-11-07 06:00:00
- );
+ final List<Long> expectedDailyTimestamps =
+ List.of(
+ 1667667600000L, // 2022-11-05 10:00:00
+ 1667718000000L, // 2022-11-06 00:00:00
+ 1667808000000L, // 2022-11-07 00:00:00
+ 1667829600000L // 2022-11-07 06:00:00
+ );
final List<Integer> expectedDailyLevels = new ArrayList<>();
expectedDailyLevels.add(100);
expectedDailyLevels.add(BATTERY_LEVEL_UNKNOWN);
expectedDailyLevels.add(BATTERY_LEVEL_UNKNOWN);
expectedDailyLevels.add(88);
- final List<List<Long>> expectedHourlyTimestamps = List.of(
+ final List<List<Long>> expectedHourlyTimestamps =
List.of(
- 1667667600000L, // 2022-11-05 10:00:00
- 1667674800000L, // 2022-11-05 12:00:00
- 1667682000000L, // 2022-11-05 14:00:00
- 1667689200000L, // 2022-11-05 16:00:00
- 1667696400000L, // 2022-11-05 18:00:00
- 1667703600000L, // 2022-11-05 20:00:00
- 1667710800000L, // 2022-11-05 22:00:00
- 1667718000000L // 2022-11-06 00:00:00
- ),
- List.of(
- 1667718000000L, // 2022-11-06 00:00:00
- 1667725200000L, // 2022-11-06 01:00:00 after daylight saving change
- 1667732400000L, // 2022-11-06 03:00:00
- 1667739600000L, // 2022-11-06 05:00:00
- 1667746800000L, // 2022-11-06 07:00:00
- 1667754000000L, // 2022-11-06 09:00:00
- 1667761200000L, // 2022-11-06 11:00:00
- 1667768400000L, // 2022-11-06 13:00:00
- 1667775600000L, // 2022-11-06 15:00:00
- 1667782800000L, // 2022-11-06 17:00:00
- 1667790000000L, // 2022-11-06 19:00:00
- 1667797200000L, // 2022-11-06 21:00:00
- 1667804400000L, // 2022-11-06 23:00:00
- 1667808000000L // 2022-11-07 00:00:00
- ),
- List.of(
- 1667808000000L, // 2022-11-07 00:00:00
- 1667815200000L, // 2022-11-07 02:00:00
- 1667822400000L, // 2022-11-07 04:00:00
- 1667829600000L // 2022-11-07 06:00:00
- )
- );
+ List.of(
+ 1667667600000L, // 2022-11-05 10:00:00
+ 1667674800000L, // 2022-11-05 12:00:00
+ 1667682000000L, // 2022-11-05 14:00:00
+ 1667689200000L, // 2022-11-05 16:00:00
+ 1667696400000L, // 2022-11-05 18:00:00
+ 1667703600000L, // 2022-11-05 20:00:00
+ 1667710800000L, // 2022-11-05 22:00:00
+ 1667718000000L // 2022-11-06 00:00:00
+ ),
+ List.of(
+ 1667718000000L, // 2022-11-06 00:00:00
+ 1667725200000L, // 2022-11-06 01:00:00 after daylight saving change
+ 1667732400000L, // 2022-11-06 03:00:00
+ 1667739600000L, // 2022-11-06 05:00:00
+ 1667746800000L, // 2022-11-06 07:00:00
+ 1667754000000L, // 2022-11-06 09:00:00
+ 1667761200000L, // 2022-11-06 11:00:00
+ 1667768400000L, // 2022-11-06 13:00:00
+ 1667775600000L, // 2022-11-06 15:00:00
+ 1667782800000L, // 2022-11-06 17:00:00
+ 1667790000000L, // 2022-11-06 19:00:00
+ 1667797200000L, // 2022-11-06 21:00:00
+ 1667804400000L, // 2022-11-06 23:00:00
+ 1667808000000L // 2022-11-07 00:00:00
+ ),
+ List.of(
+ 1667808000000L, // 2022-11-07 00:00:00
+ 1667815200000L, // 2022-11-07 02:00:00
+ 1667822400000L, // 2022-11-07 04:00:00
+ 1667829600000L // 2022-11-07 06:00:00
+ ));
final List<Integer> expectedHourlyLevels1 = new ArrayList<>();
expectedHourlyLevels1.add(100);
expectedHourlyLevels1.add(BATTERY_LEVEL_UNKNOWN);
@@ -562,11 +630,8 @@
expectedHourlyLevels3.add(BATTERY_LEVEL_UNKNOWN);
expectedHourlyLevels3.add(BATTERY_LEVEL_UNKNOWN);
expectedHourlyLevels3.add(88);
- final List<List<Integer>> expectedHourlyLevels = List.of(
- expectedHourlyLevels1,
- expectedHourlyLevels2,
- expectedHourlyLevels3
- );
+ final List<List<Integer>> expectedHourlyLevels =
+ List.of(expectedHourlyLevels1, expectedHourlyLevels2, expectedHourlyLevels3);
verifyExpectedBatteryLevelData(
resultData,
expectedDailyTimestamps,
@@ -580,8 +645,8 @@
// Timezone PST 2022-03-13 has no 02:00:00 - 02:59:59 for daylight saving.
TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
final long[] timestamps = {
- 1647151200000L, // 2022-03-12 22:00:00
- 1647262800000L // 2022-03-14 06:00:00
+ 1647151200000L, // 2022-03-12 22:00:00
+ 1647262800000L // 2022-03-14 06:00:00
};
final int[] levels = {100, 88};
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
@@ -591,44 +656,45 @@
final BatteryLevelData resultData =
DataProcessor.getLevelDataThroughProcessedHistoryMap(mContext, batteryHistoryMap);
- final List<Long> expectedDailyTimestamps = List.of(
- 1647151200000L, // 2022-03-12 22:00:00
- 1647158400000L, // 2022-03-13 00:00:00
- 1647241200000L, // 2022-03-14 00:00:00
- 1647262800000L // 2022-03-14 06:00:00
- );
+ final List<Long> expectedDailyTimestamps =
+ List.of(
+ 1647151200000L, // 2022-03-12 22:00:00
+ 1647158400000L, // 2022-03-13 00:00:00
+ 1647241200000L, // 2022-03-14 00:00:00
+ 1647262800000L // 2022-03-14 06:00:00
+ );
final List<Integer> expectedDailyLevels = new ArrayList<>();
expectedDailyLevels.add(100);
expectedDailyLevels.add(BATTERY_LEVEL_UNKNOWN);
expectedDailyLevels.add(BATTERY_LEVEL_UNKNOWN);
expectedDailyLevels.add(88);
- final List<List<Long>> expectedHourlyTimestamps = List.of(
+ final List<List<Long>> expectedHourlyTimestamps =
List.of(
- 1647151200000L, // 2022-03-12 22:00:00
- 1647158400000L // 2022-03-13 00:00:00
- ),
- List.of(
- 1647158400000L, // 2022-03-13 00:00:00
- 1647165600000L, // 2022-03-13 03:00:00 after daylight saving change
- 1647172800000L, // 2022-03-13 05:00:00
- 1647180000000L, // 2022-03-13 07:00:00
- 1647187200000L, // 2022-03-13 09:00:00
- 1647194400000L, // 2022-03-13 11:00:00
- 1647201600000L, // 2022-03-13 13:00:00
- 1647208800000L, // 2022-03-13 15:00:00
- 1647216000000L, // 2022-03-13 17:00:00
- 1647223200000L, // 2022-03-13 19:00:00
- 1647230400000L, // 2022-03-13 21:00:00
- 1647237600000L, // 2022-03-13 23:00:00
- 1647241200000L // 2022-03-14 00:00:00
- ),
- List.of(
- 1647241200000L, // 2022-03-14 00:00:00
- 1647248400000L, // 2022-03-14 02:00:00
- 1647255600000L, // 2022-03-14 04:00:00
- 1647262800000L // 2022-03-14 06:00:00
- )
- );
+ List.of(
+ 1647151200000L, // 2022-03-12 22:00:00
+ 1647158400000L // 2022-03-13 00:00:00
+ ),
+ List.of(
+ 1647158400000L, // 2022-03-13 00:00:00
+ 1647165600000L, // 2022-03-13 03:00:00 after daylight saving change
+ 1647172800000L, // 2022-03-13 05:00:00
+ 1647180000000L, // 2022-03-13 07:00:00
+ 1647187200000L, // 2022-03-13 09:00:00
+ 1647194400000L, // 2022-03-13 11:00:00
+ 1647201600000L, // 2022-03-13 13:00:00
+ 1647208800000L, // 2022-03-13 15:00:00
+ 1647216000000L, // 2022-03-13 17:00:00
+ 1647223200000L, // 2022-03-13 19:00:00
+ 1647230400000L, // 2022-03-13 21:00:00
+ 1647237600000L, // 2022-03-13 23:00:00
+ 1647241200000L // 2022-03-14 00:00:00
+ ),
+ List.of(
+ 1647241200000L, // 2022-03-14 00:00:00
+ 1647248400000L, // 2022-03-14 02:00:00
+ 1647255600000L, // 2022-03-14 04:00:00
+ 1647262800000L // 2022-03-14 06:00:00
+ ));
final List<Integer> expectedHourlyLevels1 = new ArrayList<>();
expectedHourlyLevels1.add(100);
expectedHourlyLevels1.add(BATTERY_LEVEL_UNKNOWN);
@@ -651,11 +717,8 @@
expectedHourlyLevels3.add(BATTERY_LEVEL_UNKNOWN);
expectedHourlyLevels3.add(BATTERY_LEVEL_UNKNOWN);
expectedHourlyLevels3.add(88);
- final List<List<Integer>> expectedHourlyLevels = List.of(
- expectedHourlyLevels1,
- expectedHourlyLevels2,
- expectedHourlyLevels3
- );
+ final List<List<Integer>> expectedHourlyLevels =
+ List.of(expectedHourlyLevels1, expectedHourlyLevels2, expectedHourlyLevels3);
verifyExpectedBatteryLevelData(
resultData,
expectedDailyTimestamps,
@@ -666,8 +729,9 @@
@Test
public void getTimestampSlots_emptyRawList_returnEmptyList() {
- final List<Long> resultList = DataProcessor.getTimestampSlots(
- new ArrayList<>(), 1641038400000L); // 2022-01-01 20:00:00
+ final List<Long> resultList =
+ DataProcessor.getTimestampSlots(
+ new ArrayList<>(), 1641038400000L); // 2022-01-01 20:00:00
assertThat(resultList).isEmpty();
}
@@ -756,20 +820,24 @@
@Test
public void findNearestTimestamp_returnExpectedResult() {
- long[] results = DataProcessor.findNearestTimestamp(
- Arrays.asList(10L, 20L, 30L, 40L), /*target=*/ 15L);
+ long[] results =
+ DataProcessor.findNearestTimestamp(
+ Arrays.asList(10L, 20L, 30L, 40L), /* target= */ 15L);
assertThat(results).isEqualTo(new long[] {10L, 20L});
- results = DataProcessor.findNearestTimestamp(
- Arrays.asList(10L, 20L, 30L, 40L), /*target=*/ 10L);
+ results =
+ DataProcessor.findNearestTimestamp(
+ Arrays.asList(10L, 20L, 30L, 40L), /* target= */ 10L);
assertThat(results).isEqualTo(new long[] {10L, 10L});
- results = DataProcessor.findNearestTimestamp(
- Arrays.asList(10L, 20L, 30L, 40L), /*target=*/ 5L);
+ results =
+ DataProcessor.findNearestTimestamp(
+ Arrays.asList(10L, 20L, 30L, 40L), /* target= */ 5L);
assertThat(results).isEqualTo(new long[] {0L, 10L});
- results = DataProcessor.findNearestTimestamp(
- Arrays.asList(10L, 20L, 30L, 40L), /*target=*/ 50L);
+ results =
+ DataProcessor.findNearestTimestamp(
+ Arrays.asList(10L, 20L, 30L, 40L), /* target= */ 50L);
assertThat(results).isEqualTo(new long[] {40L, 0L});
}
@@ -781,36 +849,100 @@
hourlyBatteryLevelsPerDay.add(
new BatteryLevelData.PeriodBatteryLevelData(new ArrayMap<>(), new ArrayList<>()));
- assertThat(DataProcessor.getBatteryDiffDataMap(mContext, hourlyBatteryLevelsPerDay,
- new HashMap<>(), /*appUsagePeriodMap=*/ null, Set.of(), Set.of())).isEmpty();
+ assertThat(
+ DataProcessor.getBatteryDiffDataMap(
+ mContext,
+ hourlyBatteryLevelsPerDay,
+ new HashMap<>(),
+ /* appUsagePeriodMap= */ null,
+ Set.of(),
+ Set.of()))
+ .isEmpty();
}
@Test
public void getBatteryDiffDataMap_normalFlow_returnExpectedResult() {
final int userId = mContext.getUserId();
- final long[] batteryHistoryKeys = new long[]{
- 1641045600000L, // 2022-01-01 22:00:00
- 1641049200000L, // 2022-01-01 23:00:00
- 1641052800000L, // 2022-01-02 00:00:00
- };
- final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = Map.of(
- batteryHistoryKeys[0], Map.of(FAKE_PACKAGE_NAME, createBatteryHistEntry(
- FAKE_PACKAGE_NAME, "fake_label", /*consumePower=*/ 0, 0, 0,
- 0, 0, 0L, userId, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, 0L, 0L, false)),
- batteryHistoryKeys[1], Map.of(FAKE_PACKAGE_NAME, createBatteryHistEntry(
- FAKE_PACKAGE_NAME, "fake_label", /*consumePower=*/ 5, 0, 0,
- 0, 0, 0L, userId, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, 0L, 0L, false)),
- batteryHistoryKeys[2], Map.of(FAKE_PACKAGE_NAME, createBatteryHistEntry(
- FAKE_PACKAGE_NAME, "fake_label", /*consumePower=*/ 16, 0, 0,
- 0, 0, 0L, userId, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, 0L, 0L, false)));
+ final long[] batteryHistoryKeys =
+ new long[] {
+ 1641045600000L, // 2022-01-01 22:00:00
+ 1641049200000L, // 2022-01-01 23:00:00
+ 1641052800000L, // 2022-01-02 00:00:00
+ };
+ final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
+ Map.of(
+ batteryHistoryKeys[0],
+ Map.of(
+ FAKE_PACKAGE_NAME,
+ createBatteryHistEntry(
+ FAKE_PACKAGE_NAME,
+ "fake_label",
+ /* consumePower= */ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0L,
+ userId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ 0L,
+ 0L,
+ false)),
+ batteryHistoryKeys[1],
+ Map.of(
+ FAKE_PACKAGE_NAME,
+ createBatteryHistEntry(
+ FAKE_PACKAGE_NAME,
+ "fake_label",
+ /* consumePower= */ 5,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0L,
+ userId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ 0L,
+ 0L,
+ false)),
+ batteryHistoryKeys[2],
+ Map.of(
+ FAKE_PACKAGE_NAME,
+ createBatteryHistEntry(
+ FAKE_PACKAGE_NAME,
+ "fake_label",
+ /* consumePower= */ 16,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0L,
+ userId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ 0L,
+ 0L,
+ false)));
final BatteryLevelData batteryLevelData = generateBatteryLevelData(batteryHistoryKeys);
final Map<Integer, Map<Integer, Map<Long, Map<String, List<AppUsagePeriod>>>>>
- appUsagePeriodMap = Map.of(0, Map.of(0, Map.of(Long.valueOf(userId), Map.of(
- FAKE_PACKAGE_NAME, List.of(buildAppUsagePeriod(0, 6))))));
+ appUsagePeriodMap =
+ Map.of(
+ 0,
+ Map.of(
+ 0,
+ Map.of(
+ Long.valueOf(userId),
+ Map.of(
+ FAKE_PACKAGE_NAME,
+ List.of(buildAppUsagePeriod(0, 6))))));
- Map<Long, BatteryDiffData> batteryDiffDataMap = DataProcessor.getBatteryDiffDataMap(
- mContext, batteryLevelData.getHourlyBatteryLevelsPerDay(), batteryHistoryMap,
- appUsagePeriodMap, Set.of(), Set.of());
+ Map<Long, BatteryDiffData> batteryDiffDataMap =
+ DataProcessor.getBatteryDiffDataMap(
+ mContext,
+ batteryLevelData.getHourlyBatteryLevelsPerDay(),
+ batteryHistoryMap,
+ appUsagePeriodMap,
+ Set.of(),
+ Set.of());
assertThat(batteryDiffDataMap).hasSize(1);
assertThat(batteryDiffDataMap).containsKey(batteryHistoryKeys[0]);
@@ -821,31 +953,48 @@
@Test
public void generateBatteryUsageMap_returnsExpectedResult() {
- final long[] batteryHistoryKeys = new long[]{
- 1641045600000L, // 2022-01-01 22:00:00
- 1641049200000L, // 2022-01-01 23:00:00
- 1641052800000L, // 2022-01-02 00:00:00
- 1641056400000L, // 2022-01-02 01:00:00
- 1641060000000L, // 2022-01-02 02:00:00
- };
+ final long[] batteryHistoryKeys =
+ new long[] {
+ 1641045600000L, // 2022-01-01 22:00:00
+ 1641049200000L, // 2022-01-01 23:00:00
+ 1641052800000L, // 2022-01-02 00:00:00
+ 1641056400000L, // 2022-01-02 01:00:00
+ 1641060000000L, // 2022-01-02 02:00:00
+ };
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
final int currentUserId = mContext.getUserId();
- final BatteryHistEntry fakeEntry = createBatteryHistEntry(
- FAKE_PACKAGE_NAME, "fake_label", /*consumePower=*/ 0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 0L, currentUserId, ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
- /*foregroundUsageTimeInMs=*/ 0L, /*backgroundUsageTimeInMs=*/ 0L,
- /*isHidden=*/ false);
+ final BatteryHistEntry fakeEntry =
+ createBatteryHistEntry(
+ FAKE_PACKAGE_NAME,
+ "fake_label",
+ /* consumePower= */ 0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 0L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 0L,
+ /* backgroundUsageTimeInMs= */ 0L,
+ /* isHidden= */ false);
// Adds the index = 0 data.
Map<String, BatteryHistEntry> entryMap = new HashMap<>();
- BatteryHistEntry entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 5.0,
- /*foregroundUsageConsumePower=*/ 2, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 3, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 1L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
- /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+ BatteryHistEntry entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 5.0,
+ /* foregroundUsageConsumePower= */ 2,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 3,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 1L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 10L,
+ /* backgroundUsageTimeInMs= */ 20L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
entryMap.put(fakeEntry.getKey(), fakeEntry);
batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
@@ -855,69 +1004,125 @@
batteryHistoryMap.put(batteryHistoryKeys[1], entryMap);
// Adds the index = 2 data.
entryMap = new HashMap<>();
- entry = createBatteryHistEntry(
- "package2", "label2", /*consumePower=*/ 20.0,
- /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
- /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
- /*uid=*/ 2L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 15L,
- /*backgroundUsageTimeInMs=*/ 25L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package2",
+ "label2",
+ /* consumePower= */ 20.0,
+ /* foregroundUsageConsumePower= */ 5,
+ /* foregroundServiceUsageConsumePower= */ 5,
+ /* backgroundUsageConsumePower= */ 5,
+ /* cachedUsageConsumePower= */ 5,
+ /* uid= */ 2L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 15L,
+ /* backgroundUsageTimeInMs= */ 25L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
entryMap.put(fakeEntry.getKey(), fakeEntry);
batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
// Adds the index = 3 data.
entryMap = new HashMap<>();
- entry = createBatteryHistEntry(
- "package2", "label2", /*consumePower=*/ 40.0,
- /*foregroundUsageConsumePower=*/ 8, /*foregroundServiceUsageConsumePower=*/ 8,
- /*backgroundUsageConsumePower=*/ 8, /*cachedUsageConsumePower=*/ 8,
- /*uid=*/ 2L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 25L,
- /*backgroundUsageTimeInMs=*/ 35L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package2",
+ "label2",
+ /* consumePower= */ 40.0,
+ /* foregroundUsageConsumePower= */ 8,
+ /* foregroundServiceUsageConsumePower= */ 8,
+ /* backgroundUsageConsumePower= */ 8,
+ /* cachedUsageConsumePower= */ 8,
+ /* uid= */ 2L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 25L,
+ /* backgroundUsageTimeInMs= */ 35L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package3", "Screen", /*consumePower=*/ 10.0,
- /*foregroundUsageConsumePower=*/ 4, /*foregroundServiceUsageConsumePower=*/ 2,
- /*backgroundUsageConsumePower=*/ 2, /*cachedUsageConsumePower=*/ 2,
- /*uid=*/ 3L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*foregroundUsageTimeInMs=*/ 40L,
- /*backgroundUsageTimeInMs=*/ 50L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package3",
+ "Screen",
+ /* consumePower= */ 10.0,
+ /* foregroundUsageConsumePower= */ 4,
+ /* foregroundServiceUsageConsumePower= */ 2,
+ /* backgroundUsageConsumePower= */ 2,
+ /* cachedUsageConsumePower= */ 2,
+ /* uid= */ 3L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
+ /* foregroundUsageTimeInMs= */ 40L,
+ /* backgroundUsageTimeInMs= */ 50L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package4", "label4", /*consumePower=*/ 15.0,
- /*foregroundUsageConsumePower=*/ 6, /*foregroundServiceUsageConsumePower=*/ 3,
- /*backgroundUsageConsumePower=*/ 3, /*cachedUsageConsumePower=*/ 3,
- /*uid=*/ 4L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 5L,
- /*backgroundUsageTimeInMs=*/ 5L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package4",
+ "label4",
+ /* consumePower= */ 15.0,
+ /* foregroundUsageConsumePower= */ 6,
+ /* foregroundServiceUsageConsumePower= */ 3,
+ /* backgroundUsageConsumePower= */ 3,
+ /* cachedUsageConsumePower= */ 3,
+ /* uid= */ 4L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 5L,
+ /* backgroundUsageTimeInMs= */ 5L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
entryMap.put(fakeEntry.getKey(), fakeEntry);
batteryHistoryMap.put(batteryHistoryKeys[3], entryMap);
// Adds the index = 4 data.
entryMap = new HashMap<>();
- entry = createBatteryHistEntry(
- "package2", "label2", /*consumePower=*/ 40.0,
- /*foregroundUsageConsumePower=*/ 14, /*foregroundServiceUsageConsumePower=*/ 9,
- /*backgroundUsageConsumePower=*/ 9, /*cachedUsageConsumePower=*/ 8,
- /*uid=*/ 2L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 30L,
- /*backgroundUsageTimeInMs=*/ 40L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package2",
+ "label2",
+ /* consumePower= */ 40.0,
+ /* foregroundUsageConsumePower= */ 14,
+ /* foregroundServiceUsageConsumePower= */ 9,
+ /* backgroundUsageConsumePower= */ 9,
+ /* cachedUsageConsumePower= */ 8,
+ /* uid= */ 2L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 30L,
+ /* backgroundUsageTimeInMs= */ 40L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package3", "Screen", /*consumePower=*/ 20.0,
- /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
- /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
- /*uid=*/ 3L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*foregroundUsageTimeInMs=*/ 50L,
- /*backgroundUsageTimeInMs=*/ 60L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package3",
+ "Screen",
+ /* consumePower= */ 20.0,
+ /* foregroundUsageConsumePower= */ 5,
+ /* foregroundServiceUsageConsumePower= */ 5,
+ /* backgroundUsageConsumePower= */ 5,
+ /* cachedUsageConsumePower= */ 5,
+ /* uid= */ 3L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
+ /* foregroundUsageTimeInMs= */ 50L,
+ /* backgroundUsageTimeInMs= */ 60L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package4", "label4", /*consumePower=*/ 40.0,
- /*foregroundUsageConsumePower=*/ 8, /*foregroundServiceUsageConsumePower=*/ 8,
- /*backgroundUsageConsumePower=*/ 8, /*cachedUsageConsumePower=*/ 8,
- /*uid=*/ 4L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 5L,
- /*backgroundUsageTimeInMs=*/ 5L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package4",
+ "label4",
+ /* consumePower= */ 40.0,
+ /* foregroundUsageConsumePower= */ 8,
+ /* foregroundServiceUsageConsumePower= */ 8,
+ /* backgroundUsageConsumePower= */ 8,
+ /* cachedUsageConsumePower= */ 8,
+ /* uid= */ 4L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 5L,
+ /* backgroundUsageTimeInMs= */ 5L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
entryMap.put(fakeEntry.getKey(), fakeEntry);
batteryHistoryMap.put(batteryHistoryKeys[4], entryMap);
@@ -938,18 +1143,22 @@
appUsageMap = new HashMap<>();
userPeriodMap = new HashMap<>();
appUsageMap.put(Long.valueOf(currentUserId), userPeriodMap);
- userPeriodMap.put("package2",
- List.of(buildAppUsagePeriod(2, 7), buildAppUsagePeriod(5, 9)));
- userPeriodMap.put("package3",
- List.of(buildAppUsagePeriod(10, 15), buildAppUsagePeriod(25, 29)));
+ userPeriodMap.put(
+ "package2", List.of(buildAppUsagePeriod(2, 7), buildAppUsagePeriod(5, 9)));
+ userPeriodMap.put(
+ "package3", List.of(buildAppUsagePeriod(10, 15), buildAppUsagePeriod(25, 29)));
appUsagePeriodMap.get(1).put(0, appUsageMap);
final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
DataProcessor.generateBatteryUsageMap(
mContext,
- DataProcessor.getBatteryDiffDataMap(mContext,
- batteryLevelData.getHourlyBatteryLevelsPerDay(), batteryHistoryMap,
- appUsagePeriodMap, Set.of(), Set.of()),
+ DataProcessor.getBatteryDiffDataMap(
+ mContext,
+ batteryLevelData.getHourlyBatteryLevelsPerDay(),
+ batteryHistoryMap,
+ appUsagePeriodMap,
+ Set.of(),
+ Set.of()),
batteryLevelData);
BatteryDiffData resultDiffData =
@@ -958,146 +1167,261 @@
.get(DataProcessor.SELECTED_INDEX_ALL);
assertThat(resultDiffData.getScreenOnTime()).isEqualTo(36L);
assertBatteryDiffEntry(
- resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 2L,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 50.0,
- /*foregroundUsageConsumePower=*/ 14, /*foregroundServiceUsageConsumePower=*/ 9,
- /*backgroundUsageConsumePower=*/ 9, /*cachedUsageConsumePower=*/ 8,
- /*foregroundUsageTimeInMs=*/ 30, /*backgroundUsageTimeInMs=*/ 40,
- /*screenOnTimeInMs=*/ 12);
+ resultDiffData.getAppDiffEntryList().get(0),
+ currentUserId,
+ /* uid= */ 2L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* consumePercentage= */ 50.0,
+ /* foregroundUsageConsumePower= */ 14,
+ /* foregroundServiceUsageConsumePower= */ 9,
+ /* backgroundUsageConsumePower= */ 9,
+ /* cachedUsageConsumePower= */ 8,
+ /* foregroundUsageTimeInMs= */ 30,
+ /* backgroundUsageTimeInMs= */ 40,
+ /* screenOnTimeInMs= */ 12);
assertBatteryDiffEntry(
- resultDiffData.getAppDiffEntryList().get(1), currentUserId, /*uid=*/ 4L,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 50.0,
- /*foregroundUsageConsumePower=*/ 8, /*foregroundServiceUsageConsumePower=*/ 8,
- /*backgroundUsageConsumePower=*/ 8, /*cachedUsageConsumePower=*/ 8,
- /*foregroundUsageTimeInMs=*/ 5, /*backgroundUsageTimeInMs=*/ 5,
- /*screenOnTimeInMs=*/ 0);
+ resultDiffData.getAppDiffEntryList().get(1),
+ currentUserId,
+ /* uid= */ 4L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* consumePercentage= */ 50.0,
+ /* foregroundUsageConsumePower= */ 8,
+ /* foregroundServiceUsageConsumePower= */ 8,
+ /* backgroundUsageConsumePower= */ 8,
+ /* cachedUsageConsumePower= */ 8,
+ /* foregroundUsageTimeInMs= */ 5,
+ /* backgroundUsageTimeInMs= */ 5,
+ /* screenOnTimeInMs= */ 0);
assertBatteryDiffEntry(
- resultDiffData.getSystemDiffEntryList().get(0), currentUserId, /*uid=*/ 3L,
- ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*consumePercentage=*/ 100.0,
- /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
- /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
- /*foregroundUsageTimeInMs=*/ 16, /*backgroundUsageTimeInMs=*/ 60,
- /*screenOnTimeInMs=*/ 9);
+ resultDiffData.getSystemDiffEntryList().get(0),
+ currentUserId,
+ /* uid= */ 3L,
+ ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
+ /* consumePercentage= */ 100.0,
+ /* foregroundUsageConsumePower= */ 5,
+ /* foregroundServiceUsageConsumePower= */ 5,
+ /* backgroundUsageConsumePower= */ 5,
+ /* cachedUsageConsumePower= */ 5,
+ /* foregroundUsageTimeInMs= */ 16,
+ /* backgroundUsageTimeInMs= */ 60,
+ /* screenOnTimeInMs= */ 9);
resultDiffData = resultMap.get(0).get(DataProcessor.SELECTED_INDEX_ALL);
assertBatteryDiffEntry(
- resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 2L,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 100.0,
- /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
- /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
- /*foregroundUsageTimeInMs=*/ 15, /*backgroundUsageTimeInMs=*/ 25,
- /*screenOnTimeInMs=*/ 5);
+ resultDiffData.getAppDiffEntryList().get(0),
+ currentUserId,
+ /* uid= */ 2L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* consumePercentage= */ 100.0,
+ /* foregroundUsageConsumePower= */ 5,
+ /* foregroundServiceUsageConsumePower= */ 5,
+ /* backgroundUsageConsumePower= */ 5,
+ /* cachedUsageConsumePower= */ 5,
+ /* foregroundUsageTimeInMs= */ 15,
+ /* backgroundUsageTimeInMs= */ 25,
+ /* screenOnTimeInMs= */ 5);
resultDiffData = resultMap.get(1).get(DataProcessor.SELECTED_INDEX_ALL);
assertBatteryDiffEntry(
- resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 4L,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 66.66666666666666,
- /*foregroundUsageConsumePower=*/ 8, /*foregroundServiceUsageConsumePower=*/ 8,
- /*backgroundUsageConsumePower=*/ 8, /*cachedUsageConsumePower=*/ 8,
- /*foregroundUsageTimeInMs=*/ 5, /*backgroundUsageTimeInMs=*/ 5,
- /*screenOnTimeInMs=*/ 0);
+ resultDiffData.getAppDiffEntryList().get(0),
+ currentUserId,
+ /* uid= */ 4L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* consumePercentage= */ 66.66666666666666,
+ /* foregroundUsageConsumePower= */ 8,
+ /* foregroundServiceUsageConsumePower= */ 8,
+ /* backgroundUsageConsumePower= */ 8,
+ /* cachedUsageConsumePower= */ 8,
+ /* foregroundUsageTimeInMs= */ 5,
+ /* backgroundUsageTimeInMs= */ 5,
+ /* screenOnTimeInMs= */ 0);
assertBatteryDiffEntry(
- resultDiffData.getAppDiffEntryList().get(1), currentUserId, /*uid=*/ 2L,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 33.33333333333333,
- /*foregroundUsageConsumePower=*/ 9, /*foregroundServiceUsageConsumePower=*/ 4,
- /*backgroundUsageConsumePower=*/ 4, /*cachedUsageConsumePower=*/ 3,
- /*foregroundUsageTimeInMs=*/ 15, /*backgroundUsageTimeInMs=*/ 15,
- /*screenOnTimeInMs=*/ 7);
+ resultDiffData.getAppDiffEntryList().get(1),
+ currentUserId,
+ /* uid= */ 2L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* consumePercentage= */ 33.33333333333333,
+ /* foregroundUsageConsumePower= */ 9,
+ /* foregroundServiceUsageConsumePower= */ 4,
+ /* backgroundUsageConsumePower= */ 4,
+ /* cachedUsageConsumePower= */ 3,
+ /* foregroundUsageTimeInMs= */ 15,
+ /* backgroundUsageTimeInMs= */ 15,
+ /* screenOnTimeInMs= */ 7);
assertBatteryDiffEntry(
- resultDiffData.getSystemDiffEntryList().get(0), currentUserId, /*uid=*/ 3L,
- ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*consumePercentage=*/ 100.0,
- /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
- /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
- /*foregroundUsageTimeInMs=*/ 16, /*backgroundUsageTimeInMs=*/ 60,
- /*screenOnTimeInMs=*/ 9);
+ resultDiffData.getSystemDiffEntryList().get(0),
+ currentUserId,
+ /* uid= */ 3L,
+ ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
+ /* consumePercentage= */ 100.0,
+ /* foregroundUsageConsumePower= */ 5,
+ /* foregroundServiceUsageConsumePower= */ 5,
+ /* backgroundUsageConsumePower= */ 5,
+ /* cachedUsageConsumePower= */ 5,
+ /* foregroundUsageTimeInMs= */ 16,
+ /* backgroundUsageTimeInMs= */ 60,
+ /* screenOnTimeInMs= */ 9);
}
@Test
public void generateBatteryUsageMap_multipleUsers_returnsExpectedResult() {
- final long[] batteryHistoryKeys = new long[]{
- 1641052800000L, // 2022-01-02 00:00:00
- 1641056400000L, // 2022-01-02 01:00:00
- 1641060000000L // 2022-01-02 02:00:00
- };
+ final long[] batteryHistoryKeys =
+ new long[] {
+ 1641052800000L, // 2022-01-02 00:00:00
+ 1641056400000L, // 2022-01-02 01:00:00
+ 1641060000000L // 2022-01-02 02:00:00
+ };
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
final int currentUserId = mContext.getUserId();
// Adds the index = 0 data.
Map<String, BatteryHistEntry> entryMap = new HashMap<>();
- BatteryHistEntry entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 5.0,
- /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 1L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
- /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+ BatteryHistEntry entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 5.0,
+ /* foregroundUsageConsumePower= */ 5,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 1L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 10L,
+ /* backgroundUsageTimeInMs= */ 20L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 10.0,
- /*foregroundUsageConsumePower=*/ 7, /*foregroundServiceUsageConsumePower=*/ 1,
- /*backgroundUsageConsumePower=*/ 1, /*cachedUsageConsumePower=*/ 1,
- /*uid=*/ 2L, currentUserId + 1,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
- /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 10.0,
+ /* foregroundUsageConsumePower= */ 7,
+ /* foregroundServiceUsageConsumePower= */ 1,
+ /* backgroundUsageConsumePower= */ 1,
+ /* cachedUsageConsumePower= */ 1,
+ /* uid= */ 2L,
+ currentUserId + 1,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 10L,
+ /* backgroundUsageTimeInMs= */ 20L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package2", "label2", /*consumePower=*/ 5.0,
- /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 3L, currentUserId + 2,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 20L,
- /*backgroundUsageTimeInMs=*/ 30L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package2",
+ "label2",
+ /* consumePower= */ 5.0,
+ /* foregroundUsageConsumePower= */ 5,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 3L,
+ currentUserId + 2,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 20L,
+ /* backgroundUsageTimeInMs= */ 30L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
// Adds the index = 1 data.
entryMap = new HashMap<>();
- entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 15.0,
- /*foregroundUsageConsumePower=*/ 9, /*foregroundServiceUsageConsumePower=*/ 2,
- /*backgroundUsageConsumePower=*/ 2, /*cachedUsageConsumePower=*/ 2,
- /*uid=*/ 1L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 20L,
- /*backgroundUsageTimeInMs=*/ 30L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 15.0,
+ /* foregroundUsageConsumePower= */ 9,
+ /* foregroundServiceUsageConsumePower= */ 2,
+ /* backgroundUsageConsumePower= */ 2,
+ /* cachedUsageConsumePower= */ 2,
+ /* uid= */ 1L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 20L,
+ /* backgroundUsageTimeInMs= */ 30L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 30.0,
- /*foregroundUsageConsumePower=*/ 20, /*foregroundServiceUsageConsumePower=*/ 6,
- /*backgroundUsageConsumePower=*/ 2, /*cachedUsageConsumePower=*/ 2,
- /*uid=*/ 2L, currentUserId + 1,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
- /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 30.0,
+ /* foregroundUsageConsumePower= */ 20,
+ /* foregroundServiceUsageConsumePower= */ 6,
+ /* backgroundUsageConsumePower= */ 2,
+ /* cachedUsageConsumePower= */ 2,
+ /* uid= */ 2L,
+ currentUserId + 1,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 10L,
+ /* backgroundUsageTimeInMs= */ 20L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package2", "label2", /*consumePower=*/ 15.0,
- /*foregroundUsageConsumePower=*/ 10, /*foregroundServiceUsageConsumePower=*/ 5,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 3L, currentUserId + 2,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 30L,
- /*backgroundUsageTimeInMs=*/ 30L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package2",
+ "label2",
+ /* consumePower= */ 15.0,
+ /* foregroundUsageConsumePower= */ 10,
+ /* foregroundServiceUsageConsumePower= */ 5,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 3L,
+ currentUserId + 2,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 30L,
+ /* backgroundUsageTimeInMs= */ 30L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(batteryHistoryKeys[1], entryMap);
// Adds the index = 2 data.
entryMap = new HashMap<>();
- entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 25.0,
- /*foregroundUsageConsumePower=*/ 10, /*foregroundServiceUsageConsumePower=*/ 5,
- /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
- /*uid=*/ 1L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 20L,
- /*backgroundUsageTimeInMs=*/ 30L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 25.0,
+ /* foregroundUsageConsumePower= */ 10,
+ /* foregroundServiceUsageConsumePower= */ 5,
+ /* backgroundUsageConsumePower= */ 5,
+ /* cachedUsageConsumePower= */ 5,
+ /* uid= */ 1L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 20L,
+ /* backgroundUsageTimeInMs= */ 30L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 50.0,
- /*foregroundUsageConsumePower=*/ 20, /*foregroundServiceUsageConsumePower=*/ 10,
- /*backgroundUsageConsumePower=*/ 10, /*cachedUsageConsumePower=*/ 10,
- /*uid=*/ 2L, currentUserId + 1,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 20L,
- /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 50.0,
+ /* foregroundUsageConsumePower= */ 20,
+ /* foregroundServiceUsageConsumePower= */ 10,
+ /* backgroundUsageConsumePower= */ 10,
+ /* cachedUsageConsumePower= */ 10,
+ /* uid= */ 2L,
+ currentUserId + 1,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 20L,
+ /* backgroundUsageTimeInMs= */ 20L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package2", "label2", /*consumePower=*/ 25.0,
- /*foregroundUsageConsumePower=*/ 10, /*foregroundServiceUsageConsumePower=*/ 10,
- /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 3L, currentUserId + 2,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 30L,
- /*backgroundUsageTimeInMs=*/ 30L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package2",
+ "label2",
+ /* consumePower= */ 25.0,
+ /* foregroundUsageConsumePower= */ 10,
+ /* foregroundServiceUsageConsumePower= */ 10,
+ /* backgroundUsageConsumePower= */ 5,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 3L,
+ currentUserId + 2,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 30L,
+ /* backgroundUsageTimeInMs= */ 30L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
final BatteryLevelData batteryLevelData = generateBatteryLevelData(batteryHistoryKeys);
@@ -1105,9 +1429,13 @@
final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
DataProcessor.generateBatteryUsageMap(
mContext,
- DataProcessor.getBatteryDiffDataMap(mContext,
- batteryLevelData.getHourlyBatteryLevelsPerDay(), batteryHistoryMap,
- /*appUsagePeriodMap=*/ null, Set.of(), Set.of()),
+ DataProcessor.getBatteryDiffDataMap(
+ mContext,
+ batteryLevelData.getHourlyBatteryLevelsPerDay(),
+ batteryHistoryMap,
+ /* appUsagePeriodMap= */ null,
+ Set.of(),
+ Set.of()),
batteryLevelData);
final BatteryDiffData resultDiffData =
@@ -1116,12 +1444,18 @@
.get(DataProcessor.SELECTED_INDEX_ALL);
assertThat(resultDiffData.getScreenOnTime()).isEqualTo(0L);
assertBatteryDiffEntry(
- resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 1L,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 100.0,
- /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
- /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
- /*foregroundUsageTimeInMs=*/ 10, /*backgroundUsageTimeInMs=*/ 10,
- /*screenOnTimeInMs=*/ 0);
+ resultDiffData.getAppDiffEntryList().get(0),
+ currentUserId,
+ /* uid= */ 1L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* consumePercentage= */ 100.0,
+ /* foregroundUsageConsumePower= */ 5,
+ /* foregroundServiceUsageConsumePower= */ 5,
+ /* backgroundUsageConsumePower= */ 5,
+ /* cachedUsageConsumePower= */ 5,
+ /* foregroundUsageTimeInMs= */ 10,
+ /* backgroundUsageTimeInMs= */ 10,
+ /* screenOnTimeInMs= */ 0);
assertThat(resultDiffData.getSystemDiffEntryList()).isEmpty();
assertThat(resultMap.get(0).get(0)).isNotNull();
assertThat(resultMap.get(0).get(DataProcessor.SELECTED_INDEX_ALL)).isNotNull();
@@ -1129,44 +1463,69 @@
@Test
public void generateBatteryUsageMap_usageTimeExceed_returnsExpectedResult() {
- final long[] batteryHistoryKeys = new long[]{
- 1641052800000L, // 2022-01-02 00:00:00
- 1641056400000L, // 2022-01-02 01:00:00
- 1641060000000L // 2022-01-02 02:00:00
- };
+ final long[] batteryHistoryKeys =
+ new long[] {
+ 1641052800000L, // 2022-01-02 00:00:00
+ 1641056400000L, // 2022-01-02 01:00:00
+ 1641060000000L // 2022-01-02 02:00:00
+ };
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
final int currentUserId = mContext.getUserId();
// Adds the index = 0 data.
Map<String, BatteryHistEntry> entryMap = new HashMap<>();
- BatteryHistEntry entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 1L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
- /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+ BatteryHistEntry entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 1L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 0L,
+ /* backgroundUsageTimeInMs= */ 0L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
// Adds the index = 1 data.
entryMap = new HashMap<>();
- entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 1L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
- /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 1L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 0L,
+ /* backgroundUsageTimeInMs= */ 0L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(batteryHistoryKeys[1], entryMap);
// Adds the index = 2 data.
entryMap = new HashMap<>();
- entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 500.0,
- /*foregroundUsageConsumePower=*/ 200, /*foregroundServiceUsageConsumePower=*/ 100,
- /*backgroundUsageConsumePower=*/ 100, /*cachedUsageConsumePower=*/ 100,
- /*uid=*/ 1L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 3600000L,
- /*backgroundUsageTimeInMs=*/ 7200000L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 500.0,
+ /* foregroundUsageConsumePower= */ 200,
+ /* foregroundServiceUsageConsumePower= */ 100,
+ /* backgroundUsageConsumePower= */ 100,
+ /* cachedUsageConsumePower= */ 100,
+ /* uid= */ 1L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 3600000L,
+ /* backgroundUsageTimeInMs= */ 7200000L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
final BatteryLevelData batteryLevelData = generateBatteryLevelData(batteryHistoryKeys);
@@ -1185,9 +1544,13 @@
final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
DataProcessor.generateBatteryUsageMap(
mContext,
- DataProcessor.getBatteryDiffDataMap(mContext,
- batteryLevelData.getHourlyBatteryLevelsPerDay(), batteryHistoryMap,
- appUsagePeriodMap, Set.of(), Set.of()),
+ DataProcessor.getBatteryDiffDataMap(
+ mContext,
+ batteryLevelData.getHourlyBatteryLevelsPerDay(),
+ batteryHistoryMap,
+ appUsagePeriodMap,
+ Set.of(),
+ Set.of()),
batteryLevelData);
final BatteryDiffData resultDiffData =
@@ -1200,10 +1563,8 @@
final BatteryDiffEntry resultEntry = resultDiffData.getAppDiffEntryList().get(0);
assertThat(resultEntry.mForegroundUsageTimeInMs)
.isEqualTo(Math.round(entry.mForegroundUsageTimeInMs * ratio));
- assertThat(resultEntry.mBackgroundUsageTimeInMs)
- .isEqualTo(0);
- assertThat(resultEntry.mConsumePower)
- .isEqualTo(entry.mConsumePower * ratio);
+ assertThat(resultEntry.mBackgroundUsageTimeInMs).isEqualTo(0);
+ assertThat(resultEntry.mConsumePower).isEqualTo(entry.mConsumePower * ratio);
assertThat(resultEntry.mForegroundUsageConsumePower)
.isEqualTo(entry.mForegroundUsageConsumePower * ratio);
assertThat(resultEntry.mForegroundServiceUsageConsumePower)
@@ -1219,80 +1580,132 @@
@Test
public void generateBatteryUsageMap_hideApplicationEntries_returnsExpectedResult() {
- final long[] batteryHistoryKeys = new long[]{
- 1641052800000L, // 2022-01-02 00:00:00
- 1641056400000L, // 2022-01-02 01:00:00
- 1641060000000L // 2022-01-02 02:00:00
- };
+ final long[] batteryHistoryKeys =
+ new long[] {
+ 1641052800000L, // 2022-01-02 00:00:00
+ 1641056400000L, // 2022-01-02 01:00:00
+ 1641060000000L // 2022-01-02 02:00:00
+ };
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
final int currentUserId = mContext.getUserId();
// Adds the index = 0 data.
Map<String, BatteryHistEntry> entryMap = new HashMap<>();
- BatteryHistEntry entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 1L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
- /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+ BatteryHistEntry entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 1L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 0L,
+ /* backgroundUsageTimeInMs= */ 0L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package2", "label2", /*consumePower=*/ 0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 2L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
- /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package2",
+ "label2",
+ /* consumePower= */ 0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 2L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 0L,
+ /* backgroundUsageTimeInMs= */ 0L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
// Adds the index = 1 data.
entryMap = new HashMap<>();
- entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 1L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
- /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 1L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 0L,
+ /* backgroundUsageTimeInMs= */ 0L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package2", "label2", /*consumePower=*/ 0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 2L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
- /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package2",
+ "label2",
+ /* consumePower= */ 0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 2L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 0L,
+ /* backgroundUsageTimeInMs= */ 0L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(batteryHistoryKeys[1], entryMap);
// Adds the index = 2 data.
entryMap = new HashMap<>();
- entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 10.0,
- /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 1L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
- /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 10.0,
+ /* foregroundUsageConsumePower= */ 5,
+ /* foregroundServiceUsageConsumePower= */ 5,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 1L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 10L,
+ /* backgroundUsageTimeInMs= */ 20L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package2", "label2", /*consumePower=*/ 10.0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
- /*uid=*/ 2L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
- /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package2",
+ "label2",
+ /* consumePower= */ 10.0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 5,
+ /* cachedUsageConsumePower= */ 5,
+ /* uid= */ 2L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 10L,
+ /* backgroundUsageTimeInMs= */ 20L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
final BatteryLevelData batteryLevelData = generateBatteryLevelData(batteryHistoryKeys);
- when(mPowerUsageFeatureProvider.getHideApplicationSet())
- .thenReturn(Set.of("package1"));
+ when(mPowerUsageFeatureProvider.getHideApplicationSet()).thenReturn(Set.of("package1"));
final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
DataProcessor.generateBatteryUsageMap(
mContext,
- DataProcessor.getBatteryDiffDataMap(mContext,
- batteryLevelData.getHourlyBatteryLevelsPerDay(), batteryHistoryMap,
- /*appUsagePeriodMap=*/ null, Set.of(), Set.of()),
+ DataProcessor.getBatteryDiffDataMap(
+ mContext,
+ batteryLevelData.getHourlyBatteryLevelsPerDay(),
+ batteryHistoryMap,
+ /* appUsagePeriodMap= */ null,
+ Set.of(),
+ Set.of()),
batteryLevelData);
final BatteryDiffData resultDiffData =
@@ -1300,78 +1713,133 @@
.get(DataProcessor.SELECTED_INDEX_ALL)
.get(DataProcessor.SELECTED_INDEX_ALL);
assertBatteryDiffEntry(
- resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 2L,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 100.0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
- /*foregroundUsageTimeInMs=*/ 10, /*backgroundUsageTimeInMs=*/ 20,
- /*screenOnTimeInMs=*/ 0);
+ resultDiffData.getAppDiffEntryList().get(0),
+ currentUserId,
+ /* uid= */ 2L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* consumePercentage= */ 100.0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 5,
+ /* cachedUsageConsumePower= */ 5,
+ /* foregroundUsageTimeInMs= */ 10,
+ /* backgroundUsageTimeInMs= */ 20,
+ /* screenOnTimeInMs= */ 0);
}
@Test
public void generateBatteryUsageMap_hideBackgroundUsageTime_returnsExpectedResult() {
- final long[] batteryHistoryKeys = new long[]{
- 1641052800000L, // 2022-01-02 00:00:00
- 1641056400000L, // 2022-01-02 01:00:00
- 1641060000000L // 2022-01-02 02:00:00
- };
+ final long[] batteryHistoryKeys =
+ new long[] {
+ 1641052800000L, // 2022-01-02 00:00:00
+ 1641056400000L, // 2022-01-02 01:00:00
+ 1641060000000L // 2022-01-02 02:00:00
+ };
final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
final int currentUserId = mContext.getUserId();
// Adds the index = 0 data.
Map<String, BatteryHistEntry> entryMap = new HashMap<>();
- BatteryHistEntry entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 1L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
- /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+ BatteryHistEntry entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 1L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 0L,
+ /* backgroundUsageTimeInMs= */ 0L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package2", "label2", /*consumePower=*/ 0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 2L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
- /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package2",
+ "label2",
+ /* consumePower= */ 0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 2L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 0L,
+ /* backgroundUsageTimeInMs= */ 0L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
// Adds the index = 1 data.
entryMap = new HashMap<>();
- entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 1L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
- /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 1L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 0L,
+ /* backgroundUsageTimeInMs= */ 0L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package2", "label2", /*consumePower=*/ 0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 2L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
- /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package2",
+ "label2",
+ /* consumePower= */ 0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 2L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 0L,
+ /* backgroundUsageTimeInMs= */ 0L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(batteryHistoryKeys[1], entryMap);
// Adds the index = 2 data.
entryMap = new HashMap<>();
- entry = createBatteryHistEntry(
- "package1", "label1", /*consumePower=*/ 10.0,
- /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*uid=*/ 1L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
- /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package1",
+ "label1",
+ /* consumePower= */ 10.0,
+ /* foregroundUsageConsumePower= */ 5,
+ /* foregroundServiceUsageConsumePower= */ 5,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* uid= */ 1L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 10L,
+ /* backgroundUsageTimeInMs= */ 20L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
- entry = createBatteryHistEntry(
- "package2", "label2", /*consumePower=*/ 10.0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
- /*uid=*/ 2L, currentUserId,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
- /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+ entry =
+ createBatteryHistEntry(
+ "package2",
+ "label2",
+ /* consumePower= */ 10.0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 5,
+ /* cachedUsageConsumePower= */ 5,
+ /* uid= */ 2L,
+ currentUserId,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* foregroundUsageTimeInMs= */ 10L,
+ /* backgroundUsageTimeInMs= */ 20L,
+ /* isHidden= */ false);
entryMap.put(entry.getKey(), entry);
batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
final BatteryLevelData batteryLevelData = generateBatteryLevelData(batteryHistoryKeys);
@@ -1381,9 +1849,13 @@
final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
DataProcessor.generateBatteryUsageMap(
mContext,
- DataProcessor.getBatteryDiffDataMap(mContext,
- batteryLevelData.getHourlyBatteryLevelsPerDay(), batteryHistoryMap,
- /*appUsagePeriodMap=*/ null, Set.of(), Set.of()),
+ DataProcessor.getBatteryDiffDataMap(
+ mContext,
+ batteryLevelData.getHourlyBatteryLevelsPerDay(),
+ batteryHistoryMap,
+ /* appUsagePeriodMap= */ null,
+ Set.of(),
+ Set.of()),
batteryLevelData);
final BatteryDiffData resultDiffData =
@@ -1398,11 +1870,13 @@
@Test
public void generateBatteryDiffData_emptyBatteryEntryList_returnEmptyBatteryDiffData() {
- final BatteryDiffData batteryDiffData = DataProcessor.generateBatteryDiffData(mContext,
- System.currentTimeMillis(),
- DataProcessor.convertToBatteryHistEntry(null, mBatteryUsageStats),
- /* systemAppsPackageNames= */ Set.of(),
- /* systemAppsUids= */ Set.of());
+ final BatteryDiffData batteryDiffData =
+ DataProcessor.generateBatteryDiffData(
+ mContext,
+ System.currentTimeMillis(),
+ DataProcessor.convertToBatteryHistEntry(null, mBatteryUsageStats),
+ /* systemAppsPackageNames= */ Set.of(),
+ /* systemAppsUids= */ Set.of());
assertThat(batteryDiffData.getAppDiffEntryList()).isEmpty();
assertThat(batteryDiffData.getSystemDiffEntryList()).isEmpty();
}
@@ -1450,37 +1924,60 @@
doReturn(10L).when(mMockBatteryEntry4).getTimeInBackgroundMs();
doReturn(4).when(mMockBatteryEntry4).getUid();
doReturn(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY)
- .when(mMockBatteryEntry4).getConsumerType();
+ .when(mMockBatteryEntry4)
+ .getConsumerType();
doReturn(BatteryConsumer.POWER_COMPONENT_CAMERA)
- .when(mMockBatteryEntry4).getPowerComponentId();
+ .when(mMockBatteryEntry4)
+ .getPowerComponentId();
- final BatteryDiffData batteryDiffData = DataProcessor.generateBatteryDiffData(mContext,
- System.currentTimeMillis(),
- DataProcessor.convertToBatteryHistEntry(batteryEntryList, mBatteryUsageStats),
- /* systemAppsPackageNames= */ Set.of(),
- /* systemAppsUids= */ Set.of());
+ final BatteryDiffData batteryDiffData =
+ DataProcessor.generateBatteryDiffData(
+ mContext,
+ System.currentTimeMillis(),
+ DataProcessor.convertToBatteryHistEntry(
+ batteryEntryList, mBatteryUsageStats),
+ /* systemAppsPackageNames= */ Set.of(),
+ /* systemAppsUids= */ Set.of());
assertBatteryDiffEntry(
- batteryDiffData.getAppDiffEntryList().get(0), 0, /*uid=*/ 2L,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 100.0,
- /*foregroundUsageConsumePower=*/ 0.5, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*foregroundUsageTimeInMs=*/ 20, /*backgroundUsageTimeInMs=*/ 20,
- /*screenOnTimeInMs=*/ 0);
+ batteryDiffData.getAppDiffEntryList().get(0),
+ 0,
+ /* uid= */ 2L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* consumePercentage= */ 100.0,
+ /* foregroundUsageConsumePower= */ 0.5,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* foregroundUsageTimeInMs= */ 20,
+ /* backgroundUsageTimeInMs= */ 20,
+ /* screenOnTimeInMs= */ 0);
assertBatteryDiffEntry(
- batteryDiffData.getAppDiffEntryList().get(1), 0, /*uid=*/ 1L,
- ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 0.0,
- /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
- /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
- /*foregroundUsageTimeInMs=*/ 30, /*backgroundUsageTimeInMs=*/ 40,
- /*screenOnTimeInMs=*/ 0);
+ batteryDiffData.getAppDiffEntryList().get(1),
+ 0,
+ /* uid= */ 1L,
+ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+ /* consumePercentage= */ 0.0,
+ /* foregroundUsageConsumePower= */ 0,
+ /* foregroundServiceUsageConsumePower= */ 0,
+ /* backgroundUsageConsumePower= */ 0,
+ /* cachedUsageConsumePower= */ 0,
+ /* foregroundUsageTimeInMs= */ 30,
+ /* backgroundUsageTimeInMs= */ 40,
+ /* screenOnTimeInMs= */ 0);
assertBatteryDiffEntry(
- batteryDiffData.getSystemDiffEntryList().get(0), 0, /*uid=*/ 4L,
- ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*consumePercentage=*/ 100.0,
- /*foregroundUsageConsumePower=*/ 0.9, /*foregroundServiceUsageConsumePower=*/ 0.2,
- /*backgroundUsageConsumePower=*/ 0.3, /*cachedUsageConsumePower=*/ 0.1,
- /*foregroundUsageTimeInMs=*/ 10, /*backgroundUsageTimeInMs=*/ 10,
- /*screenOnTimeInMs=*/ 0);
+ batteryDiffData.getSystemDiffEntryList().get(0),
+ 0,
+ /* uid= */ 4L,
+ ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
+ /* consumePercentage= */ 100.0,
+ /* foregroundUsageConsumePower= */ 0.9,
+ /* foregroundServiceUsageConsumePower= */ 0.2,
+ /* backgroundUsageConsumePower= */ 0.3,
+ /* cachedUsageConsumePower= */ 0.1,
+ /* foregroundUsageTimeInMs= */ 10,
+ /* backgroundUsageTimeInMs= */ 10,
+ /* screenOnTimeInMs= */ 0);
}
@Test
@@ -1489,43 +1986,91 @@
final String packageName1 = "com.android.settings1";
final String packageName2 = "com.android.settings2";
// Fake multiple instances in one package.
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 1, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName1));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 2, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName1));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 3, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName1));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 4, /*userId=*/ 1,
- /*instanceId=*/ 2, packageName1));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 2, /*userId=*/ 1,
- /*instanceId=*/ 3, packageName1));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 4, /*userId=*/ 1,
- /*instanceId=*/ 3, packageName1));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 2, /*userId=*/ 1,
- /*instanceId=*/ 5, packageName2));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 4, /*userId=*/ 1,
- /*instanceId=*/ 5, packageName2));
+ appUsageEvents.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_RESUMED,
+ /* timestamp= */ 1,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName1));
+ appUsageEvents.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 2,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName1));
+ appUsageEvents.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_RESUMED,
+ /* timestamp= */ 3,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName1));
+ appUsageEvents.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 4,
+ /* userId= */ 1,
+ /* instanceId= */ 2,
+ packageName1));
+ appUsageEvents.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_RESUMED,
+ /* timestamp= */ 2,
+ /* userId= */ 1,
+ /* instanceId= */ 3,
+ packageName1));
+ appUsageEvents.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 4,
+ /* userId= */ 1,
+ /* instanceId= */ 3,
+ packageName1));
+ appUsageEvents.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_RESUMED,
+ /* timestamp= */ 2,
+ /* userId= */ 1,
+ /* instanceId= */ 5,
+ packageName2));
+ appUsageEvents.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 4,
+ /* userId= */ 1,
+ /* instanceId= */ 5,
+ packageName2));
// Fake one instance in one package.
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 1, /*userId=*/ 2,
- /*instanceId=*/ 4, packageName2));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 2, /*userId=*/ 2,
- /*instanceId=*/ 4, packageName2));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 3, /*userId=*/ 2,
- /*instanceId=*/ 4, packageName2));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 4, /*userId=*/ 2,
- /*instanceId=*/ 4, packageName2));
+ appUsageEvents.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_RESUMED,
+ /* timestamp= */ 1,
+ /* userId= */ 2,
+ /* instanceId= */ 4,
+ packageName2));
+ appUsageEvents.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 2,
+ /* userId= */ 2,
+ /* instanceId= */ 4,
+ packageName2));
+ appUsageEvents.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_RESUMED,
+ /* timestamp= */ 3,
+ /* userId= */ 2,
+ /* instanceId= */ 4,
+ packageName2));
+ appUsageEvents.add(
+ buildAppUsageEvent(
+ AppUsageEventType.ACTIVITY_STOPPED,
+ /* timestamp= */ 4,
+ /* userId= */ 2,
+ /* instanceId= */ 4,
+ packageName2));
final Map<Long, Map<String, List<AppUsagePeriod>>> appUsagePeriodMap =
DataProcessor.buildAppUsagePeriodList(
@@ -1552,65 +2097,69 @@
@Test
public void buildAppUsagePeriodList_emptyEventList_returnNull() {
- assertThat(DataProcessor.buildAppUsagePeriodList(
- mContext, new ArrayList<>(), new ArrayList<>(), 0, 1)).isNull();
+ assertThat(
+ DataProcessor.buildAppUsagePeriodList(
+ mContext, new ArrayList<>(), new ArrayList<>(), 0, 1))
+ .isNull();
}
@Test
public void buildAppUsagePeriodList_emptyActivityList_returnNull() {
final List<AppUsageEvent> appUsageEvents = new ArrayList<>();
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.DEVICE_SHUTDOWN, /*timestamp=*/ 1));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.DEVICE_SHUTDOWN, /*timestamp=*/ 2));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.DEVICE_SHUTDOWN, /* timestamp= */ 1));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.DEVICE_SHUTDOWN, /* timestamp= */ 2));
- assertThat(DataProcessor.buildAppUsagePeriodList(
- mContext, appUsageEvents, new ArrayList<>(), 0, 3)).isNull();
+ assertThat(
+ DataProcessor.buildAppUsagePeriodList(
+ mContext, appUsageEvents, new ArrayList<>(), 0, 3))
+ .isNull();
}
@Test
public void buildAppUsagePeriodListPerInstance_returnExpectedResult() {
final List<AppUsageEvent> appUsageEvents = new ArrayList<>();
// Fake data earlier than time range.
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 1));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 2));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 1));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 2));
// Fake resume event earlier than time range.
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 3));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 120000));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 3));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 120000));
// Fake normal data.
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 150000));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 200000));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 150000));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 200000));
// Fake two adjacent resume events.
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 300000));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 400000));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 500000));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 300000));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 400000));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 500000));
// Fake no start event when stop event happens.
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 600000));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 600000));
// There exists start event when device shutdown event happens. Shutdown is later than
// default complete time.
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 700000));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.DEVICE_SHUTDOWN, /*timestamp=*/ 800000));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 700000));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.DEVICE_SHUTDOWN, /* timestamp= */ 800000));
// There exists start event when device shutdown event happens. Shutdown is earlier than
// default complete time.
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 900000));
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.DEVICE_SHUTDOWN, /*timestamp=*/ 910000));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 900000));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.DEVICE_SHUTDOWN, /* timestamp= */ 910000));
// There exists start event when the period ends.
- appUsageEvents.add(buildAppUsageEvent(
- AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 1000000));
+ appUsageEvents.add(
+ buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 1000000));
final List<AppUsagePeriod> appUsagePeriodList =
DataProcessor.buildAppUsagePeriodListPerInstance(appUsageEvents, 100000, 1100000);
@@ -1627,17 +2176,26 @@
@Test
public void excludePowerConnectedTime_startEndNotCharging_returnExpectedResult() {
- final List<AppUsagePeriod> appUsagePeriodList = List.of(
- AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
- final List<BatteryEvent> batteryEventList = List.of(
- BatteryEvent.newBuilder().setTimestamp(50).setType(
- BatteryEventType.POWER_DISCONNECTED).build(),
- BatteryEvent.newBuilder().setTimestamp(166).setType(
- BatteryEventType.POWER_CONNECTED).build(),
- BatteryEvent.newBuilder().setTimestamp(188).setType(
- BatteryEventType.POWER_DISCONNECTED).build(),
- BatteryEvent.newBuilder().setTimestamp(280).setType(
- BatteryEventType.POWER_CONNECTED).build());
+ final List<AppUsagePeriod> appUsagePeriodList =
+ List.of(AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
+ final List<BatteryEvent> batteryEventList =
+ List.of(
+ BatteryEvent.newBuilder()
+ .setTimestamp(50)
+ .setType(BatteryEventType.POWER_DISCONNECTED)
+ .build(),
+ BatteryEvent.newBuilder()
+ .setTimestamp(166)
+ .setType(BatteryEventType.POWER_CONNECTED)
+ .build(),
+ BatteryEvent.newBuilder()
+ .setTimestamp(188)
+ .setType(BatteryEventType.POWER_DISCONNECTED)
+ .build(),
+ BatteryEvent.newBuilder()
+ .setTimestamp(280)
+ .setType(BatteryEventType.POWER_CONNECTED)
+ .build());
final List<AppUsagePeriod> resultList =
DataProcessor.excludePowerConnectedTimeFromAppUsagePeriodList(
@@ -1650,21 +2208,34 @@
@Test
public void excludePowerConnectedTime_startEndInCharging_returnExpectedResult() {
- final List<AppUsagePeriod> appUsagePeriodList = List.of(
- AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
- final List<BatteryEvent> batteryEventList = List.of(
- BatteryEvent.newBuilder().setTimestamp(50).setType(
- BatteryEventType.POWER_DISCONNECTED).build(),
- BatteryEvent.newBuilder().setTimestamp(80).setType(
- BatteryEventType.POWER_CONNECTED).build(),
- BatteryEvent.newBuilder().setTimestamp(120).setType(
- BatteryEventType.POWER_DISCONNECTED).build(),
- BatteryEvent.newBuilder().setTimestamp(150).setType(
- BatteryEventType.POWER_CONNECTED).build(),
- BatteryEvent.newBuilder().setTimestamp(160).setType(
- BatteryEventType.POWER_DISCONNECTED).build(),
- BatteryEvent.newBuilder().setTimestamp(180).setType(
- BatteryEventType.POWER_CONNECTED).build());
+ final List<AppUsagePeriod> appUsagePeriodList =
+ List.of(AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
+ final List<BatteryEvent> batteryEventList =
+ List.of(
+ BatteryEvent.newBuilder()
+ .setTimestamp(50)
+ .setType(BatteryEventType.POWER_DISCONNECTED)
+ .build(),
+ BatteryEvent.newBuilder()
+ .setTimestamp(80)
+ .setType(BatteryEventType.POWER_CONNECTED)
+ .build(),
+ BatteryEvent.newBuilder()
+ .setTimestamp(120)
+ .setType(BatteryEventType.POWER_DISCONNECTED)
+ .build(),
+ BatteryEvent.newBuilder()
+ .setTimestamp(150)
+ .setType(BatteryEventType.POWER_CONNECTED)
+ .build(),
+ BatteryEvent.newBuilder()
+ .setTimestamp(160)
+ .setType(BatteryEventType.POWER_DISCONNECTED)
+ .build(),
+ BatteryEvent.newBuilder()
+ .setTimestamp(180)
+ .setType(BatteryEventType.POWER_CONNECTED)
+ .build());
final List<AppUsagePeriod> resultList =
DataProcessor.excludePowerConnectedTimeFromAppUsagePeriodList(
@@ -1677,13 +2248,18 @@
@Test
public void excludePowerConnectedTime_wholePeriodNotCharging_returnExpectedResult() {
- final List<AppUsagePeriod> appUsagePeriodList = List.of(
- AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
- final List<BatteryEvent> batteryEventList = List.of(
- BatteryEvent.newBuilder().setTimestamp(50).setType(
- BatteryEventType.POWER_DISCONNECTED).build(),
- BatteryEvent.newBuilder().setTimestamp(80).setType(
- BatteryEventType.POWER_CONNECTED).build());
+ final List<AppUsagePeriod> appUsagePeriodList =
+ List.of(AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
+ final List<BatteryEvent> batteryEventList =
+ List.of(
+ BatteryEvent.newBuilder()
+ .setTimestamp(50)
+ .setType(BatteryEventType.POWER_DISCONNECTED)
+ .build(),
+ BatteryEvent.newBuilder()
+ .setTimestamp(80)
+ .setType(BatteryEventType.POWER_CONNECTED)
+ .build());
final List<AppUsagePeriod> resultList =
DataProcessor.excludePowerConnectedTimeFromAppUsagePeriodList(
@@ -1694,11 +2270,14 @@
@Test
public void excludePowerConnectedTime_wholePeriodInCharging_returnExpectedResult() {
- final List<AppUsagePeriod> appUsagePeriodList = List.of(
- AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
- final List<BatteryEvent> batteryEventList = List.of(
- BatteryEvent.newBuilder().setTimestamp(50).setType(
- BatteryEventType.POWER_DISCONNECTED).build());
+ final List<AppUsagePeriod> appUsagePeriodList =
+ List.of(AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
+ final List<BatteryEvent> batteryEventList =
+ List.of(
+ BatteryEvent.newBuilder()
+ .setTimestamp(50)
+ .setType(BatteryEventType.POWER_DISCONNECTED)
+ .build());
final List<AppUsagePeriod> resultList =
DataProcessor.excludePowerConnectedTimeFromAppUsagePeriodList(
@@ -1762,32 +2341,32 @@
private static ContentValues getContentValuesWithBatteryLevel(final int level) {
final ContentValues values = new ContentValues();
final DeviceBatteryState deviceBatteryState =
- DeviceBatteryState
- .newBuilder()
- .setBatteryLevel(level)
- .build();
+ DeviceBatteryState.newBuilder().setBatteryLevel(level).build();
final BatteryInformation batteryInformation =
- BatteryInformation
- .newBuilder()
- .setDeviceBatteryState(deviceBatteryState)
- .build();
- values.put(BatteryHistEntry.KEY_BATTERY_INFORMATION,
+ BatteryInformation.newBuilder().setDeviceBatteryState(deviceBatteryState).build();
+ values.put(
+ BatteryHistEntry.KEY_BATTERY_INFORMATION,
ConvertUtils.convertBatteryInformationToString(batteryInformation));
return values;
}
private static BatteryHistEntry createBatteryHistEntry(
- final String packageName, final String appLabel, final double consumePower,
+ final String packageName,
+ final String appLabel,
+ final double consumePower,
final double foregroundUsageConsumePower,
final double foregroundServiceUsageConsumePower,
- final double backgroundUsageConsumePower, final double cachedUsageConsumePower,
- final long uid, final long userId, final int consumerType,
- final long foregroundUsageTimeInMs, final long backgroundUsageTimeInMs,
+ final double backgroundUsageConsumePower,
+ final double cachedUsageConsumePower,
+ final long uid,
+ final long userId,
+ final int consumerType,
+ final long foregroundUsageTimeInMs,
+ final long backgroundUsageTimeInMs,
final boolean isHidden) {
// Only insert required fields.
final BatteryInformation batteryInformation =
- BatteryInformation
- .newBuilder()
+ BatteryInformation.newBuilder()
.setAppLabel(appLabel)
.setConsumePower(consumePower)
.setForegroundUsageConsumePower(foregroundUsageConsumePower)
@@ -1803,7 +2382,8 @@
values.put(BatteryHistEntry.KEY_UID, uid);
values.put(BatteryHistEntry.KEY_USER_ID, userId);
values.put(BatteryHistEntry.KEY_CONSUMER_TYPE, consumerType);
- values.put(BatteryHistEntry.KEY_BATTERY_INFORMATION,
+ values.put(
+ BatteryHistEntry.KEY_BATTERY_INFORMATION,
ConvertUtils.convertBatteryInformationToString(batteryInformation));
return new BatteryHistEntry(values);
}
@@ -1817,8 +2397,7 @@
return UsageEvents.CREATOR.createFromParcel(parcel);
}
- private Event getUsageEvent(
- final int eventType, final long timestamp) {
+ private Event getUsageEvent(final int eventType, final long timestamp) {
final Event event = new Event();
event.mEventType = eventType;
event.mPackage = "package";
@@ -1828,8 +2407,7 @@
private AppUsageEvent buildAppUsageEvent(final AppUsageEventType type, final long timestamp) {
return buildAppUsageEvent(
- type, timestamp, /*userId=*/ 1, /*instanceId=*/ 2,
- "com.android.settings");
+ type, timestamp, /* userId= */ 1, /* instanceId= */ 2, "com.android.settings");
}
private AppUsageEvent buildAppUsageEvent(
@@ -1848,10 +2426,7 @@
}
private AppUsagePeriod buildAppUsagePeriod(final long start, final long end) {
- return AppUsagePeriod.newBuilder()
- .setStartTime(start)
- .setEndTime(end)
- .build();
+ return AppUsagePeriod.newBuilder().setStartTime(start).setEndTime(end).build();
}
private void assertAppUsageEvent(
@@ -1918,12 +2493,17 @@
}
private static void assertBatteryDiffEntry(
- final BatteryDiffEntry entry, final long userId, final long uid,
- final int consumerType, final double consumePercentage,
+ final BatteryDiffEntry entry,
+ final long userId,
+ final long uid,
+ final int consumerType,
+ final double consumePercentage,
final double foregroundUsageConsumePower,
final double foregroundServiceUsageConsumePower,
- final double backgroundUsageConsumePower, final double cachedUsageConsumePower,
- final long foregroundUsageTimeInMs, final long backgroundUsageTimeInMs,
+ final double backgroundUsageConsumePower,
+ final double cachedUsageConsumePower,
+ final long foregroundUsageTimeInMs,
+ final long backgroundUsageTimeInMs,
final long screenOnTimeInMs) {
assertThat(entry.mUserId).isEqualTo(userId);
assertThat(entry.mUid).isEqualTo(uid);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
index 12bd457..c31a2b6 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
@@ -117,9 +117,7 @@
.setType(AppUsageEventType.ACTIVITY_STOPPED)
.build();
final AppUsageEvent appUsageEvent3 =
- AppUsageEvent.newBuilder()
- .setType(AppUsageEventType.DEVICE_SHUTDOWN)
- .build();
+ AppUsageEvent.newBuilder().setType(AppUsageEventType.DEVICE_SHUTDOWN).build();
appUsageEventList.add(appUsageEvent1);
appUsageEventList.add(appUsageEvent2);
appUsageEventList.add(appUsageEvent3);
@@ -135,10 +133,9 @@
// Verifies the inserted ContentValues into content provider.
final ContentValues[] valuesArray =
new ContentValues[] {valuesList.get(0), valuesList.get(1)};
- verify(mMockContentResolver).bulkInsert(
- DatabaseUtils.APP_USAGE_EVENT_URI, valuesArray);
- verify(mMockContentResolver).notifyChange(
- DatabaseUtils.APP_USAGE_EVENT_URI, /*observer=*/ null);
+ verify(mMockContentResolver).bulkInsert(DatabaseUtils.APP_USAGE_EVENT_URI, valuesArray);
+ verify(mMockContentResolver)
+ .notifyChange(DatabaseUtils.APP_USAGE_EVENT_URI, /* observer= */ null);
}
@Test
@@ -161,12 +158,10 @@
final ContentValues contentValues =
DatabaseUtils.sendBatteryEventData(mContext, batteryEvent);
- assertThat(contentValues.getAsInteger(BatteryEventEntity.KEY_TIMESTAMP))
- .isEqualTo(10001L);
+ assertThat(contentValues.getAsInteger(BatteryEventEntity.KEY_TIMESTAMP)).isEqualTo(10001L);
assertThat(contentValues.getAsInteger(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE))
.isEqualTo(BatteryEventType.POWER_CONNECTED.getNumber());
- assertThat(contentValues.getAsInteger(BatteryEventEntity.KEY_BATTERY_LEVEL))
- .isEqualTo(66);
+ assertThat(contentValues.getAsInteger(BatteryEventEntity.KEY_BATTERY_LEVEL)).isEqualTo(66);
// Verifies the inserted ContentValues into content provider.
verify(mMockContentResolver).insert(DatabaseUtils.BATTERY_EVENT_URI, contentValues);
}
@@ -175,9 +170,12 @@
public void sendBatteryEntryData_nullBatteryIntent_returnsNullValue() {
doReturn(null).when(mContext).registerReceiver(any(), any());
assertThat(
- DatabaseUtils.sendBatteryEntryData(
- mContext, System.currentTimeMillis(), /*batteryEntryList=*/ null,
- mBatteryUsageStats, /*isFullChargeStart=*/ false))
+ DatabaseUtils.sendBatteryEntryData(
+ mContext,
+ System.currentTimeMillis(),
+ /* batteryEntryList= */ null,
+ mBatteryUsageStats,
+ /* isFullChargeStart= */ false))
.isNull();
}
@@ -200,7 +198,7 @@
System.currentTimeMillis(),
batteryEntryList,
mBatteryUsageStats,
- /*isFullChargeStart=*/ false);
+ /* isFullChargeStart= */ false);
assertThat(valuesList).hasSize(2);
// Verifies the ContentValues content.
@@ -209,10 +207,9 @@
// Verifies the inserted ContentValues into content provider.
final ContentValues[] valuesArray =
new ContentValues[] {valuesList.get(0), valuesList.get(1)};
- verify(mMockContentResolver).bulkInsert(
- DatabaseUtils.BATTERY_CONTENT_URI, valuesArray);
- verify(mMockContentResolver).notifyChange(
- DatabaseUtils.BATTERY_CONTENT_URI, /*observer=*/ null);
+ verify(mMockContentResolver).bulkInsert(DatabaseUtils.BATTERY_CONTENT_URI, valuesArray);
+ verify(mMockContentResolver)
+ .notifyChange(DatabaseUtils.BATTERY_CONTENT_URI, /* observer= */ null);
}
@Test
@@ -225,14 +222,14 @@
System.currentTimeMillis(),
new ArrayList<>(),
mBatteryUsageStats,
- /*isFullChargeStart=*/ false);
+ /* isFullChargeStart= */ false);
assertThat(valuesList).hasSize(1);
verifyFakeBatteryEntryContentValues(valuesList.get(0));
// Verifies the inserted ContentValues into content provider.
verify(mMockContentResolver).insert(any(), any());
- verify(mMockContentResolver).notifyChange(
- DatabaseUtils.BATTERY_CONTENT_URI, /*observer=*/ null);
+ verify(mMockContentResolver)
+ .notifyChange(DatabaseUtils.BATTERY_CONTENT_URI, /* observer= */ null);
}
@Test
@@ -243,16 +240,16 @@
DatabaseUtils.sendBatteryEntryData(
mContext,
System.currentTimeMillis(),
- /*batteryEntryList=*/ null,
+ /* batteryEntryList= */ null,
mBatteryUsageStats,
- /*isFullChargeStart=*/ false);
+ /* isFullChargeStart= */ false);
assertThat(valuesList).hasSize(1);
verifyFakeBatteryEntryContentValues(valuesList.get(0));
// Verifies the inserted ContentValues into content provider.
verify(mMockContentResolver).insert(any(), any());
- verify(mMockContentResolver).notifyChange(
- DatabaseUtils.BATTERY_CONTENT_URI, /*observer=*/ null);
+ verify(mMockContentResolver)
+ .notifyChange(DatabaseUtils.BATTERY_CONTENT_URI, /* observer= */ null);
}
@Test
@@ -263,16 +260,16 @@
DatabaseUtils.sendBatteryEntryData(
mContext,
System.currentTimeMillis(),
- /*batteryEntryList=*/ null,
- /*batteryUsageStats=*/ null,
- /*isFullChargeStart=*/ false);
+ /* batteryEntryList= */ null,
+ /* batteryUsageStats= */ null,
+ /* isFullChargeStart= */ false);
assertThat(valuesList).hasSize(1);
verifyFakeBatteryEntryContentValues(valuesList.get(0));
// Verifies the inserted ContentValues into content provider.
verify(mMockContentResolver).insert(any(), any());
- verify(mMockContentResolver).notifyChange(
- DatabaseUtils.BATTERY_CONTENT_URI, /*observer=*/ null);
+ verify(mMockContentResolver)
+ .notifyChange(DatabaseUtils.BATTERY_CONTENT_URI, /* observer= */ null);
}
@Test
@@ -282,16 +279,20 @@
DatabaseUtils.sFakeSupplier = () -> cursor;
final long earliestTimestamp = 10001L;
- assertThat(DatabaseUtils.getAppUsageStartTimestampOfUser(
- mContext, /*userId=*/ 0, earliestTimestamp)).isEqualTo(earliestTimestamp);
+ assertThat(
+ DatabaseUtils.getAppUsageStartTimestampOfUser(
+ mContext, /* userId= */ 0, earliestTimestamp))
+ .isEqualTo(earliestTimestamp);
}
@Test
public void getAppUsageStartTimestampOfUser_nullCursor_returnEarliestTimestamp() {
DatabaseUtils.sFakeSupplier = () -> null;
final long earliestTimestamp = 10001L;
- assertThat(DatabaseUtils.getAppUsageStartTimestampOfUser(
- mContext, /*userId=*/ 0, earliestTimestamp)).isEqualTo(earliestTimestamp);
+ assertThat(
+ DatabaseUtils.getAppUsageStartTimestampOfUser(
+ mContext, /* userId= */ 0, earliestTimestamp))
+ .isEqualTo(earliestTimestamp);
}
@Test
@@ -304,50 +305,62 @@
DatabaseUtils.sFakeSupplier = () -> cursor;
final long earliestTimestamp1 = 1001L;
- assertThat(DatabaseUtils.getAppUsageStartTimestampOfUser(
- mContext, /*userId=*/ 0, earliestTimestamp1)).isEqualTo(returnedTimestamp + 1);
+ assertThat(
+ DatabaseUtils.getAppUsageStartTimestampOfUser(
+ mContext, /* userId= */ 0, earliestTimestamp1))
+ .isEqualTo(returnedTimestamp + 1);
final long earliestTimestamp2 = 100001L;
- assertThat(DatabaseUtils.getAppUsageStartTimestampOfUser(
- mContext, /*userId=*/ 0, earliestTimestamp2)).isEqualTo(earliestTimestamp2);
+ assertThat(
+ DatabaseUtils.getAppUsageStartTimestampOfUser(
+ mContext, /* userId= */ 0, earliestTimestamp2))
+ .isEqualTo(earliestTimestamp2);
}
@Test
public void getAppUsageEventForUsers_emptyCursorContent_returnEmptyMap() {
- final MatrixCursor cursor = new MatrixCursor(
- new String[]{
- AppUsageEventEntity.KEY_UID,
- AppUsageEventEntity.KEY_USER_ID,
- AppUsageEventEntity.KEY_PACKAGE_NAME,
- AppUsageEventEntity.KEY_TIMESTAMP,
- AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE});
+ final MatrixCursor cursor =
+ new MatrixCursor(
+ new String[] {
+ AppUsageEventEntity.KEY_UID,
+ AppUsageEventEntity.KEY_USER_ID,
+ AppUsageEventEntity.KEY_PACKAGE_NAME,
+ AppUsageEventEntity.KEY_TIMESTAMP,
+ AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE
+ });
DatabaseUtils.sFakeSupplier = () -> cursor;
- assertThat(DatabaseUtils.getAppUsageEventForUsers(
- mContext,
- /*calendar=*/ null,
- /*userIds=*/ new ArrayList<>(),
- /*startTimestampOfLevelData=*/ 0)).isEmpty();
+ assertThat(
+ DatabaseUtils.getAppUsageEventForUsers(
+ mContext,
+ /* calendar= */ null,
+ /* userIds= */ new ArrayList<>(),
+ /* startTimestampOfLevelData= */ 0))
+ .isEmpty();
}
@Test
public void getAppUsageEventForUsers_nullCursor_returnEmptyMap() {
DatabaseUtils.sFakeSupplier = () -> null;
- assertThat(DatabaseUtils.getAppUsageEventForUsers(
- mContext,
- /*calendar=*/ null,
- /*userIds=*/ new ArrayList<>(),
- /*startTimestampOfLevelData=*/ 0)).isEmpty();
+ assertThat(
+ DatabaseUtils.getAppUsageEventForUsers(
+ mContext,
+ /* calendar= */ null,
+ /* userIds= */ new ArrayList<>(),
+ /* startTimestampOfLevelData= */ 0))
+ .isEmpty();
}
@Test
public void getAppUsageEventForUsers_returnExpectedMap() {
final Long timestamp1 = 1001L;
final Long timestamp2 = 1002L;
- final MatrixCursor cursor = new MatrixCursor(
- new String[]{
- AppUsageEventEntity.KEY_UID,
- AppUsageEventEntity.KEY_PACKAGE_NAME,
- AppUsageEventEntity.KEY_TIMESTAMP});
+ final MatrixCursor cursor =
+ new MatrixCursor(
+ new String[] {
+ AppUsageEventEntity.KEY_UID,
+ AppUsageEventEntity.KEY_PACKAGE_NAME,
+ AppUsageEventEntity.KEY_TIMESTAMP
+ });
// Adds fake data into the cursor.
cursor.addRow(new Object[] {101L, "app name1", timestamp1});
cursor.addRow(new Object[] {101L, "app name2", timestamp2});
@@ -355,11 +368,12 @@
cursor.addRow(new Object[] {101L, "app name4", timestamp2});
DatabaseUtils.sFakeSupplier = () -> cursor;
- final List<AppUsageEvent> appUsageEventList = DatabaseUtils.getAppUsageEventForUsers(
- mContext,
- /*calendar=*/ null,
- /*userIds=*/ new ArrayList<>(),
- /*startTimestampOfLevelData=*/ 0);
+ final List<AppUsageEvent> appUsageEventList =
+ DatabaseUtils.getAppUsageEventForUsers(
+ mContext,
+ /* calendar= */ null,
+ /* userIds= */ new ArrayList<>(),
+ /* startTimestampOfLevelData= */ 0);
assertThat(appUsageEventList.get(0).getPackageName()).isEqualTo("app name1");
assertThat(appUsageEventList.get(1).getPackageName()).isEqualTo("app name2");
@@ -369,11 +383,13 @@
@Test
public void getHistoryMap_emptyCursorContent_returnEmptyMap() {
- final MatrixCursor cursor = new MatrixCursor(
- new String[] {
- BatteryHistEntry.KEY_UID,
- BatteryHistEntry.KEY_USER_ID,
- BatteryHistEntry.KEY_TIMESTAMP});
+ final MatrixCursor cursor =
+ new MatrixCursor(
+ new String[] {
+ BatteryHistEntry.KEY_UID,
+ BatteryHistEntry.KEY_USER_ID,
+ BatteryHistEntry.KEY_TIMESTAMP
+ });
DatabaseUtils.sFakeSupplier = () -> cursor;
assertThat(DatabaseUtils.getHistoryMapSinceQueryTimestamp(mContext, 0)).isEmpty();
@@ -391,14 +407,22 @@
final Long timestamp2 = Long.valueOf(1002L);
final MatrixCursor cursor = getMatrixCursor();
// Adds fake data into the cursor.
- cursor.addRow(new Object[] {
- "app name1", timestamp1, 1, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, true});
- cursor.addRow(new Object[] {
- "app name2", timestamp2, 2, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, false});
- cursor.addRow(new Object[] {
- "app name3", timestamp2, 3, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, false});
- cursor.addRow(new Object[] {
- "app name4", timestamp2, 4, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, false});
+ cursor.addRow(
+ new Object[] {
+ "app name1", timestamp1, 1, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, true
+ });
+ cursor.addRow(
+ new Object[] {
+ "app name2", timestamp2, 2, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, false
+ });
+ cursor.addRow(
+ new Object[] {
+ "app name3", timestamp2, 3, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, false
+ });
+ cursor.addRow(
+ new Object[] {
+ "app name4", timestamp2, 4, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, false
+ });
DatabaseUtils.sFakeSupplier = () -> cursor;
final Map<Long, Map<String, BatteryHistEntry>> batteryHistMap =
@@ -421,8 +445,9 @@
public void getHistoryMap_withWorkProfile_returnExpectedMap()
throws PackageManager.NameNotFoundException {
doReturn("com.fake.package").when(mContext).getPackageName();
- doReturn(mMockContext).when(mContext).createPackageContextAsUser(
- "com.fake.package", /*flags=*/ 0, UserHandle.OWNER);
+ doReturn(mMockContext)
+ .when(mContext)
+ .createPackageContextAsUser("com.fake.package", /* flags= */ 0, UserHandle.OWNER);
doReturn(UserHandle.CURRENT).when(mContext).getUser();
doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
doReturn(true).when(mUserManager).isManagedProfile();
@@ -440,9 +465,8 @@
public void removeUsageSource_hasNoData() {
DatabaseUtils.removeUsageSource(mContext);
assertThat(
- DatabaseUtils
- .getSharedPreferences(mContext)
- .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
+ DatabaseUtils.getSharedPreferences(mContext)
+ .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
.isFalse();
}
@@ -457,9 +481,8 @@
DatabaseUtils.removeUsageSource(mContext);
assertThat(
- DatabaseUtils
- .getSharedPreferences(mContext)
- .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
+ DatabaseUtils.getSharedPreferences(mContext)
+ .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
.isFalse();
}
@@ -482,9 +505,10 @@
assertThat(DatabaseUtils.getUsageSource(mContext, mUsageStatsManager))
.isEqualTo(USAGE_SOURCE_TASK_ROOT_ACTIVITY);
assertThat(
- DatabaseUtils
- .getSharedPreferences(mContext)
- .getInt(DatabaseUtils.KEY_LAST_USAGE_SOURCE, USAGE_SOURCE_CURRENT_ACTIVITY))
+ DatabaseUtils.getSharedPreferences(mContext)
+ .getInt(
+ DatabaseUtils.KEY_LAST_USAGE_SOURCE,
+ USAGE_SOURCE_CURRENT_ACTIVITY))
.isEqualTo(USAGE_SOURCE_TASK_ROOT_ACTIVITY);
}
@@ -495,9 +519,10 @@
assertThat(DatabaseUtils.getUsageSource(mContext, mUsageStatsManager))
.isEqualTo(USAGE_SOURCE_CURRENT_ACTIVITY);
assertThat(
- DatabaseUtils
- .getSharedPreferences(mContext)
- .getInt(DatabaseUtils.KEY_LAST_USAGE_SOURCE, USAGE_SOURCE_CURRENT_ACTIVITY))
+ DatabaseUtils.getSharedPreferences(mContext)
+ .getInt(
+ DatabaseUtils.KEY_LAST_USAGE_SOURCE,
+ USAGE_SOURCE_CURRENT_ACTIVITY))
.isEqualTo(USAGE_SOURCE_CURRENT_ACTIVITY);
}
@@ -506,20 +531,16 @@
final String preferenceKey = "test_preference_key";
DatabaseUtils.recordDateTime(mContext, preferenceKey);
- assertThat(DatabaseUtils.getSharedPreferences(mContext).contains(preferenceKey))
- .isTrue();
+ assertThat(DatabaseUtils.getSharedPreferences(mContext).contains(preferenceKey)).isTrue();
}
@Test
public void dump_dumpExpectedData() {
- DatabaseUtils.recordDateTime(mContext,
- Intent.ACTION_BATTERY_LEVEL_CHANGED);
- DatabaseUtils.recordDateTime(mContext,
- BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING);
- DatabaseUtils.recordDateTime(mContext,
- DatabaseUtils.KEY_LAST_LOAD_FULL_CHARGE_TIME);
- DatabaseUtils.recordDateTime(mContext,
- DatabaseUtils.KEY_LAST_UPLOAD_FULL_CHARGE_TIME);
+ DatabaseUtils.recordDateTime(mContext, Intent.ACTION_BATTERY_LEVEL_CHANGED);
+ DatabaseUtils.recordDateTime(
+ mContext, BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING);
+ DatabaseUtils.recordDateTime(mContext, DatabaseUtils.KEY_LAST_LOAD_FULL_CHARGE_TIME);
+ DatabaseUtils.recordDateTime(mContext, DatabaseUtils.KEY_LAST_UPLOAD_FULL_CHARGE_TIME);
final StringWriter stringWriter = new StringWriter();
final PrintWriter printWriter = new PrintWriter(stringWriter);
@@ -570,8 +591,7 @@
.isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
assertThat(deviceBatteryState.getBatteryHealth())
.isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
- assertThat(values.getAsString("packageName"))
- .isEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
+ assertThat(values.getAsString("packageName")).isEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
}
private static Intent getBatteryIntent() {
@@ -586,10 +606,11 @@
private static MatrixCursor getMatrixCursor() {
return new MatrixCursor(
new String[] {
- BatteryHistEntry.KEY_PACKAGE_NAME,
- BatteryHistEntry.KEY_TIMESTAMP,
- BatteryHistEntry.KEY_UID,
- BatteryHistEntry.KEY_CONSUMER_TYPE,
- BatteryHistEntry.KEY_IS_FULL_CHARGE_CYCLE_START});
+ BatteryHistEntry.KEY_PACKAGE_NAME,
+ BatteryHistEntry.KEY_TIMESTAMP,
+ BatteryHistEntry.KEY_UID,
+ BatteryHistEntry.KEY_CONSUMER_TYPE,
+ BatteryHistEntry.KEY_IS_FULL_CHARGE_CYCLE_START
+ });
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManagerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManagerTest.java
index efbce12..6990535 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManagerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManagerTest.java
@@ -57,7 +57,7 @@
@Test
public void refreshJob_refreshesAlarmJob() {
- mPeriodicJobManager.refreshJob(/*fromBoot=*/ false);
+ mPeriodicJobManager.refreshJob(/* fromBoot= */ false);
final ShadowAlarmManager.ScheduledAlarm alarm =
mShadowAlarmManager.peekNextScheduledAlarm();
@@ -71,12 +71,13 @@
public void getTriggerAtMillis_withoutOffset_returnsExpectedResult() {
long timeSlotUnit = PeriodicJobManager.DATA_FETCH_INTERVAL_MINUTE;
// Sets the current time.
- Duration currentTimeDuration =
- Duration.ofMinutes(timeSlotUnit * 2);
+ Duration currentTimeDuration = Duration.ofMinutes(timeSlotUnit * 2);
FakeClock fakeClock = new FakeClock();
fakeClock.setCurrentTime(currentTimeDuration);
- assertThat(PeriodicJobManager.getTriggerAtMillis(mContext, fakeClock, /*fromBoot=*/ false))
+ assertThat(
+ PeriodicJobManager.getTriggerAtMillis(
+ mContext, fakeClock, /* fromBoot= */ false))
.isEqualTo(currentTimeDuration.plusMinutes(timeSlotUnit).toMillis());
}
@@ -86,10 +87,9 @@
// Sets the current time.
Duration currentTimeDuration = Duration.ofMinutes(timeSlotUnit * 2);
FakeClock fakeClock = new FakeClock();
- fakeClock.setCurrentTime(
- currentTimeDuration.plusMinutes(1L).plusMillis(51L));
+ fakeClock.setCurrentTime(currentTimeDuration.plusMinutes(1L).plusMillis(51L));
- assertThat(PeriodicJobManager.getTriggerAtMillis(mContext, fakeClock, /*fromBoot=*/ true))
+ assertThat(PeriodicJobManager.getTriggerAtMillis(mContext, fakeClock, /* fromBoot= */ true))
.isEqualTo(currentTimeDuration.plusMinutes(timeSlotUnit).toMillis());
}
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiverTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiverTest.java
index c9a3e64..d111de2 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiverTest.java
@@ -86,14 +86,14 @@
@Test
public void onReceive_nullIntent_notRefreshesJob() {
- mReceiver.onReceive(mContext, /*intent=*/ null);
+ mReceiver.onReceive(mContext, /* intent= */ null);
assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNull();
}
@Test
public void onReceive_containsExpiredData_clearsExpiredDataFromDatabase()
throws InterruptedException {
- insertExpiredData(/*shiftDay=*/ DatabaseUtils.DATA_RETENTION_INTERVAL_DAY);
+ insertExpiredData(/* shiftDay= */ DatabaseUtils.DATA_RETENTION_INTERVAL_DAY);
mReceiver.onReceive(mContext, JOB_UPDATE_INTENT);
@@ -104,7 +104,7 @@
@Test
public void onReceive_withoutExpiredData_notClearsExpiredDataFromDatabase()
throws InterruptedException {
- insertExpiredData(/*shiftDay=*/ DatabaseUtils.DATA_RETENTION_INTERVAL_DAY - 1);
+ insertExpiredData(/* shiftDay= */ DatabaseUtils.DATA_RETENTION_INTERVAL_DAY - 1);
mReceiver.onReceive(mContext, JOB_UPDATE_INTENT);
@@ -129,5 +129,4 @@
// Ensures the testing environment is correct.
assertThat(mDao.getAllAfter(0)).hasSize(3);
}
-
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java
index 22509de..ef4460b 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java
@@ -53,8 +53,12 @@
MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application;
- mRootView = LayoutInflater.from(mContext)
- .inflate(com.android.settingslib.widget.preference.app.R.layout.preference_app, null);
+ mRootView =
+ LayoutInflater.from(mContext)
+ .inflate(
+ com.android.settingslib.widget.preference.app.R.layout
+ .preference_app,
+ null);
mWidgetView =
LayoutInflater.from(mContext).inflate(R.layout.preference_widget_summary, null);
final LinearLayout widgetFrame = mRootView.findViewById(android.R.id.widget_frame);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvancedTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvancedTest.java
index 9753bd2..6c09e78 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvancedTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvancedTest.java
@@ -55,14 +55,10 @@
private Predicate<PowerAnomalyEvent> mCardFilterPredicate;
private Predicate<PowerAnomalyEvent> mSlotFilterPredicate;
- @Mock
- private BatteryTipsController mBatteryTipsController;
- @Mock
- private BatteryChartPreferenceController mBatteryChartPreferenceController;
- @Mock
- private ScreenOnTimeController mScreenOnTimeController;
- @Mock
- private BatteryUsageBreakdownController mBatteryUsageBreakdownController;
+ @Mock private BatteryTipsController mBatteryTipsController;
+ @Mock private BatteryChartPreferenceController mBatteryChartPreferenceController;
+ @Mock private ScreenOnTimeController mScreenOnTimeController;
+ @Mock private BatteryUsageBreakdownController mBatteryUsageBreakdownController;
@Before
public void setUp() {
@@ -75,10 +71,13 @@
mPowerUsageAdvanced.mBatteryChartPreferenceController = mBatteryChartPreferenceController;
mPowerUsageAdvanced.mScreenOnTimeController = mScreenOnTimeController;
mPowerUsageAdvanced.mBatteryUsageBreakdownController = mBatteryUsageBreakdownController;
- mPowerUsageAdvanced.mBatteryLevelData = Optional.of(new BatteryLevelData(Map.of(
- 1694354400000L, 1, // 2023-09-10 22:00:00
- 1694361600000L, 2, // 2023-09-11 00:00:00
- 1694368800000L, 3))); // 2023-09-11 02:00:00
+ mPowerUsageAdvanced.mBatteryLevelData =
+ Optional.of(
+ new BatteryLevelData(
+ Map.of(
+ 1694354400000L, 1, // 2023-09-10 22:00:00
+ 1694361600000L, 2, // 2023-09-11 00:00:00
+ 1694368800000L, 3))); // 2023-09-11 02:00:00
doReturn(mContext).when(mPowerUsageAdvanced).getContext();
mSlotFilterPredicate = PowerAnomalyEvent::hasWarningItemInfo;
}
@@ -86,15 +85,17 @@
@Test
public void getFilterAnomalyEvent_withEmptyOrNullList_getNull() {
prepareCardFilterPredicate(null);
- assertThat(PowerUsageAdvanced
- .getAnomalyEvent(null, mCardFilterPredicate)).isNull();
- assertThat(PowerUsageAdvanced
- .getAnomalyEvent(null, mSlotFilterPredicate)).isNull();
- assertThat(PowerUsageAdvanced.getAnomalyEvent(
- BatteryTestUtils.createEmptyPowerAnomalyEventList(), mCardFilterPredicate))
+ assertThat(PowerUsageAdvanced.getAnomalyEvent(null, mCardFilterPredicate)).isNull();
+ assertThat(PowerUsageAdvanced.getAnomalyEvent(null, mSlotFilterPredicate)).isNull();
+ assertThat(
+ PowerUsageAdvanced.getAnomalyEvent(
+ BatteryTestUtils.createEmptyPowerAnomalyEventList(),
+ mCardFilterPredicate))
.isNull();
- assertThat(PowerUsageAdvanced.getAnomalyEvent(
- BatteryTestUtils.createEmptyPowerAnomalyEventList(), mSlotFilterPredicate))
+ assertThat(
+ PowerUsageAdvanced.getAnomalyEvent(
+ BatteryTestUtils.createEmptyPowerAnomalyEventList(),
+ mSlotFilterPredicate))
.isNull();
}
@@ -104,12 +105,10 @@
BatteryTestUtils.createNonEmptyPowerAnomalyEventList();
final PowerAnomalyEvent slotEvent =
- PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList,
- mSlotFilterPredicate);
+ PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList, mSlotFilterPredicate);
prepareCardFilterPredicate(slotEvent);
final PowerAnomalyEvent cardEvent =
- PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList,
- mCardFilterPredicate);
+ PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList, mCardFilterPredicate);
assertThat(cardEvent).isEqualTo(BatteryTestUtils.createAdaptiveBrightnessAnomalyEvent());
assertThat(slotEvent).isNull();
@@ -123,12 +122,10 @@
DatabaseUtils.setDismissedPowerAnomalyKeys(mContext, PowerAnomalyKey.KEY_BRIGHTNESS.name());
final PowerAnomalyEvent slotEvent =
- PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList,
- mSlotFilterPredicate);
+ PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList, mSlotFilterPredicate);
prepareCardFilterPredicate(slotEvent);
final PowerAnomalyEvent cardEvent =
- PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList,
- mCardFilterPredicate);
+ PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList, mCardFilterPredicate);
assertThat(cardEvent).isEqualTo(BatteryTestUtils.createScreenTimeoutAnomalyEvent());
assertThat(slotEvent).isNull();
@@ -144,12 +141,10 @@
}
final PowerAnomalyEvent slotEvent =
- PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList,
- mSlotFilterPredicate);
+ PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList, mSlotFilterPredicate);
prepareCardFilterPredicate(slotEvent);
final PowerAnomalyEvent cardEvent =
- PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList,
- mCardFilterPredicate);
+ PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList, mCardFilterPredicate);
assertThat(cardEvent).isNull();
assertThat(slotEvent).isNull();
@@ -165,9 +160,10 @@
.isEqualTo(event.getEventId());
verify(mPowerUsageAdvanced.mBatteryTipsController).setOnAnomalyConfirmListener(isNull());
verify(mPowerUsageAdvanced.mBatteryTipsController).setOnAnomalyRejectListener(isNull());
- verify(mPowerUsageAdvanced.mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(
- eq(BatteryChartViewModel.SELECTED_INDEX_INVALID),
- eq(BatteryChartViewModel.SELECTED_INDEX_INVALID));
+ verify(mPowerUsageAdvanced.mBatteryChartPreferenceController)
+ .onHighlightSlotIndexUpdate(
+ eq(BatteryChartViewModel.SELECTED_INDEX_INVALID),
+ eq(BatteryChartViewModel.SELECTED_INDEX_INVALID));
}
@Test
@@ -180,10 +176,14 @@
.isEqualTo(event.getEventId());
verify(mBatteryTipsController).setOnAnomalyConfirmListener(isNull());
verify(mBatteryTipsController).setOnAnomalyRejectListener(isNull());
- assertThat(mPowerUsageAdvanced.mBatteryLevelData.get().getIndexByTimestamps(
- event.getWarningItemInfo().getStartTimestamp(),
- event.getWarningItemInfo().getEndTimestamp()
- )).isEqualTo(Pair.create(1, 0));
+ assertThat(
+ mPowerUsageAdvanced
+ .mBatteryLevelData
+ .get()
+ .getIndexByTimestamps(
+ event.getWarningItemInfo().getStartTimestamp(),
+ event.getWarningItemInfo().getEndTimestamp()))
+ .isEqualTo(Pair.create(1, 0));
verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(eq(1), eq(0));
verify(mBatteryTipsController).setOnAnomalyConfirmListener(notNull());
}
@@ -192,8 +192,7 @@
public void onDisplayAnomalyEventUpdated_withSettingsCardAndAppsSlotEvent_showExpected() {
final PowerAnomalyEvent settingsEvent =
BatteryTestUtils.createAdaptiveBrightnessAnomalyEvent();
- final PowerAnomalyEvent appsEvent =
- BatteryTestUtils.createAppAnomalyEvent();
+ final PowerAnomalyEvent appsEvent = BatteryTestUtils.createAppAnomalyEvent();
mPowerUsageAdvanced.onDisplayAnomalyEventUpdated(settingsEvent, appsEvent);
@@ -207,8 +206,9 @@
private void prepareCardFilterPredicate(PowerAnomalyEvent slotEvent) {
final Set<String> dismissedPowerAnomalyKeys =
DatabaseUtils.getDismissedPowerAnomalyKeys(mContext);
- mCardFilterPredicate = event -> !dismissedPowerAnomalyKeys.contains(
- event.getDismissRecordKey())
- && (event.equals(slotEvent) || !event.hasWarningItemInfo());
+ mCardFilterPredicate =
+ event ->
+ !dismissedPowerAnomalyKeys.contains(event.getDismissRecordKey())
+ && (event.equals(slotEvent) || !event.hasWarningItemInfo());
}
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBaseTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBaseTest.java
index 68766e6..399101b 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBaseTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBaseTest.java
@@ -52,10 +52,8 @@
@Config(shadows = ShadowDashboardFragment.class)
public class PowerUsageBaseTest {
- @Mock
- private LoaderManager mLoaderManager;
- @Mock
- private Loader<BatteryUsageStats> mBatteryUsageStatsLoader;
+ @Mock private LoaderManager mLoaderManager;
+ @Mock private Loader<BatteryUsageStats> mBatteryUsageStatsLoader;
private TestFragment mFragment;
@Before
@@ -77,16 +75,19 @@
final Bundle bundle = new Bundle();
bundle.putInt(KEY_REFRESH_TYPE, BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_STATUS);
bundle.putBoolean(KEY_INCLUDE_HISTORY, false);
- doReturn(mBatteryUsageStatsLoader).when(mLoaderManager).getLoader(
- PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER);
+ doReturn(mBatteryUsageStatsLoader)
+ .when(mLoaderManager)
+ .getLoader(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER);
doReturn(false).when(mBatteryUsageStatsLoader).isReset();
mFragment.restartBatteryStatsLoader(
BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_STATUS);
verify(mLoaderManager)
- .restartLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER),
- refEq(bundle), any());
+ .restartLoader(
+ eq(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER),
+ refEq(bundle),
+ any());
}
@Test
@@ -94,16 +95,19 @@
final Bundle bundle = new Bundle();
bundle.putInt(KEY_REFRESH_TYPE, BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_STATUS);
bundle.putBoolean(KEY_INCLUDE_HISTORY, false);
- doReturn(mBatteryUsageStatsLoader).when(mLoaderManager).getLoader(
- PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER);
+ doReturn(mBatteryUsageStatsLoader)
+ .when(mLoaderManager)
+ .getLoader(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER);
doReturn(true).when(mBatteryUsageStatsLoader).isReset();
mFragment.restartBatteryStatsLoader(
BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_STATUS);
verify(mLoaderManager)
- .initLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER),
- refEq(bundle), any());
+ .initLoader(
+ eq(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER),
+ refEq(bundle),
+ any());
}
@Test
@@ -111,14 +115,18 @@
final Bundle bundle = new Bundle();
bundle.putInt(KEY_REFRESH_TYPE, BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_STATUS);
bundle.putBoolean(KEY_INCLUDE_HISTORY, false);
- doReturn(null).when(mLoaderManager).getLoader(
- PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER);
+ doReturn(null)
+ .when(mLoaderManager)
+ .getLoader(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER);
mFragment.restartBatteryStatsLoader(
BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_STATUS);
- verify(mLoaderManager).initLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER),
- refEq(bundle), any());
+ verify(mLoaderManager)
+ .initLoader(
+ eq(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER),
+ refEq(bundle),
+ any());
}
private static class TestFragment extends PowerUsageBase {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
index 579d4a9..19d5e59 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
@@ -70,9 +70,10 @@
// TODO: Improve this test class so that it starts up the real activity and fragment.
@RunWith(RobolectricTestRunner.class)
-@Config(shadows = {
- com.android.settings.testutils.shadow.ShadowFragment.class,
-})
+@Config(
+ shadows = {
+ com.android.settings.testutils.shadow.ShadowFragment.class,
+ })
public class PowerUsageSummaryTest {
private static Intent sAdditionalBatteryInfoIntent;
@@ -81,26 +82,16 @@
sAdditionalBatteryInfoIntent = new Intent("com.example.app.ADDITIONAL_BATTERY_INFO");
}
- @Mock
- private SettingsActivity mSettingsActivity;
- @Mock
- private LoaderManager mLoaderManager;
- @Mock
- private Loader<BatteryTip> mBatteryTipLoader;
- @Mock
- private Loader<BatteryInfo> mBatteryInfoLoader;
- @Mock
- private ContentResolver mContentResolver;
- @Mock
- private BatteryBroadcastReceiver mBatteryBroadcastReceiver;
- @Mock
- private VisibilityLoggerMixin mVisibilityLoggerMixin;
- @Mock
- private PreferenceScreen mPreferenceScreen;
- @Mock
- private Preference mBatteryUsagePreference;
- @Mock
- private Preference mHelpPreference;
+ @Mock private SettingsActivity mSettingsActivity;
+ @Mock private LoaderManager mLoaderManager;
+ @Mock private Loader<BatteryTip> mBatteryTipLoader;
+ @Mock private Loader<BatteryInfo> mBatteryInfoLoader;
+ @Mock private ContentResolver mContentResolver;
+ @Mock private BatteryBroadcastReceiver mBatteryBroadcastReceiver;
+ @Mock private VisibilityLoggerMixin mVisibilityLoggerMixin;
+ @Mock private PreferenceScreen mPreferenceScreen;
+ @Mock private Preference mBatteryUsagePreference;
+ @Mock private Preference mHelpPreference;
private Context mRealContext;
private TestFragment mFragment;
@@ -120,8 +111,8 @@
.thenReturn(sAdditionalBatteryInfoIntent);
mFragment.mBatteryUtils = Mockito.spy(new BatteryUtils(mRealContext));
ReflectionHelpers.setField(mFragment, "mVisibilityLoggerMixin", mVisibilityLoggerMixin);
- ReflectionHelpers.setField(mFragment, "mBatteryBroadcastReceiver",
- mBatteryBroadcastReceiver);
+ ReflectionHelpers.setField(
+ mFragment, "mBatteryBroadcastReceiver", mBatteryBroadcastReceiver);
doReturn(mPreferenceScreen).when(mFragment).getPreferenceScreen();
when(mFragment.getContentResolver()).thenReturn(mContentResolver);
when(mFragment.findPreference(KEY_BATTERY_USAGE)).thenReturn(mBatteryUsagePreference);
@@ -157,42 +148,46 @@
@Test
public void restartBatteryTipLoader() {
- //TODO: add policy logic here when BatteryTipPolicy is implemented
- doReturn(mBatteryTipLoader).when(mLoaderManager).getLoader(
- PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER);
+ // TODO: add policy logic here when BatteryTipPolicy is implemented
+ doReturn(mBatteryTipLoader)
+ .when(mLoaderManager)
+ .getLoader(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER);
doReturn(false).when(mBatteryTipLoader).isReset();
mFragment.restartBatteryTipLoader();
- verify(mLoaderManager).restartLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER),
- eq(Bundle.EMPTY), any());
+ verify(mLoaderManager)
+ .restartLoader(
+ eq(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER), eq(Bundle.EMPTY), any());
}
@Test
public void restartBatteryTipLoader_nullLoader_initLoader() {
- doReturn(null).when(mLoaderManager).getLoader(
- PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER);
+ doReturn(null)
+ .when(mLoaderManager)
+ .getLoader(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER);
mFragment.restartBatteryTipLoader();
- verify(mLoaderManager).initLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER),
- eq(Bundle.EMPTY), any());
+ verify(mLoaderManager)
+ .initLoader(
+ eq(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER), eq(Bundle.EMPTY), any());
}
@Test
public void restartBatteryTipLoader_loaderReset_initLoader() {
- doReturn(mBatteryTipLoader).when(mLoaderManager).getLoader(
- PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER);
+ doReturn(mBatteryTipLoader)
+ .when(mLoaderManager)
+ .getLoader(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER);
doReturn(true).when(mBatteryTipLoader).isReset();
mFragment.restartBatteryTipLoader();
-
- verify(mLoaderManager).initLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER),
- eq(Bundle.EMPTY), any());
+ verify(mLoaderManager)
+ .initLoader(
+ eq(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER), eq(Bundle.EMPTY), any());
}
-
@Test
public void refreshUi_contextNull_doNothing() {
doReturn(null).when(mFragment).getContext();
@@ -256,18 +251,19 @@
public void onResume_registerContentObserver() {
mFragment.onResume();
- verify(mContentResolver).registerContentObserver(
- Settings.Global.getUriFor(Settings.Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME),
- false,
- mFragment.mSettingsObserver);
+ verify(mContentResolver)
+ .registerContentObserver(
+ Settings.Global.getUriFor(
+ Settings.Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME),
+ false,
+ mFragment.mSettingsObserver);
}
@Test
public void onPause_unregisterContentObserver() {
mFragment.onPause();
- verify(mContentResolver).unregisterContentObserver(
- mFragment.mSettingsObserver);
+ verify(mContentResolver).unregisterContentObserver(mFragment.mSettingsObserver);
}
@Test
@@ -276,9 +272,11 @@
mFragment.restartBatteryInfoLoader();
- verify(mLoaderManager, never()).restartLoader(
- PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER, Bundle.EMPTY,
- mFragment.mBatteryInfoLoaderCallbacks);
+ verify(mLoaderManager, never())
+ .restartLoader(
+ PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER,
+ Bundle.EMPTY,
+ mFragment.mBatteryInfoLoaderCallbacks);
}
@Test
@@ -287,45 +285,59 @@
mFragment.restartBatteryInfoLoader();
- verify(mLoaderManager, never()).restartLoader(
- PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER, Bundle.EMPTY,
- mFragment.mBatteryInfoLoaderCallbacks);
+ verify(mLoaderManager, never())
+ .restartLoader(
+ PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER,
+ Bundle.EMPTY,
+ mFragment.mBatteryInfoLoaderCallbacks);
}
@Test
public void restartBatteryInfoLoader() {
- doReturn(mBatteryInfoLoader).when(mLoaderManager).getLoader(
- PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER);
+ doReturn(mBatteryInfoLoader)
+ .when(mLoaderManager)
+ .getLoader(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER);
doReturn(false).when(mBatteryTipLoader).isReset();
mFragment.restartBatteryInfoLoader();
- verify(mLoaderManager).restartLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER),
- eq(Bundle.EMPTY), any());
+ verify(mLoaderManager)
+ .restartLoader(
+ eq(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER),
+ eq(Bundle.EMPTY),
+ any());
}
@Test
public void restartBatteryInfoLoader_nullLoader_initLoader() {
- doReturn(null).when(mLoaderManager).getLoader(
- PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER);
+ doReturn(null)
+ .when(mLoaderManager)
+ .getLoader(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER);
mFragment.restartBatteryInfoLoader();
- verify(mLoaderManager).initLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER),
- eq(Bundle.EMPTY), any());
+ verify(mLoaderManager)
+ .initLoader(
+ eq(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER),
+ eq(Bundle.EMPTY),
+ any());
}
@Test
public void restartBatteryInfoLoader_loaderReset_initLoader() {
mFragment.setIsBatteryPresent(true);
- doReturn(mBatteryInfoLoader).when(mLoaderManager).getLoader(
- PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER);
+ doReturn(mBatteryInfoLoader)
+ .when(mLoaderManager)
+ .getLoader(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER);
doReturn(true).when(mBatteryInfoLoader).isReset();
mFragment.restartBatteryInfoLoader();
- verify(mLoaderManager).initLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER),
- eq(Bundle.EMPTY), any());
+ verify(mLoaderManager)
+ .initLoader(
+ eq(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER),
+ eq(Bundle.EMPTY),
+ any());
}
private static class TestFragment extends PowerUsageSummary {
@@ -357,5 +369,4 @@
return mLoaderManager;
}
}
-
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeControllerTest.java
index acf4a2e..282ec9e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeControllerTest.java
@@ -46,10 +46,8 @@
private Context mContext;
private ScreenOnTimeController mScreenOnTimeController;
- @Mock
- private PreferenceCategory mRootPreference;
- @Mock
- private TextViewPreference mScreenOnTimeTextPreference;
+ @Mock private PreferenceCategory mRootPreference;
+ @Mock private TextViewPreference mScreenOnTimeTextPreference;
@Before
public void setUp() {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreferenceTest.java
index 4c2192c..8050984 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreferenceTest.java
@@ -42,14 +42,13 @@
private Context mContext;
private SpinnerPreference mSpinnerPreference;
- @Mock
- private Spinner mMockSpinner;
+ @Mock private Spinner mMockSpinner;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
- mSpinnerPreference = new SpinnerPreference(mContext, /*attrs=*/ null);
+ mSpinnerPreference = new SpinnerPreference(mContext, /* attrs= */ null);
}
@Test
@@ -59,7 +58,7 @@
@Test
public void initializeSpinner_returnExpectedResult() {
- final String[] items = new String[]{"item1", "item2"};
+ final String[] items = new String[] {"item1", "item2"};
mSpinnerPreference.initializeSpinner(items, null);
assertThat(mSpinnerPreference.mItems).isEqualTo(items);
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TextViewPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TextViewPreferenceTest.java
index ca7e9dd..caccc87 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TextViewPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TextViewPreferenceTest.java
@@ -41,13 +41,13 @@
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
- mTextViewPreference = new TextViewPreference(mContext, /*attrs=*/ null);
+ mTextViewPreference = new TextViewPreference(mContext, /* attrs= */ null);
}
@Test
public void constructor_returnExpectedResult() {
- assertThat(mTextViewPreference.getLayoutResource()).isEqualTo(
- R.layout.preference_text_view);
+ assertThat(mTextViewPreference.getLayoutResource())
+ .isEqualTo(R.layout.preference_text_view);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TimestampUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TimestampUtilsTest.java
index 23787c7..1aae61c 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TimestampUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TimestampUtilsTest.java
@@ -36,11 +36,9 @@
@Test
public void getNextHourTimestamp_returnExpectedResult() {
// 2021-02-28 06:00:00 => 2021-02-28 07:00:00
- assertThat(TimestampUtils.getNextHourTimestamp(1614463200000L))
- .isEqualTo(1614466800000L);
+ assertThat(TimestampUtils.getNextHourTimestamp(1614463200000L)).isEqualTo(1614466800000L);
// 2021-12-31 23:59:59 => 2022-01-01 00:00:00
- assertThat(TimestampUtils.getNextHourTimestamp(16409663999999L))
- .isEqualTo(16409664000000L);
+ assertThat(TimestampUtils.getNextHourTimestamp(16409663999999L)).isEqualTo(16409664000000L);
}
@Test
@@ -66,11 +64,9 @@
@Test
public void getTimestampOfNextDay_returnExpectedResult() {
// 2021-02-28 06:00:00 => 2021-03-01 00:00:00
- assertThat(TimestampUtils.getNextDayTimestamp(1614463200000L))
- .isEqualTo(1614528000000L);
+ assertThat(TimestampUtils.getNextDayTimestamp(1614463200000L)).isEqualTo(1614528000000L);
// 2021-12-31 16:00:00 => 2022-01-01 00:00:00
- assertThat(TimestampUtils.getNextDayTimestamp(1640937600000L))
- .isEqualTo(1640966400000L);
+ assertThat(TimestampUtils.getNextDayTimestamp(1640937600000L)).isEqualTo(1640966400000L);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java
index 45d4065..d998106 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java
@@ -52,7 +52,7 @@
mPrintWriter = new PrintWriter(mStringWriter);
mContext = ApplicationProvider.getApplicationContext();
mBugReportContentProvider = new BugReportContentProvider();
- mBugReportContentProvider.attachInfo(mContext, /*info=*/ null);
+ mBugReportContentProvider.attachInfo(mContext, /* info= */ null);
// Inserts fake data into database for testing.
BatteryTestUtils.setUpBatteryStateDatabase(mContext);
BatteryTestUtils.insertDataToBatteryStateTable(
@@ -60,15 +60,15 @@
BatteryTestUtils.insertDataToBatteryStateTable(
mContext, System.currentTimeMillis(), PACKAGE_NAME2);
BatteryTestUtils.insertDataToAppUsageEventTable(
- mContext, /*userId=*/ 1, System.currentTimeMillis(), PACKAGE_NAME3);
+ mContext, /* userId= */ 1, System.currentTimeMillis(), PACKAGE_NAME3);
BatteryTestUtils.insertDataToAppUsageEventTable(
- mContext, /*userId=*/ 1, System.currentTimeMillis(), PACKAGE_NAME4);
+ mContext, /* userId= */ 1, System.currentTimeMillis(), PACKAGE_NAME4);
}
@Test
public void dump_nullContext_notDumpsBatteryUsageData() {
mBugReportContentProvider = new BugReportContentProvider();
- mBugReportContentProvider.attachInfo(/*context=*/ null, /*info=*/ null);
+ mBugReportContentProvider.attachInfo(/* context= */ null, /* info= */ null);
mBugReportContentProvider.dump(FileDescriptor.out, mPrintWriter, new String[] {});
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDaoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDaoTest.java
index 4883d4f..219120e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDaoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDaoTest.java
@@ -61,13 +61,13 @@
BatteryTestUtils.insertDataToAppUsageEventTable(
mContext, USER_ID2, TIMESTAMP2, PACKAGE_NAME2);
BatteryTestUtils.insertDataToAppUsageEventTable(
- mContext, USER_ID1, TIMESTAMP1, PACKAGE_NAME1, /*multiple=*/ true);
+ mContext, USER_ID1, TIMESTAMP1, PACKAGE_NAME1, /* multiple= */ true);
}
@After
public void closeDb() {
mDatabase.close();
- BatteryStateDatabase.setBatteryStateDatabase(/*database=*/ null);
+ BatteryStateDatabase.setBatteryStateDatabase(/* database= */ null);
}
@Test
@@ -147,7 +147,7 @@
@Test
public void getInstance_createNewInstance() throws Exception {
- BatteryStateDatabase.setBatteryStateDatabase(/*database=*/ null);
+ BatteryStateDatabase.setBatteryStateDatabase(/* database= */ null);
assertThat(BatteryStateDatabase.getInstance(mContext)).isNotNull();
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventEntityTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventEntityTest.java
index 3cbf845..eb72b96 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventEntityTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventEntityTest.java
@@ -35,16 +35,16 @@
final int instanceId = 100001;
final String taskRootPackageName = "com.android.settings2";
- AppUsageEventEntity entity = AppUsageEventEntity
- .newBuilder()
- .setUid(uid)
- .setUserId(userId)
- .setTimestamp(timestamp)
- .setAppUsageEventType(appUsageEventType)
- .setPackageName(packageName)
- .setInstanceId(instanceId)
- .setTaskRootPackageName(taskRootPackageName)
- .build();
+ AppUsageEventEntity entity =
+ AppUsageEventEntity.newBuilder()
+ .setUid(uid)
+ .setUserId(userId)
+ .setTimestamp(timestamp)
+ .setAppUsageEventType(appUsageEventType)
+ .setPackageName(packageName)
+ .setInstanceId(instanceId)
+ .setTaskRootPackageName(taskRootPackageName)
+ .build();
// Verifies the app relative information.
assertThat(entity.uid).isEqualTo(uid);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDaoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDaoTest.java
index 3c3e3c3..d36f2b5 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDaoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDaoTest.java
@@ -57,22 +57,23 @@
@After
public void closeDb() {
mDatabase.close();
- BatteryStateDatabase.setBatteryStateDatabase(/*database=*/ null);
+ BatteryStateDatabase.setBatteryStateDatabase(/* database= */ null);
}
-
@Test
public void getLastFullChargeTimestamp_normalFlow_expectedBehavior() throws Exception {
- mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
- .setTimestamp(TIMESTAMP1)
- .setBatteryEventType(3)
- .setBatteryLevel(100)
- .build());
- mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
- .setTimestamp(TIMESTAMP2)
- .setBatteryEventType(4)
- .setBatteryLevel(96)
- .build());
+ mBatteryEventDao.insert(
+ BatteryEventEntity.newBuilder()
+ .setTimestamp(TIMESTAMP1)
+ .setBatteryEventType(3)
+ .setBatteryLevel(100)
+ .build());
+ mBatteryEventDao.insert(
+ BatteryEventEntity.newBuilder()
+ .setTimestamp(TIMESTAMP2)
+ .setBatteryEventType(4)
+ .setBatteryLevel(96)
+ .build());
final Cursor cursor = mBatteryEventDao.getLastFullChargeTimestamp();
assertThat(cursor.getCount()).isEqualTo(1);
@@ -83,11 +84,12 @@
@Test
public void getLastFullChargeTimestamp_noLastFullChargeTime_returns0() throws Exception {
mBatteryEventDao.clearAll();
- mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
- .setTimestamp(TIMESTAMP2)
- .setBatteryEventType(4)
- .setBatteryLevel(96)
- .build());
+ mBatteryEventDao.insert(
+ BatteryEventEntity.newBuilder()
+ .setTimestamp(TIMESTAMP2)
+ .setBatteryEventType(4)
+ .setBatteryLevel(96)
+ .build());
final Cursor cursor = mBatteryEventDao.getLastFullChargeTimestamp();
@@ -98,26 +100,25 @@
@Test
public void getAllAfter_normalFlow_returnExpectedResult() {
- mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
- .setTimestamp(100L)
- .setBatteryEventType(1)
- .setBatteryLevel(66)
- .build());
- mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
- .setTimestamp(200L)
- .setBatteryEventType(2)
- .setBatteryLevel(88)
- .build());
+ mBatteryEventDao.insert(
+ BatteryEventEntity.newBuilder()
+ .setTimestamp(100L)
+ .setBatteryEventType(1)
+ .setBatteryLevel(66)
+ .build());
+ mBatteryEventDao.insert(
+ BatteryEventEntity.newBuilder()
+ .setTimestamp(200L)
+ .setBatteryEventType(2)
+ .setBatteryLevel(88)
+ .build());
final Cursor cursor = mBatteryEventDao.getAllAfter(160L, List.of(1, 2));
assertThat(cursor.getCount()).isEqualTo(1);
cursor.moveToFirst();
- assertThat(cursor.getLong(cursor.getColumnIndex(KEY_TIMESTAMP)))
- .isEqualTo(200L);
- assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_EVENT_TYPE)))
- .isEqualTo(2);
- assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_LEVEL)))
- .isEqualTo(88);
+ assertThat(cursor.getLong(cursor.getColumnIndex(KEY_TIMESTAMP))).isEqualTo(200L);
+ assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_EVENT_TYPE))).isEqualTo(2);
+ assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_LEVEL))).isEqualTo(88);
mBatteryEventDao.clearAll();
assertThat(mBatteryEventDao.getAll()).isEmpty();
@@ -125,26 +126,25 @@
@Test
public void getAllAfter_filterBatteryTypes_returnExpectedResult() {
- mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
- .setTimestamp(100L)
- .setBatteryEventType(1)
- .setBatteryLevel(66)
- .build());
- mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
- .setTimestamp(200L)
- .setBatteryEventType(2)
- .setBatteryLevel(88)
- .build());
+ mBatteryEventDao.insert(
+ BatteryEventEntity.newBuilder()
+ .setTimestamp(100L)
+ .setBatteryEventType(1)
+ .setBatteryLevel(66)
+ .build());
+ mBatteryEventDao.insert(
+ BatteryEventEntity.newBuilder()
+ .setTimestamp(200L)
+ .setBatteryEventType(2)
+ .setBatteryLevel(88)
+ .build());
final Cursor cursor = mBatteryEventDao.getAllAfter(0L, List.of(1));
assertThat(cursor.getCount()).isEqualTo(1);
cursor.moveToFirst();
- assertThat(cursor.getLong(cursor.getColumnIndex(KEY_TIMESTAMP)))
- .isEqualTo(100L);
- assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_EVENT_TYPE)))
- .isEqualTo(1);
- assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_LEVEL)))
- .isEqualTo(66);
+ assertThat(cursor.getLong(cursor.getColumnIndex(KEY_TIMESTAMP))).isEqualTo(100L);
+ assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_EVENT_TYPE))).isEqualTo(1);
+ assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_LEVEL))).isEqualTo(66);
mBatteryEventDao.clearAll();
assertThat(mBatteryEventDao.getAll()).isEmpty();
@@ -152,26 +152,25 @@
@Test
public void getAllAfter_filterTimestamp_returnExpectedResult() {
- mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
- .setTimestamp(100L)
- .setBatteryEventType(1)
- .setBatteryLevel(66)
- .build());
- mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
- .setTimestamp(200L)
- .setBatteryEventType(1)
- .setBatteryLevel(88)
- .build());
+ mBatteryEventDao.insert(
+ BatteryEventEntity.newBuilder()
+ .setTimestamp(100L)
+ .setBatteryEventType(1)
+ .setBatteryLevel(66)
+ .build());
+ mBatteryEventDao.insert(
+ BatteryEventEntity.newBuilder()
+ .setTimestamp(200L)
+ .setBatteryEventType(1)
+ .setBatteryLevel(88)
+ .build());
final Cursor cursor = mBatteryEventDao.getAllAfter(200L, List.of(1));
assertThat(cursor.getCount()).isEqualTo(1);
cursor.moveToFirst();
- assertThat(cursor.getLong(cursor.getColumnIndex(KEY_TIMESTAMP)))
- .isEqualTo(200L);
- assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_EVENT_TYPE)))
- .isEqualTo(1);
- assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_LEVEL)))
- .isEqualTo(88);
+ assertThat(cursor.getLong(cursor.getColumnIndex(KEY_TIMESTAMP))).isEqualTo(200L);
+ assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_EVENT_TYPE))).isEqualTo(1);
+ assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_LEVEL))).isEqualTo(88);
mBatteryEventDao.clearAll();
assertThat(mBatteryEventDao.getAll()).isEmpty();
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventEntityTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventEntityTest.java
index a34d651..6aa7157 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventEntityTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventEntityTest.java
@@ -32,12 +32,12 @@
final int batteryEventType = 1;
final int batteryLevel = 66;
- BatteryEventEntity entity = BatteryEventEntity
- .newBuilder()
- .setTimestamp(timestamp)
- .setBatteryEventType(batteryEventType)
- .setBatteryLevel(batteryLevel)
- .build();
+ BatteryEventEntity entity =
+ BatteryEventEntity.newBuilder()
+ .setTimestamp(timestamp)
+ .setBatteryEventType(batteryEventType)
+ .setBatteryLevel(batteryLevel)
+ .build();
// Verifies the app relative information.
assertThat(entity.timestamp).isEqualTo(timestamp);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDaoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDaoTest.java
index b3dba4e..cc1d7b4 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDaoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDaoTest.java
@@ -57,14 +57,17 @@
BatteryTestUtils.insertDataToBatteryStateTable(mContext, TIMESTAMP3, PACKAGE_NAME3);
BatteryTestUtils.insertDataToBatteryStateTable(mContext, TIMESTAMP2, PACKAGE_NAME2);
BatteryTestUtils.insertDataToBatteryStateTable(
- mContext, TIMESTAMP1, PACKAGE_NAME1, /*multiple=*/ true,
- /*isFullChargeStart=*/ true);
+ mContext,
+ TIMESTAMP1,
+ PACKAGE_NAME1,
+ /* multiple= */ true,
+ /* isFullChargeStart= */ true);
}
@After
public void closeDb() {
mDatabase.close();
- BatteryStateDatabase.setBatteryStateDatabase(/*database=*/ null);
+ BatteryStateDatabase.setBatteryStateDatabase(/* database= */ null);
}
@Test
@@ -136,29 +139,25 @@
@Test
public void getInstance_createNewInstance_returnsExpectedResult() throws Exception {
- BatteryStateDatabase.setBatteryStateDatabase(/*database=*/ null);
+ BatteryStateDatabase.setBatteryStateDatabase(/* database= */ null);
assertThat(BatteryStateDatabase.getInstance(mContext)).isNotNull();
}
@Test
public void getDistinctTimestampCount_normalFlow_returnsExpectedResult() {
- assertThat(mBatteryStateDao.getDistinctTimestampCount(/*timestamp=*/ 0))
- .isEqualTo(3);
- assertThat(mBatteryStateDao.getDistinctTimestampCount(TIMESTAMP1))
- .isEqualTo(2);
+ assertThat(mBatteryStateDao.getDistinctTimestampCount(/* timestamp= */ 0)).isEqualTo(3);
+ assertThat(mBatteryStateDao.getDistinctTimestampCount(TIMESTAMP1)).isEqualTo(2);
}
@Test
public void getDistinctTimestamps_normalFlow_returnsExpectedResult() {
- final List<Long> timestamps =
- mBatteryStateDao.getDistinctTimestamps(/*timestamp=*/ 0);
+ final List<Long> timestamps = mBatteryStateDao.getDistinctTimestamps(/* timestamp= */ 0);
assertThat(timestamps).hasSize(3);
assertThat(timestamps).containsExactly(TIMESTAMP1, TIMESTAMP2, TIMESTAMP3);
}
- private static void assertBatteryState(
- BatteryState state, long timestamp, String packageName) {
+ private static void assertBatteryState(BatteryState state, long timestamp, String packageName) {
assertThat(state.timestamp).isEqualTo(timestamp);
assertThat(state.packageName).isEqualTo(packageName);
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateTest.java
index 9b9003e..e48f250 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateTest.java
@@ -41,15 +41,13 @@
@Before
public void setUp() {
final DeviceBatteryState deviceBatteryState =
- DeviceBatteryState
- .newBuilder()
+ DeviceBatteryState.newBuilder()
.setBatteryLevel(BATTERY_LEVEL)
.setBatteryStatus(BATTERY_STATUS)
.setBatteryHealth(BATTERY_HEALTH)
.build();
mBatteryInformation =
- BatteryInformation
- .newBuilder()
+ BatteryInformation.newBuilder()
.setDeviceBatteryState(deviceBatteryState)
.setBootTimestamp(101L)
.setIsHidden(true)
@@ -78,8 +76,8 @@
assertThat(state.timestamp).isEqualTo(100001L);
assertThat(state.consumerType).isEqualTo(2);
assertThat(state.isFullChargeCycleStart).isTrue();
- assertThat(state.batteryInformation).isEqualTo(
- ConvertUtils.convertBatteryInformationToString(mBatteryInformation));
+ assertThat(state.batteryInformation)
+ .isEqualTo(ConvertUtils.convertBatteryInformationToString(mBatteryInformation));
}
private static BatteryState create(BatteryInformation batteryInformation) {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDaoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDaoTest.java
index 6f73954..1501bbd 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDaoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDaoTest.java
@@ -61,7 +61,7 @@
@After
public void closeDb() {
mDatabase.close();
- BatteryStateDatabase.setBatteryStateDatabase(/*database=*/ null);
+ BatteryStateDatabase.setBatteryStateDatabase(/* database= */ null);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotEntityTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotEntityTest.java
index ef276eb..4c037b9 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotEntityTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotEntityTest.java
@@ -31,11 +31,11 @@
final long timestamp = 10001L;
final String batteryUsageSlotString = "batteryUsageSlotString";
- BatteryUsageSlotEntity entity = BatteryUsageSlotEntity
- .newBuilder()
- .setTimestamp(timestamp)
- .setBatteryUsageSlot(batteryUsageSlotString)
- .build();
+ BatteryUsageSlotEntity entity =
+ BatteryUsageSlotEntity.newBuilder()
+ .setTimestamp(timestamp)
+ .setBatteryUsageSlot(batteryUsageSlotString)
+ .build();
// Verifies the app relative information.
assertThat(entity.timestamp).isEqualTo(timestamp);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManagerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManagerTest.java
index cdf1514..3202610 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManagerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManagerTest.java
@@ -19,138 +19,366 @@
import static android.net.NetworkPolicyManager.POLICY_NONE;
import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
+import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
+import static com.android.settings.fuelgauge.datasaver.DynamicDenylistManager.PREF_KEY_MANUAL_DENYLIST_SYNCED;
+
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.never;
+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.content.SharedPreferences;
+import android.net.NetworkPolicyManager;
+import android.util.ArraySet;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
@RunWith(RobolectricTestRunner.class)
public class DynamicDenylistManagerTest {
- private static final String FAKE_UID_1 = "package_uid_1";
- private static final String FAKE_UID_2 = "package_uid_2";
+ private static final int[] EMPTY_ARRAY = new int[] {};
+ private static final String FAKE_UID_1 = "1001";
+ private static final String FAKE_UID_2 = "1002";
+ private static final int FAKE_UID_1_INT = Integer.parseInt(FAKE_UID_1);
+ private static final int FAKE_UID_2_INT = Integer.parseInt(FAKE_UID_2);
private SharedPreferences mManualDenyListPref;
private SharedPreferences mDynamicDenyListPref;
private DynamicDenylistManager mDynamicDenylistManager;
- private Context mContext;
+
+ @Mock
+ private NetworkPolicyManager mNetworkPolicyManager;
@Before
public void setUp() {
- mContext = RuntimeEnvironment.application.getApplicationContext();
- mDynamicDenylistManager = new DynamicDenylistManager(mContext);
- mManualDenyListPref = mDynamicDenylistManager.getManualDenylistPref();
- mDynamicDenyListPref = mDynamicDenylistManager.getDynamicDenylistPref();
+ MockitoAnnotations.initMocks(this);
}
@After
public void tearDown() {
- mDynamicDenylistManager.clearManualDenylistPref();
- mDynamicDenylistManager.clearDynamicDenylistPref();
+ mDynamicDenylistManager.clearSharedPreferences();
}
@Test
- public void getManualDenylistPref_isEmpty() {
- assertThat(mManualDenyListPref.getAll()).isEmpty();
+ public void init_withoutExistedRejectPolicy_createWithExpectedValue() {
+ initDynamicDenylistManager(EMPTY_ARRAY);
+
+ assertThat(mManualDenyListPref.getAll()).hasSize(1);
+ assertTrue(mManualDenyListPref.contains(PREF_KEY_MANUAL_DENYLIST_SYNCED));
}
@Test
- public void getDynamicDenylistPref_isEmpty() {
- assertThat(mDynamicDenyListPref.getAll()).isEmpty();
+ public void init_withExistedRejectPolicy_createWithExpectedValue() {
+ initDynamicDenylistManager(new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+ assertThat(mManualDenyListPref.getAll()).hasSize(3);
+ assertTrue(mManualDenyListPref.contains(PREF_KEY_MANUAL_DENYLIST_SYNCED));
+ assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+ assertTrue(mManualDenyListPref.contains(FAKE_UID_2));
}
@Test
public void getManualDenylistPref_initiated_containsExpectedValue() {
- mManualDenyListPref.edit().putInt(FAKE_UID_1, POLICY_REJECT_METERED_BACKGROUND).apply();
+ initDynamicDenylistManager(EMPTY_ARRAY);
- assertThat(mManualDenyListPref.getAll().size()).isEqualTo(1);
+ setupPreference(mManualDenyListPref, FAKE_UID_1);
+
assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
}
@Test
public void getDynamicDenylistPref_initiated_containsExpectedValue() {
- mDynamicDenyListPref.edit().putInt(FAKE_UID_1, POLICY_REJECT_METERED_BACKGROUND).apply();
+ initDynamicDenylistManager(EMPTY_ARRAY);
- assertThat(mDynamicDenyListPref.getAll()).hasSize(1);
+ setupPreference(mDynamicDenyListPref, FAKE_UID_1);
+
assertTrue(mDynamicDenyListPref.contains(FAKE_UID_1));
}
@Test
public void updateManualDenylist_policyReject_addsUid() {
- mDynamicDenylistManager.updateManualDenylist(FAKE_UID_1, POLICY_REJECT_METERED_BACKGROUND);
+ initDynamicDenylistManager(EMPTY_ARRAY);
- assertThat(mManualDenyListPref.getAll()).hasSize(1);
+ mDynamicDenylistManager.updateDenylistPref(FAKE_UID_1_INT,
+ POLICY_REJECT_METERED_BACKGROUND);
+
assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
}
@Test
public void updateManualDenylist_policyNone_removesUid() {
- mManualDenyListPref.edit().putInt(FAKE_UID_1, POLICY_REJECT_METERED_BACKGROUND).apply();
+ initDynamicDenylistManager(EMPTY_ARRAY);
+ setupPreference(mManualDenyListPref, FAKE_UID_1);
assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
- mDynamicDenylistManager.updateManualDenylist(FAKE_UID_1, POLICY_NONE);
+ mDynamicDenylistManager.updateDenylistPref(FAKE_UID_1_INT, POLICY_NONE);
- assertThat(mManualDenyListPref.getAll()).isEmpty();
+ assertFalse(mManualDenyListPref.contains(FAKE_UID_1));
}
@Test
public void updateManualDenylist_samePolicy_doNothing() {
- mManualDenyListPref.edit().putInt(FAKE_UID_1, POLICY_REJECT_METERED_BACKGROUND).apply();
+ initDynamicDenylistManager(EMPTY_ARRAY);
+ setupPreference(mManualDenyListPref, FAKE_UID_1);
assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+ assertThat(mManualDenyListPref.getAll()).hasSize(2);
- mDynamicDenylistManager.updateManualDenylist(FAKE_UID_1, POLICY_REJECT_METERED_BACKGROUND);
+ mDynamicDenylistManager.updateDenylistPref(FAKE_UID_1_INT,
+ POLICY_REJECT_METERED_BACKGROUND);
- assertThat(mManualDenyListPref.getAll()).hasSize(1);
+ assertThat(mManualDenyListPref.getAll()).hasSize(2);
}
@Test
- public void isManualDenylist_returnsFalse() {
- assertFalse(mDynamicDenylistManager.isInManualDenylist(FAKE_UID_1));
+ public void setUidPolicyLocked_invokeSetUidPolicy() {
+ initDynamicDenylistManager(EMPTY_ARRAY);
+
+ mDynamicDenylistManager.setUidPolicyLocked(FAKE_UID_1_INT,
+ POLICY_REJECT_METERED_BACKGROUND);
+
+ assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+ verify(mNetworkPolicyManager).setUidPolicy(eq(FAKE_UID_1_INT),
+ eq(POLICY_REJECT_METERED_BACKGROUND));
}
@Test
- public void isManualDenylist_incorrectUid_returnsFalse() {
+ public void setDenylist_emptyListAndNoData_doNothing() {
+ initDynamicDenylistManager(EMPTY_ARRAY);
+
+ setDenylist(Collections.emptySet());
+
+ verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), anyInt());
+ }
+
+ @Test
+ public void setDenylist_uidDeniedAlready_doNothing() {
+ initDynamicDenylistManager(new int[] {FAKE_UID_1_INT});
+
+ setDenylist(new ArraySet<>(List.of(FAKE_UID_1_INT)));
+
+ verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), anyInt());
+ }
+
+ @Test
+ public void setDenylist_sameList_doNothing() {
+ initDynamicDenylistManager(EMPTY_ARRAY);
+ setupPreference(mDynamicDenyListPref, FAKE_UID_2, FAKE_UID_1);
+
+ setDenylist(new ArraySet<>(List.of(FAKE_UID_1_INT, FAKE_UID_2_INT)));
+
+ verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), anyInt());
+ }
+
+ @Test
+ public void setDenylist_newListWithOldData_modifyPolicyNoneAndReject() {
+ initDynamicDenylistManager(EMPTY_ARRAY);
+ setupPreference(mDynamicDenyListPref, FAKE_UID_2);
+
+ setDenylist(new ArraySet<>(List.of(FAKE_UID_1_INT)));
+
+ verify(mNetworkPolicyManager).setUidPolicy(FAKE_UID_2_INT, POLICY_NONE);
+ verify(mNetworkPolicyManager).setUidPolicy(FAKE_UID_1_INT,
+ POLICY_REJECT_METERED_BACKGROUND);
+ assertThat(mDynamicDenyListPref.getAll()).hasSize(1);
+ assertTrue(mDynamicDenyListPref.contains(FAKE_UID_1));
+ }
+
+ @Test
+ public void setDenylist_newListWithoutOldData_modifyPolicyReject() {
+ initDynamicDenylistManager(EMPTY_ARRAY);
+
+ setDenylist(new ArraySet<>(List.of(FAKE_UID_1_INT)));
+
+ verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), eq(POLICY_NONE));
+ verify(mNetworkPolicyManager).setUidPolicy(FAKE_UID_1_INT,
+ POLICY_REJECT_METERED_BACKGROUND);
+ assertThat(mDynamicDenyListPref.getAll()).hasSize(1);
+ assertTrue(mDynamicDenyListPref.contains(FAKE_UID_1));
+ }
+
+ @Test
+ public void setDenylist_emptyListWithOldData_modifyPolicyNone() {
+ initDynamicDenylistManager(EMPTY_ARRAY);
+ setupPreference(mDynamicDenyListPref, FAKE_UID_2);
+
+ setDenylist(Collections.emptySet());
+
+ verify(mNetworkPolicyManager).setUidPolicy(FAKE_UID_2_INT, POLICY_NONE);
+ verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(),
+ eq(POLICY_REJECT_METERED_BACKGROUND));
+ assertThat(mDynamicDenyListPref.getAll()).isEmpty();
+ }
+
+ @Test
+ public void isInManualDenylist_returnsFalse() {
+ initDynamicDenylistManager(EMPTY_ARRAY);
+
+ assertFalse(mDynamicDenylistManager.isInManualDenylist(FAKE_UID_1_INT));
+ }
+
+ @Test
+ public void isInManualDenylist_incorrectUid_returnsFalse() {
+ initDynamicDenylistManager(EMPTY_ARRAY);
+
mManualDenyListPref.edit().putInt(FAKE_UID_2, POLICY_REJECT_METERED_BACKGROUND).apply();
- assertFalse(mDynamicDenylistManager.isInManualDenylist(FAKE_UID_1));
+ assertFalse(mDynamicDenylistManager.isInManualDenylist(FAKE_UID_1_INT));
}
@Test
- public void isManualDenylist_initiated_returnsTrue() {
+ public void isInManualDenylist_initiated_returnsTrue() {
+ initDynamicDenylistManager(EMPTY_ARRAY);
+
mManualDenyListPref.edit().putInt(FAKE_UID_1, POLICY_REJECT_METERED_BACKGROUND).apply();
- assertTrue(mDynamicDenylistManager.isInManualDenylist(FAKE_UID_1));
+ assertTrue(mDynamicDenylistManager.isInManualDenylist(FAKE_UID_1_INT));
}
@Test
- public void clearManualDenylistPref_isEmpty() {
- mManualDenyListPref.edit().putInt(FAKE_UID_1, POLICY_REJECT_METERED_BACKGROUND).apply();
+ public void resetDenylistIfNeeded_nullPackageName_doNothing() {
+ initDynamicDenylistManager(new int[0], new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+ mDynamicDenylistManager.resetDenylistIfNeeded(null, false);
+
assertThat(mManualDenyListPref.getAll()).hasSize(1);
- assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+ verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), eq(POLICY_NONE));
+ }
- mDynamicDenylistManager.clearManualDenylistPref();
+ @Test
+ public void resetDenylistIfNeeded_invalidPackageName_doNothing() {
+ initDynamicDenylistManager(new int[0], new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+ mDynamicDenylistManager.resetDenylistIfNeeded("invalid_package_name", false);
+
+ assertThat(mManualDenyListPref.getAll()).hasSize(1);
+ verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), eq(POLICY_NONE));
+ }
+
+ @Test
+ public void resetDenylistIfNeeded_denylistUnchanged_doNothingWithPolicy() {
+ initDynamicDenylistManager(new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+ mDynamicDenylistManager.resetDenylistIfNeeded(SETTINGS_PACKAGE_NAME, false);
+
+ verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), eq(POLICY_NONE));
+ }
+
+ @Test
+ public void resetDenylistIfNeeded_denylistChanged_resetAndClear() {
+ initDynamicDenylistManager(new int[0], new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+ mDynamicDenylistManager.resetDenylistIfNeeded(SETTINGS_PACKAGE_NAME, false);
+
+ assertThat(mManualDenyListPref.getAll()).isEmpty();
+ verify(mNetworkPolicyManager, times(2)).setUidPolicy(anyInt(), eq(POLICY_NONE));
+ }
+
+ @Test
+ public void resetDenylistIfNeeded_forceResetWithNullPackageName_resetAndClear() {
+ initDynamicDenylistManager(new int[0], new int[] {FAKE_UID_2_INT});
+
+ mDynamicDenylistManager.resetDenylistIfNeeded(null, true);
+
+ assertThat(mManualDenyListPref.getAll()).isEmpty();
+ verify(mNetworkPolicyManager).setUidPolicy(eq(FAKE_UID_2_INT), eq(POLICY_NONE));
+ }
+
+ @Test
+ public void resetDenylistIfNeeded_forceResetWithInvalidPackageName_resetAndClear() {
+ initDynamicDenylistManager(new int[0], new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+ mDynamicDenylistManager.resetDenylistIfNeeded("invalid_package_name", true);
+
+ assertThat(mManualDenyListPref.getAll()).isEmpty();
+ verify(mNetworkPolicyManager, times(2)).setUidPolicy(anyInt(), eq(POLICY_NONE));
+ }
+
+ @Test
+ public void resetDenylistIfNeeded_forceResetButDenylistUnchanged_doNothingWithPolicy() {
+ initDynamicDenylistManager(new int[] {FAKE_UID_1_INT});
+
+ mDynamicDenylistManager.resetDenylistIfNeeded(SETTINGS_PACKAGE_NAME, true);
+
+ assertThat(mManualDenyListPref.getAll()).isEmpty();
+ verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), eq(POLICY_NONE));
+ }
+
+ @Test
+ public void resetDenylistIfNeeded_forceResetWithDenylistChanged_resetAndClear() {
+ initDynamicDenylistManager(new int[0], new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+ mDynamicDenylistManager.resetDenylistIfNeeded(SETTINGS_PACKAGE_NAME, true);
+
+ assertThat(mManualDenyListPref.getAll()).isEmpty();
+ verify(mNetworkPolicyManager, times(2)).setUidPolicy(anyInt(), eq(POLICY_NONE));
+ }
+
+ @Test
+ public void clearSharedPreferences_manualDenyListPrefIsEmpty() {
+ initDynamicDenylistManager(EMPTY_ARRAY);
+ mManualDenyListPref.edit().putInt(FAKE_UID_1, POLICY_REJECT_METERED_BACKGROUND).apply();
+ assertThat(mManualDenyListPref.getAll()).hasSize(2);
+ assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+ assertTrue(mManualDenyListPref.contains(PREF_KEY_MANUAL_DENYLIST_SYNCED));
+
+ mDynamicDenylistManager.clearSharedPreferences();
assertThat(mManualDenyListPref.getAll()).isEmpty();
}
@Test
- public void clearDynamicDenylistPref_isEmpty() {
+ public void clearSharedPreferences_dynamicDenyListPrefIsEmpty() {
+ initDynamicDenylistManager(EMPTY_ARRAY);
mDynamicDenyListPref.edit().putInt(FAKE_UID_1, POLICY_REJECT_METERED_BACKGROUND).apply();
assertThat(mDynamicDenyListPref.getAll()).hasSize(1);
assertTrue(mDynamicDenyListPref.contains(FAKE_UID_1));
- mDynamicDenylistManager.clearDynamicDenylistPref();
+ mDynamicDenylistManager.clearSharedPreferences();
assertThat(mDynamicDenyListPref.getAll()).isEmpty();
}
+
+ private void initDynamicDenylistManager(int[] preload) {
+ initDynamicDenylistManager(preload, preload);
+ }
+
+ private void initDynamicDenylistManager(int[] preload1, int[] preload2) {
+ final Context context = spy(RuntimeEnvironment.application.getApplicationContext());
+ when(mNetworkPolicyManager.getUidsWithPolicy(anyInt()))
+ .thenReturn(preload1).thenReturn(preload2);
+ mDynamicDenylistManager = new DynamicDenylistManager(context, mNetworkPolicyManager);
+ mManualDenyListPref = mDynamicDenylistManager.getManualDenylistPref();
+ mDynamicDenyListPref = mDynamicDenylistManager.getDynamicDenylistPref();
+ }
+
+ private void setDenylist(Set<Integer> packageNameList) {
+ mDynamicDenylistManager.setDenylist(packageNameList);
+ }
+
+ private void setupPreference(SharedPreferences sharedPreferences, String... uids) {
+ final SharedPreferences.Editor editor = sharedPreferences.edit();
+ for (String uid : uids) {
+ editor.putInt(uid, POLICY_REJECT_METERED_BACKGROUND);
+ }
+ editor.apply();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/gestures/PreventRingingSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PreventRingingSwitchPreferenceControllerTest.java
index 5f25759..67618c8 100644
--- a/tests/robotests/src/com/android/settings/gestures/PreventRingingSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/PreventRingingSwitchPreferenceControllerTest.java
@@ -116,7 +116,7 @@
Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.VOLUME_HUSH_GESTURE,
VOLUME_HUSH_OFF);
- mController.onSwitchChanged(null, true);
+ mController.onCheckedChanged(null, true);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.VOLUME_HUSH_GESTURE, UNKNOWN)).isEqualTo(VOLUME_HUSH_VIBRATE);
@@ -127,7 +127,7 @@
Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.VOLUME_HUSH_GESTURE,
VOLUME_HUSH_MUTE);
- mController.onSwitchChanged(null, false);
+ mController.onCheckedChanged(null, false);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.VOLUME_HUSH_GESTURE, UNKNOWN)).isEqualTo(VOLUME_HUSH_OFF);
@@ -139,7 +139,7 @@
Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.VOLUME_HUSH_GESTURE,
VOLUME_HUSH_MUTE);
- mController.onSwitchChanged(null, true);
+ mController.onCheckedChanged(null, true);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.VOLUME_HUSH_GESTURE, UNKNOWN)).isEqualTo(VOLUME_HUSH_MUTE);
@@ -151,7 +151,7 @@
Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.VOLUME_HUSH_GESTURE,
VOLUME_HUSH_VIBRATE);
- mController.onSwitchChanged(null, true);
+ mController.onCheckedChanged(null, true);
assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.VOLUME_HUSH_GESTURE, UNKNOWN)).isEqualTo(VOLUME_HUSH_VIBRATE);
diff --git a/tests/robotests/src/com/android/settings/inputmethod/SpellCheckerPreferenceTest.java b/tests/robotests/src/com/android/settings/inputmethod/SpellCheckerPreferenceTest.java
new file mode 100644
index 0000000..d8e54b0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/SpellCheckerPreferenceTest.java
@@ -0,0 +1,75 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.inputmethod;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.content.Intent;
+import android.view.View;
+import android.view.textservice.SpellCheckerInfo;
+
+import androidx.preference.PreferenceViewHolder;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class SpellCheckerPreferenceTest {
+
+ private Context mContext;
+ private PreferenceViewHolder mViewHolder;
+ private View mDivider;
+ private SpellCheckerPreference mPreference;
+ private final SpellCheckerInfo[] mScis = new SpellCheckerInfo[]{};
+
+ @Before
+ public void setUp() {
+ mContext = RuntimeEnvironment.application;
+ mPreference = new SpellCheckerPreference(mContext, mScis);
+ }
+
+ @Test
+ public void onBindViewHolder_withIntent_DividerIsVisible() {
+ final View view = spy(View.inflate(mContext, mPreference.getLayoutResource(), null));
+ mViewHolder = PreferenceViewHolder.createInstanceForTests(view);
+ mDivider = view.findViewById(
+ com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider);
+ mPreference.mIntent = new Intent(Intent.ACTION_MAIN);
+
+ mPreference.onBindViewHolder(mViewHolder);
+
+ assertThat(mDivider.getVisibility()).isEqualTo(View.VISIBLE);
+ }
+
+ @Test
+ public void onBindViewHolder_withoutIntent_DividerIsNotExist() {
+ final View view = spy(View.inflate(mContext, mPreference.getLayoutResource(), null));
+ mViewHolder = PreferenceViewHolder.createInstanceForTests(view);
+ mDivider = view.findViewById(
+ com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider);
+
+ mPreference.onBindViewHolder(mViewHolder);
+
+ assertThat(mDivider.getVisibility()).isEqualTo(View.GONE);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/location/LocationSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationSwitchBarControllerTest.java
index 50f618f..1f20d59 100644
--- a/tests/robotests/src/com/android/settings/location/LocationSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/LocationSwitchBarControllerTest.java
@@ -85,14 +85,14 @@
@Test
public void onSwitchChanged_switchChecked_shouldSetLocationEnabled() {
- mController.onSwitchChanged(mSwitch, true);
+ mController.onCheckedChanged(mSwitch, true);
verify(mEnabler).setLocationEnabled(true);
}
@Test
public void onSwitchChanged_switchUnchecked_shouldSetLocationDisabled() {
- mController.onSwitchChanged(mSwitch, false);
+ mController.onCheckedChanged(mSwitch, false);
verify(mEnabler).setLocationEnabled(false);
}
diff --git a/tests/robotests/src/com/android/settings/notification/BubbleNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/BubbleNotificationPreferenceControllerTest.java
index b346b01..b275976 100644
--- a/tests/robotests/src/com/android/settings/notification/BubbleNotificationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/BubbleNotificationPreferenceControllerTest.java
@@ -112,7 +112,7 @@
public void onSwitchChanged_true_settingIsOff_flagShouldOn() {
Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, OFF);
- mController.onSwitchChanged(mSwitch, true);
+ mController.onCheckedChanged(mSwitch, true);
assertThat(Settings.Global.getInt(mContext.getContentResolver(),
NOTIFICATION_BUBBLES, OFF)).isEqualTo(ON);
@@ -122,7 +122,7 @@
public void onSwitchChanged_false_settingIsOn_flagShouldOff() {
Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, ON);
- mController.onSwitchChanged(mSwitch, false);
+ mController.onCheckedChanged(mSwitch, false);
assertThat(Settings.Global.getInt(mContext.getContentResolver(),
NOTIFICATION_BUBBLES, ON)).isEqualTo(OFF);
diff --git a/tests/robotests/src/com/android/settings/notification/app/BlockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/BlockPreferenceControllerTest.java
index 9e9e655..abcf2de 100644
--- a/tests/robotests/src/com/android/settings/notification/app/BlockPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/BlockPreferenceControllerTest.java
@@ -101,7 +101,7 @@
@Test
public void testNoCrashIfNoOnResume() {
mController.isAvailable();
- mController.onSwitchChanged(null, false);
+ mController.onCheckedChanged(null, false);
}
@Test
@@ -355,11 +355,11 @@
mController.onResume(appRow, channel, null, null, null, null, null);
mController.updateState(mPreference);
- mController.onSwitchChanged(null, false);
+ mController.onCheckedChanged(null, false);
assertEquals(IMPORTANCE_NONE, channel.getImportance());
assertTrue(appRow.banned);
- mController.onSwitchChanged(null, true);
+ mController.onCheckedChanged(null, true);
assertEquals(IMPORTANCE_UNSPECIFIED, channel.getImportance());
assertFalse(appRow.banned);
@@ -377,10 +377,10 @@
mController.onResume(appRow, channel, null, null, null, null, null);
mController.updateState(mPreference);
- mController.onSwitchChanged(null, false);
+ mController.onCheckedChanged(null, false);
assertEquals(IMPORTANCE_NONE, channel.getImportance());
- mController.onSwitchChanged(null, true);
+ mController.onCheckedChanged(null, true);
assertEquals(IMPORTANCE_HIGH, channel.getImportance());
verify(mBackend, times(2)).updateChannel(any(), anyInt(), any());
diff --git a/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceControllerTest.java
index 5cc931e..cd2e266 100644
--- a/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceControllerTest.java
@@ -16,55 +16,78 @@
package com.android.settings.security;
-import static android.view.contentprotection.flags.Flags.FLAG_SETTING_UI_ENABLED;
+import static com.android.internal.R.string.config_defaultContentProtectionService;
+
import static com.google.common.truth.Truth.assertThat;
-import android.content.ContentResolver;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+import android.content.ComponentName;
import android.content.Context;
import android.platform.test.flag.junit.SetFlagsRule;
-import android.provider.Settings;
+import android.provider.DeviceConfig;
+import android.view.contentcapture.ContentCaptureManager;
-import androidx.preference.Preference;
-
-import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
@RunWith(RobolectricTestRunner.class)
+@Config(
+ shadows = {
+ ShadowDeviceConfig.class,
+ })
public class ContentProtectionPreferenceControllerTest {
+ private static final String PACKAGE_NAME = "com.test.package";
+
+ private static final ComponentName COMPONENT_NAME =
+ new ComponentName(PACKAGE_NAME, "TestClass");
+
@Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private Context mContext;
+
+ private String mConfigDefaultContentProtectionService = COMPONENT_NAME.flattenToString();
+
private ContentProtectionPreferenceController mController;
- private Preference mPreference;
@Before
public void setUp() {
- MockitoAnnotations.initMocks(this);
- mContext = RuntimeEnvironment.application;
+ mContext = spy(RuntimeEnvironment.application);
mController = new ContentProtectionPreferenceController(mContext, "key");
- mPreference = new Preference(mContext);
- mPreference.setKey(mController.getPreferenceKey());
+ }
+
+ @After
+ public void tearDown() {
+ ShadowDeviceConfig.reset();
}
@Test
- public void isAvailable_flagSettingUiDisabled_isFalse() {
- mSetFlagsRule.disableFlags(FLAG_SETTING_UI_ENABLED);
+ public void isAvailable_isFalse() {
assertThat(mController.isAvailable()).isFalse();
}
@Test
- public void isAvailable_flagSettingUiEnabled_isTrue() {
- mSetFlagsRule.enableFlags(FLAG_SETTING_UI_ENABLED);
+ public void isAvailable_isTrue() {
+ doReturn(COMPONENT_NAME.flattenToString())
+ .when(mContext)
+ .getString(config_defaultContentProtectionService);
+
+ DeviceConfig.setProperty(
+ DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+ ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+ "true",
+ /* makeDefault= */ false);
+
assertThat(mController.isAvailable()).isTrue();
}
}
diff --git a/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceFragmentTest.java
index 431dd0c..d394582 100644
--- a/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceFragmentTest.java
@@ -17,21 +17,32 @@
package com.android.settings.security;
import static android.app.settings.SettingsEnums.CONTENT_PROTECTION_PREFERENCE;
+
+import static com.android.internal.R.string.config_defaultContentProtectionService;
+
import static com.google.common.truth.Truth.assertThat;
+
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
+import android.content.ComponentName;
import android.content.Context;
+import android.provider.DeviceConfig;
import android.provider.SearchIndexableResource;
+import android.view.contentcapture.ContentCaptureManager;
+
+import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.testutils.XmlTestUtils;
import com.android.settings.testutils.shadow.ShadowDashboardFragment;
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+import com.android.settings.testutils.shadow.ShadowUtils;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
@@ -40,53 +51,129 @@
import java.util.List;
@RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowDashboardFragment.class)
+@Config(
+ shadows = {
+ ShadowDashboardFragment.class,
+ ShadowUtils.class,
+ ShadowDeviceConfig.class,
+ })
public class ContentProtectionPreferenceFragmentTest {
+ private static final String PACKAGE_NAME = "com.test.package";
- @Mock
- private ContentProtectionPreferenceFragment mMockFragment;
+ private static final ComponentName COMPONENT_NAME =
+ new ComponentName(PACKAGE_NAME, "TestClass");
+
+ private String mConfigDefaultContentProtectionService = COMPONENT_NAME.flattenToString();
+ private ContentProtectionPreferenceFragment mFragment;
private Context mContext;
+ private PreferenceScreen mScreen;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
- mContext = spy(RuntimeEnvironment.application);
- mMockFragment = spy(new ContentProtectionPreferenceFragment());
- doReturn(mContext).when(mMockFragment).getContext();
+ mContext = spy(RuntimeEnvironment.application);
+ mFragment = spy(new ContentProtectionPreferenceFragment());
+ mScreen = spy(new PreferenceScreen(mContext, /* attrs= */ null));
+
+ doReturn(mContext).when(mFragment).getContext();
+ doReturn(mScreen).when(mFragment).getPreferenceScreen();
+ }
+
+ @After
+ public void tearDown() {
+ ShadowDeviceConfig.reset();
}
@Test
public void getMetricsCategory() {
- assertThat(mMockFragment.getMetricsCategory()).isEqualTo(CONTENT_PROTECTION_PREFERENCE);
+ assertThat(mFragment.getMetricsCategory()).isEqualTo(CONTENT_PROTECTION_PREFERENCE);
}
@Test
- public void getPreferenceScreenResId(){
- assertThat(mMockFragment.getPreferenceScreenResId())
- .isEqualTo(R.layout.content_protection_preference_fragment);
+ public void getPreferenceScreenResId() {
+ assertThat(mFragment.getPreferenceScreenResId())
+ .isEqualTo(R.layout.content_protection_preference_fragment);
}
@Test
- public void getNonIndexableKeys_existInXmlLayout() {
+ public void getNonIndexableKeys_uiEnabled_existInXmlLayout() {
+ DeviceConfig.setProperty(
+ DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+ ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+ "true",
+ /* makeDefault= */ false);
+ doReturn(mConfigDefaultContentProtectionService)
+ .when(mContext)
+ .getString(config_defaultContentProtectionService);
+
final List<String> nonIndexableKeys =
- ContentProtectionPreferenceFragment.SEARCH_INDEX_DATA_PROVIDER
- .getNonIndexableKeys(mContext);
+ ContentProtectionPreferenceFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(
+ mContext);
final List<String> allKeys =
- XmlTestUtils.getKeysFromPreferenceXml(mContext,
- R.layout.content_protection_preference_fragment);
+ XmlTestUtils.getKeysFromPreferenceXml(
+ mContext, R.layout.content_protection_preference_fragment);
+ final List<String> nonIndexableKeysExpected =
+ List.of(
+ "content_protection_preference_top_intro",
+ "content_protection_preference_subpage_illustration",
+ "content_protection_preference_user_consent_work_profile_switch");
assertThat(allKeys).containsAtLeastElementsIn(nonIndexableKeys);
+ assertThat(nonIndexableKeys).isEqualTo(nonIndexableKeysExpected);
+ }
+
+ @Test
+ public void getNonIndexableKeys_uiDisabled_notExisted() {
+ DeviceConfig.setProperty(
+ DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+ ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+ "false",
+ /* makeDefault= */ false);
+
+ final List<String> nonIndexableKeys =
+ ContentProtectionPreferenceFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(
+ mContext);
+ final List<String> allKeys =
+ XmlTestUtils.getKeysFromPreferenceXml(
+ mContext, R.layout.content_protection_preference_fragment);
+
+ assertThat(nonIndexableKeys).isEqualTo(allKeys);
}
@Test
public void searchIndexProvider_shouldIndexResource() {
final List<SearchIndexableResource> indexRes =
ContentProtectionPreferenceFragment.SEARCH_INDEX_DATA_PROVIDER
- .getXmlResourcesToIndex(mContext, /* enabled = */ true);
+ .getXmlResourcesToIndex(mContext, /* enabled= */ true);
assertThat(indexRes).isNotNull();
assertThat(indexRes).isNotEmpty();
- assertThat(indexRes.get(0).xmlResId).isEqualTo(mMockFragment.getPreferenceScreenResId());
+ assertThat(indexRes.get(0).xmlResId).isEqualTo(mFragment.getPreferenceScreenResId());
+ }
+
+ @Test
+ public void isPageSearchEnabled_uiDisabled_returnsFalse() {
+ boolean isSearchEnabled =
+ mFragment.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(mContext);
+
+ assertThat(isSearchEnabled).isFalse();
+ }
+
+ @Test
+ public void isPageSearchEnabled_uiEnabled_returnsTrue() {
+ DeviceConfig.setProperty(
+ DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+ ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+ "true",
+ /* makeDefault= */ false);
+ doReturn(mConfigDefaultContentProtectionService)
+ .when(mContext)
+ .getString(config_defaultContentProtectionService);
+
+ boolean isSearchEnabled =
+ mFragment.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(mContext);
+
+ assertThat(isSearchEnabled).isTrue();
}
}
diff --git a/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceUtilsTest.java b/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceUtilsTest.java
new file mode 100644
index 0000000..9b49434
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceUtilsTest.java
@@ -0,0 +1,148 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.security;
+
+import static com.android.internal.R.string.config_defaultContentProtectionService;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.provider.DeviceConfig;
+import android.view.contentcapture.ContentCaptureManager;
+
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+ shadows = {
+ ShadowDeviceConfig.class,
+ })
+public class ContentProtectionPreferenceUtilsTest {
+ private static final String PACKAGE_NAME = "com.test.package";
+
+ private static final ComponentName COMPONENT_NAME =
+ new ComponentName(PACKAGE_NAME, "TestClass");
+
+ private String mConfigDefaultContentProtectionService = COMPONENT_NAME.flattenToString();
+
+ @Mock private Context mMockContext;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @After
+ public void tearDown() {
+ ShadowDeviceConfig.reset();
+ }
+
+ @Test
+ public void isAvailable_bothEnabled_true() {
+ DeviceConfig.setProperty(
+ DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+ ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+ "true",
+ /* makeDefault= */ false);
+ when(mMockContext.getString(config_defaultContentProtectionService))
+ .thenReturn(mConfigDefaultContentProtectionService);
+
+ assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isTrue();
+ }
+
+ @Test
+ public void isAvailable_onlyUiEnabled_false() {
+ DeviceConfig.setProperty(
+ DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+ ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+ "true",
+ /* makeDefault= */ false);
+
+ assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isFalse();
+ }
+
+ @Test
+ public void isAvailable_onlyServiceEnabled_false() {
+ when(mMockContext.getString(config_defaultContentProtectionService))
+ .thenReturn(mConfigDefaultContentProtectionService);
+ DeviceConfig.setProperty(
+ DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+ ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+ "false",
+ /* makeDefault= */ false);
+
+ assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isFalse();
+ }
+
+ @Test
+ public void isAvailable_emptyComponentName_false() {
+ when(mMockContext.getString(config_defaultContentProtectionService))
+ .thenReturn("");
+ DeviceConfig.setProperty(
+ DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+ ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+ "true",
+ /* makeDefault= */ false);
+
+ assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isFalse();
+ }
+
+ @Test
+ public void isAvailable_blankComponentName_false() {
+ when(mMockContext.getString(config_defaultContentProtectionService))
+ .thenReturn(" ");
+ DeviceConfig.setProperty(
+ DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+ ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+ "true",
+ /* makeDefault= */ false);
+
+ assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isFalse();
+ }
+
+ @Test
+ public void isAvailable_invalidComponentName_false() {
+ when(mMockContext.getString(config_defaultContentProtectionService))
+ .thenReturn("invalid");
+
+ assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isFalse();
+ }
+
+
+ @Test
+ public void isAvailable_bothDisabled_false() {
+ DeviceConfig.setProperty(
+ DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+ ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+ "false",
+ /* makeDefault= */ false);
+
+ assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isFalse();
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/security/ContentProtectionTogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/ContentProtectionTogglePreferenceControllerTest.java
new file mode 100644
index 0000000..63b6c3e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/security/ContentProtectionTogglePreferenceControllerTest.java
@@ -0,0 +1,146 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.security;
+
+import static com.android.settings.security.ContentProtectionTogglePreferenceController.KEY_CONTENT_PROTECTION_PREFERENCE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.shadow.ShadowUtils;
+import com.android.settings.widget.SettingsMainSwitchPreference;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+ shadows = {
+ ShadowUtils.class,
+ })
+public class ContentProtectionTogglePreferenceControllerTest {
+
+ @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+ @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+ @Mock private PreferenceScreen mScreen;
+
+ private SettingsMainSwitchPreference mSwitchPreference;
+ private final Context mContext = ApplicationProvider.getApplicationContext();
+ private ContentProtectionTogglePreferenceController mController;
+ private int mSettingBackupValue;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mController = new ContentProtectionTogglePreferenceController(mContext, "key");
+ mSwitchPreference = new SettingsMainSwitchPreference(mContext);
+ when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mSwitchPreference);
+ mSettingBackupValue = getContentProtectionGlobalSetting();
+ Settings.Global.putInt(mContext.getContentResolver(), KEY_CONTENT_PROTECTION_PREFERENCE, 0);
+ }
+
+ @After
+ public void tearDown() {
+ Settings.Global.putInt(
+ mContext.getContentResolver(),
+ KEY_CONTENT_PROTECTION_PREFERENCE,
+ mSettingBackupValue);
+ }
+
+ @Test
+ public void isAvailable_alwaysAvailable() {
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void isChecked_settingTurnOn() {
+ Settings.Global.putInt(mContext.getContentResolver(), KEY_CONTENT_PROTECTION_PREFERENCE, 1);
+
+ assertThat(mController.isChecked()).isTrue();
+ }
+
+ @Test
+ public void isChecked_fullyManagedMode_settingTurnOff() {
+ final ComponentName componentName =
+ ComponentName.unflattenFromString("com.android.test/.DeviceAdminReceiver");
+ ShadowUtils.setDeviceOwnerComponent(componentName);
+ Settings.Global.putInt(mContext.getContentResolver(), KEY_CONTENT_PROTECTION_PREFERENCE, 1);
+
+ ContentProtectionTogglePreferenceController controller =
+ new ContentProtectionTogglePreferenceController(mContext, "key");
+
+ assertThat(controller.isChecked()).isFalse();
+ }
+
+ @Test
+ public void isChecked_settingTurnOff() {
+ Settings.Global.putInt(
+ mContext.getContentResolver(), KEY_CONTENT_PROTECTION_PREFERENCE, -1);
+
+ assertThat(mController.isChecked()).isFalse();
+ assertThat(getContentProtectionGlobalSetting()).isEqualTo(-1);
+ }
+
+ @Test
+ public void isChecked_settingDefaultOn() {
+ assertThat(mController.isChecked()).isTrue();
+ assertThat(getContentProtectionGlobalSetting()).isEqualTo(0);
+ }
+
+ @Test
+ public void onSwitchChanged_switchChecked_manuallyEnabled() {
+ mController.displayPreference(mScreen);
+ mController.setChecked(false);
+
+ mController.onCheckedChanged(/* switchView= */ null, /* isChecked= */ true);
+
+ assertThat(getContentProtectionGlobalSetting()).isEqualTo(1);
+ }
+
+ @Test
+ public void onSwitchChanged_switchUnchecked_manuallyDisabled() {
+ mController.displayPreference(mScreen);
+
+ mController.onCheckedChanged(/* switchView= */ null, /* isChecked= */ false);
+
+ assertThat(getContentProtectionGlobalSetting()).isEqualTo(-1);
+ }
+
+ private int getContentProtectionGlobalSetting() {
+ return Settings.Global.getInt(
+ mContext.getContentResolver(), KEY_CONTENT_PROTECTION_PREFERENCE, 0);
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/security/ContentProtectionWorkSwitchControllerTest.java b/tests/robotests/src/com/android/settings/security/ContentProtectionWorkSwitchControllerTest.java
new file mode 100644
index 0000000..8d35e4d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/security/ContentProtectionWorkSwitchControllerTest.java
@@ -0,0 +1,163 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.security;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.UserHandle;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class ContentProtectionWorkSwitchControllerTest {
+ private static final UserHandle TEST_USER_HANDLE = UserHandle.of(10);
+
+ private final Context mContext = ApplicationProvider.getApplicationContext();
+
+ @Mock private PreferenceScreen mMockPreferenceScreen;
+ private ContentProtectionWorkSwitchController mController;
+ private UserHandle mManagedProfileUserHandle;
+ private RestrictedLockUtils.EnforcedAdmin mEnforcedAdmin;
+
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mController = new TestContentProtectionWorkSwitchController();
+ }
+
+ @Test
+ public void isAvailable_managedProfile_available() {
+ mManagedProfileUserHandle = TEST_USER_HANDLE;
+
+ assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
+ @Test
+ public void isAvailable_noManagedProfile_notAvailable() {
+ mManagedProfileUserHandle = null;
+
+ assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ public void isChecked_noManagedProfile_alwaysOff() {
+ mManagedProfileUserHandle = null;
+
+ assertThat(mController.isChecked()).isFalse();
+ }
+
+ @Test
+ public void isChecked_managedProfile_alwaysOff() {
+ mManagedProfileUserHandle = TEST_USER_HANDLE;
+
+ assertThat(mController.isChecked()).isFalse();
+ }
+
+ @Test
+ public void setChecked_alwaysFalse() {
+ assertThat(mController.setChecked(true)).isFalse();
+ assertThat(mController.setChecked(false)).isFalse();
+ }
+
+ @Test
+ public void displayPreference_managedProfile_disabled() {
+ mManagedProfileUserHandle = TEST_USER_HANDLE;
+ mEnforcedAdmin = new RestrictedLockUtils.EnforcedAdmin();
+ RestrictedSwitchPreference mockSwitchPreference = mock(RestrictedSwitchPreference.class);
+ when(mMockPreferenceScreen.findPreference(any())).thenReturn(mockSwitchPreference);
+ when(mockSwitchPreference.getKey()).thenReturn(mController.getPreferenceKey());
+
+ mController.displayPreference(mMockPreferenceScreen);
+
+ assertThat(mController.isAvailable()).isTrue();
+ verify(mockSwitchPreference).setDisabledByAdmin(mEnforcedAdmin);
+ }
+
+ @Test
+ public void displayPreference_noManagedProfile_notDisabled() {
+ mManagedProfileUserHandle = null;
+ mEnforcedAdmin = new RestrictedLockUtils.EnforcedAdmin();
+ RestrictedSwitchPreference mockSwitchPreference = mock(RestrictedSwitchPreference.class);
+ when(mMockPreferenceScreen.findPreference(any())).thenReturn(mockSwitchPreference);
+ when(mockSwitchPreference.getKey()).thenReturn(mController.getPreferenceKey());
+
+ mController.displayPreference(mMockPreferenceScreen);
+
+ assertThat(mController.isAvailable()).isFalse();
+ verify(mockSwitchPreference, never()).setDisabledByAdmin(any());
+ }
+
+ @Test
+ public void displayPreference_noEnforcedAdmin_notDisabled() {
+ mManagedProfileUserHandle = null;
+ mEnforcedAdmin = null;
+ RestrictedSwitchPreference mockSwitchPreference = mock(RestrictedSwitchPreference.class);
+ when(mMockPreferenceScreen.findPreference(any())).thenReturn(mockSwitchPreference);
+ when(mockSwitchPreference.getKey()).thenReturn(mController.getPreferenceKey());
+
+ mController.displayPreference(mMockPreferenceScreen);
+
+ assertThat(mController.isAvailable()).isFalse();
+ verify(mockSwitchPreference, never()).setDisabledByAdmin(any());
+ }
+
+ private class TestContentProtectionWorkSwitchController
+ extends ContentProtectionWorkSwitchController {
+
+ TestContentProtectionWorkSwitchController() {
+ super(ContentProtectionWorkSwitchControllerTest.this.mContext, "key");
+ }
+
+ @Override
+ @Nullable
+ protected UserHandle getManagedProfile() {
+ return mManagedProfileUserHandle;
+ }
+
+ @Override
+ @Nullable
+ protected RestrictedLockUtils.EnforcedAdmin getEnforcedAdmin(
+ @NonNull UserHandle managedProfile) {
+ return mEnforcedAdmin;
+ }
+ }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/BatteryTestUtils.java b/tests/robotests/src/com/android/settings/testutils/BatteryTestUtils.java
index e98ea1b..745fca7 100644
--- a/tests/robotests/src/com/android/settings/testutils/BatteryTestUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/BatteryTestUtils.java
@@ -219,7 +219,7 @@
when(mockUsbPort.supportsComplianceWarnings()).thenReturn(true);
when(mockUsbPortStatus.isConnected()).thenReturn(true);
when(mockUsbPortStatus.getComplianceWarnings())
- .thenReturn(new int[]{UsbPortStatus.COMPLIANCE_WARNING_OTHER});
+ .thenReturn(new int[]{UsbPortStatus.COMPLIANCE_WARNING_DEBUG_ACCESSORY});
}
/**
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
index 1faa611..2e6189e 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
@@ -292,7 +292,7 @@
public void onSwitchChanged_enableSetting_shouldLaunchWfcDisclaimerFragment() {
final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
- mFragment.onSwitchChanged(null, true);
+ mFragment.onCheckedChanged(null, true);
// Check the WFC disclaimer fragment is launched.
verify(mFragment).startActivityForResult(intentCaptor.capture(),
@@ -337,7 +337,7 @@
@Test
public void onSwitchChanged_disableSetting_shouldNotLaunchWfcDisclaimerFragment() {
- mFragment.onSwitchChanged(null, false);
+ mFragment.onCheckedChanged(null, false);
// Check the WFC disclaimer fragment is not launched.
verify(mFragment, never()).startActivityForResult(any(Intent.class), anyInt());
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java
index ca0247f..0982f26 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java
@@ -150,7 +150,7 @@
public void onSwitchChanged_switchNotEnabled_doNothingForTethering() {
when(mSwitch.isEnabled()).thenReturn(false);
- mController.onSwitchChanged(mSwitch, mSwitch.isChecked());
+ mController.onCheckedChanged(mSwitch, true);
verify(mConnectivityManager, never()).startTethering(anyInt(), anyBoolean(), any(), any());
verify(mConnectivityManager, never()).stopTethering(anyInt());
@@ -158,9 +158,7 @@
@Test
public void onSwitchChanged_isChecked_startTethering() {
- when(mSwitch.isChecked()).thenReturn(true);
-
- mController.onSwitchChanged(mSwitch, mSwitch.isChecked());
+ mController.onCheckedChanged(mSwitch, true);
verify(mConnectivityManager).startTethering(anyInt(), anyBoolean(), any(), any());
}
@@ -168,9 +166,7 @@
@Test
public void onSwitchChanged_isNotChecked_stopTethering() {
when(mWifiManager.getWifiApState()).thenReturn(WIFI_AP_STATE_ENABLED);
- when(mSwitch.isChecked()).thenReturn(false);
-
- mController.onSwitchChanged(mSwitch, mSwitch.isChecked());
+ mController.onCheckedChanged(mSwitch, false);
verify(mConnectivityManager).stopTethering(anyInt());
}
diff --git a/tests/screenshot/Android.bp b/tests/screenshot/Android.bp
new file mode 100644
index 0000000..e20b5d3
--- /dev/null
+++ b/tests/screenshot/Android.bp
@@ -0,0 +1,70 @@
+//
+// 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.
+
+android_app {
+ name: "ScreenshotTestStub",
+ defaults: [
+ "SettingsLibDefaults",
+ ],
+ platform_apis: true,
+ certificate: "platform",
+ privileged: true,
+ use_resource_processor: true,
+
+ static_libs: [
+ "Settings-core",
+ "androidx.fragment_fragment-testing",
+ "androidx.fragment_fragment",
+ "androidx.test.runner",
+ "androidx.test.core",
+ ],
+ uses_libs: ["org.apache.http.legacy"],
+
+ aaptflags: ["--extra-packages com.android.settings"],
+ manifest: "AndroidManifest.xml",
+}
+
+android_test {
+ name: "SettingsScreenshotTests",
+ platform_apis: true,
+ certificate: "platform",
+ test_suites: ["device-tests"],
+ srcs: [
+ "src/**/*.kt",
+ ],
+ static_libs: [
+ "androidx.fragment_fragment-testing",
+ "androidx.fragment_fragment",
+ "androidx.test.rules",
+ "androidx.test.ext.junit",
+ "platform-screenshot-diff-core",
+ "Settings-testutils2",
+ "androidx.test.core",
+ "androidx.test.espresso.core",
+ "kotlinx-coroutines-android",
+ "androidx.lifecycle_lifecycle-runtime-testing",
+ "kotlinx_coroutines_test",
+ "Settings-core",
+ "androidx.test.runner",
+ ],
+ uses_libs: ["org.apache.http.legacy"],
+ compile_multilib: "both",
+ manifest: "AndroidManifest.xml",
+ test_config: "AndroidTest.xml",
+ use_embedded_native_libs: false,
+ asset_dirs: ["assets"],
+ instrumentation_for: "ScreenshotTestStub",
+ data: [":ScreenshotTestStub"],
+}
diff --git a/tests/screenshot/AndroidManifest.xml b/tests/screenshot/AndroidManifest.xml
new file mode 100644
index 0000000..9cbc882
--- /dev/null
+++ b/tests/screenshot/AndroidManifest.xml
@@ -0,0 +1,47 @@
+<?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.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ package="com.android.settings.tests.screenshot"
+ >
+
+ <application android:debuggable="true">
+ <provider
+ android:name="com.android.settings.slices.SettingsSliceProvider"
+ android:authorities="com.android.settings.tests.screenshot.disabled"
+ android:enabled="false"
+ tools:node="remove"
+ tools:replace="android:authorities" />
+
+ </application>
+
+ <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
+ <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
+ <uses-permission android:name="android.permission.READ_LOGS" />
+ <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
+ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
+ <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
+
+ <instrumentation
+ android:name="androidx.test.runner.AndroidJUnitRunner"
+ android:label="Android Settings Screenshot tests"
+ android:targetPackage="com.android.settings.tests.screenshot" />
+
+</manifest>
diff --git a/tests/screenshot/AndroidTest.xml b/tests/screenshot/AndroidTest.xml
new file mode 100644
index 0000000..7496ffd
--- /dev/null
+++ b/tests/screenshot/AndroidTest.xml
@@ -0,0 +1,36 @@
+<!--
+ ~ 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.
+ -->
+
+<configuration description="Runs settings screendiff tests.">
+ <option name="test-suite-tag" value="apct-instrumentation" />
+ <option name="test-suite-tag" value="apct" />
+ <target_preparer class="com.android.tradefed.targetprep.DeviceSetup">
+ <option name="optimized-property-setting" value="true" />
+ </target_preparer>
+ <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
+ <option name="cleanup-apks" value="true" />
+ <option name="test-file-name" value="SettingsScreenshotTests.apk" />
+ </target_preparer>
+ <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector">
+ <option name="directory-keys"
+ value="/data/user/0/com.android.settings.tests.screenshot/" />
+ <option name="collect-on-run-ended-only" value="true" />
+ </metrics_collector>
+ <test class="com.android.tradefed.testtype.AndroidJUnitTest">
+ <option name="package" value="com.android.settings.tests.screenshot" />
+ <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
+ </test>
+</configuration>
diff --git "a/tests/screenshot/assets/pixel_4a_\0505g\051/fp_enroll_intro.png" "b/tests/screenshot/assets/pixel_4a_\0505g\051/fp_enroll_intro.png"
new file mode 100644
index 0000000..1129250
--- /dev/null
+++ "b/tests/screenshot/assets/pixel_4a_\0505g\051/fp_enroll_intro.png"
Binary files differ
diff --git a/tests/screenshot/src/com/android/settings/tests/screenshot/BasicScreenshotTest.kt b/tests/screenshot/src/com/android/settings/tests/screenshot/BasicScreenshotTest.kt
new file mode 100644
index 0000000..bf28b54
--- /dev/null
+++ b/tests/screenshot/src/com/android/settings/tests/screenshot/BasicScreenshotTest.kt
@@ -0,0 +1,147 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.tests.screenshot
+
+import android.content.Context
+import android.graphics.Bitmap
+import android.graphics.Canvas
+import android.graphics.Color
+import android.os.Bundle
+import android.view.View
+import androidx.fragment.app.testing.FragmentScenario
+import androidx.fragment.app.testing.launchFragmentInContainer
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint2.shared.model.Default
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollIntroV2Fragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintScrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.GatekeeperInfo
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.NavState
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Start
+import com.android.settings.testutils2.FakeFingerprintManagerInteractor
+import kotlinx.coroutines.test.StandardTestDispatcher
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import platform.test.screenshot.GoldenImagePathManager
+import platform.test.screenshot.ScreenshotTestRule
+import platform.test.screenshot.matchers.MSSIMMatcher
+
+@RunWith(AndroidJUnit4::class)
+class BasicScreenshotTest {
+ @Rule
+ @JvmField
+ var rule: ScreenshotTestRule =
+ ScreenshotTestRule(
+ GoldenImagePathManager(
+ InstrumentationRegistry.getInstrumentation().getContext(),
+ InstrumentationRegistry.getInstrumentation()
+ .getTargetContext()
+ .getFilesDir()
+ .getAbsolutePath() + "/settings_screenshots"
+ )
+ )
+
+ private var context: Context = ApplicationProvider.getApplicationContext()
+ private var interactor = FakeFingerprintManagerInteractor()
+
+ private val gatekeeperViewModel =
+ FingerprintGatekeeperViewModel(
+ GatekeeperInfo.GatekeeperPasswordInfo(byteArrayOf(1, 2, 3), 100L),
+ interactor
+ )
+
+ private val backgroundDispatcher = StandardTestDispatcher()
+ private lateinit var fragmentScenario: FragmentScenario<FingerprintEnrollIntroV2Fragment>
+ val navState = NavState(true)
+
+ private val navigationViewModel = FingerprintEnrollNavigationViewModel(
+ backgroundDispatcher,
+ interactor,
+ gatekeeperViewModel,
+ Start.next(navState),
+ navState,
+ Default,
+ )
+ private var fingerprintViewModel = FingerprintEnrollViewModel(
+ interactor, gatekeeperViewModel, navigationViewModel,
+ )
+ private var fingerprintScrollViewModel = FingerprintScrollViewModel()
+
+ @Before
+ fun setup() {
+ val factory =
+ object : ViewModelProvider.Factory {
+ @Suppress("UNCHECKED_CAST")
+ override fun <T : ViewModel> create(
+ modelClass: Class<T>,
+ ): T {
+ return when (modelClass) {
+ FingerprintEnrollViewModel::class.java -> fingerprintViewModel
+ FingerprintScrollViewModel::class.java -> fingerprintScrollViewModel
+ FingerprintEnrollNavigationViewModel::class.java -> navigationViewModel
+ FingerprintGatekeeperViewModel::class.java -> gatekeeperViewModel
+ else -> null
+ }
+ as T
+ }
+ }
+
+ fragmentScenario =
+ launchFragmentInContainer(Bundle(), R.style.SudThemeGlif) {
+ FingerprintEnrollIntroV2Fragment(factory)
+ }
+ }
+
+ /** Renders a [view] into a [Bitmap]. */
+ private fun viewToBitmap(view: View): Bitmap {
+ val bitmap =
+ Bitmap.createBitmap(
+ view.measuredWidth,
+ view.measuredHeight,
+ Bitmap.Config.ARGB_8888,
+ )
+ val canvas = Canvas(bitmap)
+ view.draw(canvas)
+ return bitmap
+ }
+
+ @Test
+ fun testEnrollIntro() {
+ fragmentScenario.onFragment { fragment ->
+ val view = fragment.requireView().findViewById<View>(R.id.enroll_intro_content_view)!!
+ view.setBackgroundColor(Color.BLACK)
+ }
+ fragmentScenario.onFragment { fragment ->
+ val view = fragment.requireView().findViewById<View>(R.id.enroll_intro_content_view)!!
+ rule.assertBitmapAgainstGolden(
+ viewToBitmap(view),
+ "fp_enroll_intro",
+ MSSIMMatcher()
+ )
+ }
+
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtilsTest.kt b/tests/spa_unit/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtilsTest.kt
new file mode 100644
index 0000000..9a638b2
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtilsTest.kt
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.activityembedding
+
+import android.content.Context
+import android.content.Intent
+import android.net.Uri
+import android.provider.Settings
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.activityembedding.EmbeddedDeepLinkUtils.getTrampolineIntent
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class EmbeddedDeepLinkUtilsTest {
+
+ private val context: Context = ApplicationProvider.getApplicationContext()
+
+ @Test
+ fun getTrampolineIntent_intentSelector_shouldNotChangeIntentAction() {
+ val targetIntent = Intent().setClassName(
+ "android",
+ "com.android.internal.app.PlatLogoActivity"
+ )
+ val intent = Intent(Settings.ACTION_DISPLAY_SETTINGS).apply {
+ setComponent(resolveActivity(context.packageManager))
+ setSelector(
+ Intent().setData(
+ Uri.fromParts(
+ targetIntent.toUri(Intent.URI_INTENT_SCHEME),
+ /* ssp= */ "",
+ /* fragment= */ null,
+ )
+ )
+ )
+ }
+
+ val resultIntent = getTrampolineIntent(intent, "menu_key")
+
+ val intentUriString =
+ resultIntent.getStringExtra(Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI)
+ val parsedIntent = Intent.parseUri(intentUriString, Intent.URI_INTENT_SCHEME)
+ assertThat(parsedIntent.action).isEqualTo(intent.action)
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/BillingCyclePreferenceTest.kt b/tests/spa_unit/src/com/android/settings/datausage/BillingCyclePreferenceTest.kt
index 2e2620b..4bf3851 100644
--- a/tests/spa_unit/src/com/android/settings/datausage/BillingCyclePreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/datausage/BillingCyclePreferenceTest.kt
@@ -18,40 +18,69 @@
import android.content.Context
import android.net.NetworkTemplate
+import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.assertIsEnabled
+import androidx.compose.ui.test.assertIsNotEnabled
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
import com.android.settings.datausage.lib.BillingCycleRepository
-import com.google.common.truth.Truth.assertThat
+import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
+import org.mockito.kotlin.stub
@RunWith(AndroidJUnit4::class)
class BillingCyclePreferenceTest {
+ @get:Rule
+ val composeTestRule = createComposeRule()
- private val mockBillingCycleRepository = mock<BillingCycleRepository> {
- on { isModifiable(SUB_ID) } doReturn false
- }
+ private val mockBillingCycleRepository = mock<BillingCycleRepository>()
private val context: Context = ApplicationProvider.getApplicationContext()
private val preference = BillingCyclePreference(context, null, mockBillingCycleRepository)
@Test
- fun isEnabled_initialState() {
- val enabled = preference.isEnabled
+ fun setTemplate_titleDisplayed() {
+ setTemplate()
- assertThat(enabled).isTrue()
+ composeTestRule.onNodeWithText(context.getString(R.string.billing_cycle))
+ .assertIsDisplayed()
}
@Test
- fun isEnabled_afterSetTemplate_updated() {
+ fun setTemplate_modifiable_enabled() {
+ mockBillingCycleRepository.stub {
+ on { isModifiable(SUB_ID) } doReturn true
+ }
+
+ setTemplate()
+
+ composeTestRule.onNodeWithText(context.getString(R.string.billing_cycle)).assertIsEnabled()
+ }
+
+ @Test
+ fun setTemplate_notModifiable_notEnabled() {
+ mockBillingCycleRepository.stub {
+ on { isModifiable(SUB_ID) } doReturn false
+ }
+
+ setTemplate()
+
+ composeTestRule.onNodeWithText(context.getString(R.string.billing_cycle))
+ .assertIsNotEnabled()
+ }
+
+ private fun setTemplate() {
preference.setTemplate(mock<NetworkTemplate>(), SUB_ID)
-
- val enabled = preference.isEnabled
-
- assertThat(enabled).isFalse()
+ composeTestRule.setContent {
+ preference.Content()
+ }
}
private companion object {
diff --git a/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceControllerTest.kt
new file mode 100644
index 0000000..5d68f98
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceControllerTest.kt
@@ -0,0 +1,77 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.deviceinfo.simstatus
+
+import android.content.Context
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.dx.mockito.inline.extended.ExtendedMockito
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.network.SubscriptionUtil
+import com.google.common.truth.Truth.assertThat
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.MockitoSession
+import org.mockito.kotlin.whenever
+import org.mockito.quality.Strictness
+
+@RunWith(AndroidJUnit4::class)
+class SimEidPreferenceControllerTest {
+ private lateinit var mockSession: MockitoSession
+
+ private val context: Context = ApplicationProvider.getApplicationContext()
+
+ private val controller = SimEidPreferenceController(context, TEST_KEY)
+
+ @Before
+ fun setUp() {
+ mockSession = ExtendedMockito.mockitoSession()
+ .initMocks(this)
+ .mockStatic(SubscriptionUtil::class.java)
+ .strictness(Strictness.LENIENT)
+ .startMocking()
+ }
+
+ @After
+ fun tearDown() {
+ mockSession.finishMocking()
+ }
+
+ @Test
+ fun getAvailabilityStatus_isSimHardwareVisible() {
+ whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(true)
+
+ val availabilityStatus = controller.availabilityStatus
+
+ assertThat(availabilityStatus).isEqualTo(BasePreferenceController.AVAILABLE)
+ }
+
+ @Test
+ fun getAvailabilityStatus_notSimHardwareVisible() {
+ whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(false)
+
+ val availabilityStatus = controller.availabilityStatus
+
+ assertThat(availabilityStatus).isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE)
+ }
+
+ private companion object {
+ const val TEST_KEY = "test_key"
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/MobileIconGroupExtTest.kt b/tests/spa_unit/src/com/android/settings/network/MobileIconGroupExtTest.kt
new file mode 100644
index 0000000..641051d
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/MobileIconGroupExtTest.kt
@@ -0,0 +1,45 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.network
+
+import android.text.Spanned
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class MobileIconGroupExtTest {
+ @Test
+ fun maybeToHtml_withoutHtmlTag() {
+ val actual = CONNECTED_5G.maybeToHtml()
+
+ assertThat(actual).isSameInstanceAs(CONNECTED_5G)
+ }
+
+ @Test
+ fun maybeToHtml_withHtmlTag() {
+ val actual = CONNECTED_5GE.maybeToHtml()
+
+ assertThat(actual).isInstanceOf(Spanned::class.java)
+ }
+
+ private companion object {
+ private const val CONNECTED_5G = "Connected / 5G"
+ private const val CONNECTED_5GE = "Connected / <i>5G <small>E</small></i>"
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/NetworkProviderCallsSmsControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/NetworkProviderCallsSmsControllerTest.kt
new file mode 100644
index 0000000..110fd5e
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/NetworkProviderCallsSmsControllerTest.kt
@@ -0,0 +1,149 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.network
+
+import android.content.Context
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class NetworkProviderCallsSmsControllerTest {
+ private val context: Context = ApplicationProvider.getApplicationContext()
+
+ private var isInService: (Int) -> Boolean = { true }
+
+ private val controller = NetworkProviderCallsSmsController(
+ context = context,
+ preferenceKey = TEST_KEY,
+ getDisplayName = { subInfo -> subInfo.displayName },
+ isInService = { isInService(it) },
+ )
+
+ @Test
+ fun getSummary_noSim_returnNoSim() {
+ val summary = controller.getSummary(
+ activeSubscriptionInfoList = emptyList(),
+ defaultVoiceSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ defaultSmsSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ )
+
+ assertThat(summary).isEqualTo(context.getString(R.string.calls_sms_no_sim))
+ }
+
+ @Test
+ fun getSummary_invalidSubId_returnUnavailable() {
+ isInService = { false }
+
+ val summary = controller.getSummary(
+ activeSubscriptionInfoList = listOf(SUB_INFO_1),
+ defaultVoiceSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ defaultSmsSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ )
+
+ assertThat(summary).isEqualTo("Sub 1 (Temporarily unavailable)")
+ }
+
+ @Test
+ fun getSummary_oneIsInvalidSubIdTwoIsValidSubId_returnOneIsUnavailable() {
+ isInService = { it == SUB_INFO_2.subscriptionId }
+
+ val summary = controller.getSummary(
+ activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2),
+ defaultVoiceSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ defaultSmsSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ )
+
+ assertThat(summary).isEqualTo("Sub 1 (unavailable), Sub 2")
+ }
+
+ @Test
+ fun getSummary_oneSubscription_returnDisplayName() {
+ val summary = controller.getSummary(
+ activeSubscriptionInfoList = listOf(SUB_INFO_1),
+ defaultVoiceSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ defaultSmsSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ )
+
+ assertThat(summary).isEqualTo(DISPLAY_NAME_1)
+ }
+
+ @Test
+ fun getSummary_allSubscriptionsHaveNoPreferredStatus_returnDisplayName() {
+ val summary = controller.getSummary(
+ activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2),
+ defaultVoiceSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ defaultSmsSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ )
+
+ assertThat(summary).isEqualTo("Sub 1, Sub 2")
+ }
+
+ @Test
+ fun getSummary_oneSubscriptionsIsCallPreferredTwoIsSmsPreferred_returnStatus() {
+ val summary = controller.getSummary(
+ activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2),
+ defaultVoiceSubscriptionId = SUB_INFO_1.subscriptionId,
+ defaultSmsSubscriptionId = SUB_INFO_2.subscriptionId,
+ )
+
+ assertThat(summary).isEqualTo("Sub 1 (preferred for calls), Sub 2 (preferred for SMS)")
+ }
+
+ @Test
+ fun getSummary_oneSubscriptionsIsSmsPreferredTwoIsCallPreferred_returnStatus() {
+ val summary = controller.getSummary(
+ activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2),
+ defaultVoiceSubscriptionId = SUB_INFO_2.subscriptionId,
+ defaultSmsSubscriptionId = SUB_INFO_1.subscriptionId,
+ )
+
+ assertThat(summary).isEqualTo("Sub 1 (preferred for SMS), Sub 2 (preferred for calls)")
+ }
+
+ @Test
+ fun getSummary_oneSubscriptionsIsSmsPreferredAndIsCallPreferred_returnStatus() {
+ val summary = controller.getSummary(
+ activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2),
+ defaultVoiceSubscriptionId = SUB_INFO_1.subscriptionId,
+ defaultSmsSubscriptionId = SUB_INFO_1.subscriptionId,
+ )
+
+ assertThat(summary).isEqualTo("Sub 1 (preferred), Sub 2")
+ }
+
+ private companion object {
+ const val TEST_KEY = "test_key"
+ const val DISPLAY_NAME_1 = "Sub 1"
+ const val DISPLAY_NAME_2 = "Sub 2"
+
+ val SUB_INFO_1: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+ setId(1)
+ setDisplayName(DISPLAY_NAME_1)
+ }.build()
+
+ val SUB_INFO_2: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+ setId(2)
+ setDisplayName(DISPLAY_NAME_2)
+ }.build()
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/CallStateFlowTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/CallStateFlowTest.kt
new file mode 100644
index 0000000..d353d44
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/CallStateFlowTest.kt
@@ -0,0 +1,80 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.network.telephony
+
+import android.content.Context
+import android.telephony.TelephonyCallback
+import android.telephony.TelephonyManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
+import com.android.settingslib.spa.testutils.toListWithTimeout
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.async
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doAnswer
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+
+@RunWith(AndroidJUnit4::class)
+class CallStateFlowTest {
+ private var callStateListener: TelephonyCallback.CallStateListener? = null
+
+ private val mockTelephonyManager = mock<TelephonyManager> {
+ on { createForSubscriptionId(SUB_ID) } doReturn mock
+ on { registerTelephonyCallback(any(), any()) } doAnswer {
+ callStateListener = it.arguments[1] as TelephonyCallback.CallStateListener
+ callStateListener?.onCallStateChanged(TelephonyManager.CALL_STATE_IDLE)
+ }
+ }
+
+ private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+ on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+ }
+
+ @Test
+ fun callStateFlow_initial_sendInitialState() = runBlocking {
+ val flow = context.callStateFlow(SUB_ID)
+
+ val state = flow.firstWithTimeoutOrNull()
+
+ assertThat(state).isEqualTo(TelephonyManager.CALL_STATE_IDLE)
+ }
+
+ @Test
+ fun callStateFlow_changed_sendChangedState() = runBlocking {
+ val listDeferred = async {
+ context.callStateFlow(SUB_ID).toListWithTimeout()
+ }
+ delay(100)
+
+ callStateListener?.onCallStateChanged(TelephonyManager.CALL_STATE_RINGING)
+
+ assertThat(listDeferred.await())
+ .containsExactly(TelephonyManager.CALL_STATE_IDLE, TelephonyManager.CALL_STATE_RINGING)
+ .inOrder()
+ }
+
+ private companion object {
+ const val SUB_ID = 1
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.kt
new file mode 100644
index 0000000..7285ff8
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.kt
@@ -0,0 +1,122 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.network.telephony
+
+import android.content.Context
+import android.telephony.SubscriptionInfo
+import androidx.preference.Preference
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.network.SubscriptionUtil
+import com.android.settings.security.ConfirmSimDeletionPreferenceController
+import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBoolean
+import com.google.common.truth.Truth.assertThat
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doNothing
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class DeleteSimProfilePreferenceControllerTest {
+ private val subscriptionInfo = mock<SubscriptionInfo> {
+ on { subscriptionId } doReturn SUB_ID
+ on { isEmbedded } doReturn true
+ }
+
+ private var context: Context = spy(ApplicationProvider.getApplicationContext()) {
+ doNothing().whenever(mock).startActivity(any())
+ }
+
+ private val preference = Preference(context).apply { key = PREF_KEY }
+ private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+ .apply { addPreference(preference) }
+ private var controller = DeleteSimProfilePreferenceController(context, PREF_KEY)
+
+ @Before
+ fun setUp() {
+ SubscriptionUtil.setAvailableSubscriptionsForTesting(listOf(subscriptionInfo))
+ }
+
+ @After
+ fun tearDown() {
+ SubscriptionUtil.setAvailableSubscriptionsForTesting(null)
+ }
+
+ @Test
+ fun getAvailabilityStatus_noSubs_notAvailable() {
+ SubscriptionUtil.setAvailableSubscriptionsForTesting(emptyList())
+
+ controller.init(SUB_ID)
+
+ assertThat(controller.isAvailable()).isFalse()
+ }
+
+ @Test
+ fun getAvailabilityStatus_physicalSim_notAvailable() {
+ whenever(subscriptionInfo.isEmbedded).thenReturn(false)
+
+ controller.init(SUB_ID)
+
+ assertThat(controller.isAvailable()).isFalse()
+ }
+
+ @Test
+ fun getAvailabilityStatus_unknownSim_notAvailable() {
+ whenever(subscriptionInfo.subscriptionId).thenReturn(OTHER_ID)
+
+ controller.init(SUB_ID)
+
+ assertThat(controller.isAvailable()).isFalse()
+ }
+
+ @Test
+ fun getAvailabilityStatus_knownEsim_isAvailable() {
+ controller.init(SUB_ID)
+
+ assertThat(controller.isAvailable()).isTrue()
+ }
+
+ @Test
+ fun onPreferenceClick_startsIntent() {
+ controller.init(SUB_ID)
+ controller.displayPreference(preferenceScreen)
+ // turn off confirmation before click
+ var confirmDeletion by context.settingsGlobalBoolean(
+ name = ConfirmSimDeletionPreferenceController.KEY_CONFIRM_SIM_DELETION,
+ )
+ confirmDeletion = false
+
+ controller.handlePreferenceTreeClick(preference)
+
+ verify(context, times(1)).startActivity(any())
+ }
+
+ private companion object {
+ const val PREF_KEY = "delete_profile_key"
+ const val SUB_ID = 1234
+ const val OTHER_ID = 5678
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/SpaActivityTest.kt b/tests/spa_unit/src/com/android/settings/spa/SpaActivityTest.kt
index 1b2a7b1..ec81c80 100644
--- a/tests/spa_unit/src/com/android/settings/spa/SpaActivityTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/SpaActivityTest.kt
@@ -18,13 +18,10 @@
import android.content.Context
import android.content.Intent
-import android.net.Uri
-import android.os.UserHandle
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.dx.mockito.inline.extended.ExtendedMockito
import com.android.settings.spa.SpaActivity.Companion.isSuwAndPageBlocked
import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
-import com.android.settings.spa.SpaActivity.Companion.startSpaActivityForApp
import com.android.settings.spa.app.AllAppListPageProvider
import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
import com.android.settingslib.spa.framework.util.KEY_DESTINATION
@@ -34,19 +31,18 @@
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
-import org.mockito.ArgumentCaptor
-import org.mockito.Mock
-import org.mockito.Mockito.verify
import org.mockito.MockitoSession
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
import org.mockito.quality.Strictness
-import org.mockito.Mockito.`when` as whenever
@RunWith(AndroidJUnit4::class)
class SpaActivityTest {
private lateinit var mockSession: MockitoSession
- @Mock
- private lateinit var context: Context
+ private val context = mock<Context>()
@Before
fun setUp() {
@@ -71,7 +67,7 @@
}
@Test
- fun isSuwAndPageBlocked_blocklistedPageInSuw_blocked() {
+ fun isSuwAndPageBlocked_suwBlockedPageInSuw_blocked() {
whenever(WizardManagerHelper.isDeviceProvisioned(context)).thenReturn(false)
val isBlocked = context.isSuwAndPageBlocked(AppInfoSettingsProvider.name)
@@ -80,7 +76,7 @@
}
@Test
- fun isSuwAndPageBlocked_blocklistedPageNotInSuw_notBlocked() {
+ fun isSuwAndPageBlocked_SuwBlockedPageNotInSuw_notBlocked() {
whenever(WizardManagerHelper.isDeviceProvisioned(context)).thenReturn(true)
val isBlocked = context.isSuwAndPageBlocked(AppInfoSettingsProvider.name)
@@ -92,31 +88,14 @@
fun startSpaActivity() {
context.startSpaActivity(DESTINATION)
- val intentCaptor = ArgumentCaptor.forClass(Intent::class.java)
- verify(context).startActivity(intentCaptor.capture())
- val intent = intentCaptor.value
+ val intent = argumentCaptor<Intent> {
+ verify(context).startActivity(capture())
+ }.firstValue
assertThat(intent.component?.className).isEqualTo(SpaActivity::class.qualifiedName)
assertThat(intent.getStringExtra(KEY_DESTINATION)).isEqualTo(DESTINATION)
}
- @Test
- fun startSpaActivityForApp() {
- val intent = Intent().apply {
- data = Uri.parse("package:$PACKAGE_NAME")
- }
-
- context.startSpaActivityForApp(DESTINATION, intent)
-
- val intentCaptor = ArgumentCaptor.forClass(Intent::class.java)
- verify(context).startActivity(intentCaptor.capture())
- val capturedIntent = intentCaptor.value
- assertThat(capturedIntent.component?.className).isEqualTo(SpaActivity::class.qualifiedName)
- assertThat(capturedIntent.getStringExtra(KEY_DESTINATION))
- .isEqualTo("Destination/package.name/${UserHandle.myUserId()}")
- }
-
private companion object {
const val DESTINATION = "Destination"
- const val PACKAGE_NAME = "package.name"
}
}
diff --git a/tests/spa_unit/src/com/android/settings/spa/SpaAppBridgeActivityTest.kt b/tests/spa_unit/src/com/android/settings/spa/SpaAppBridgeActivityTest.kt
new file mode 100644
index 0000000..be2b5e0
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/SpaAppBridgeActivityTest.kt
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.spa
+
+import android.content.Intent
+import android.net.Uri
+import android.os.UserHandle
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.spa.SpaAppBridgeActivity.Companion.getDestinationForApp
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class SpaAppBridgeActivityTest {
+ @Test
+ fun getDestinationForApp_hasPackageName() {
+ val intent = Intent().apply {
+ data = Uri.parse("package:${PACKAGE_NAME}")
+ }
+
+ val destination = getDestinationForApp(DESTINATION, intent)
+
+ assertThat(destination).isEqualTo("$DESTINATION/$PACKAGE_NAME/${UserHandle.myUserId()}")
+ }
+
+ @Test
+ fun getDestinationForApp_noPackageName() {
+ val intent = Intent()
+
+ val destination = getDestinationForApp(DESTINATION, intent)
+
+ assertThat(destination).isNull()
+ }
+
+ private companion object {
+ const val DESTINATION = "Destination"
+ const val PACKAGE_NAME = "package.name"
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/SpaBridgeActivityTest.kt b/tests/spa_unit/src/com/android/settings/spa/SpaBridgeActivityTest.kt
new file mode 100644
index 0000000..48fa823
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/SpaBridgeActivityTest.kt
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.spa
+
+import android.app.Activity
+import android.content.ComponentName
+import android.content.pm.ActivityInfo
+import android.content.pm.PackageManager
+import android.content.pm.PackageManager.ComponentInfoFlags
+import androidx.core.os.bundleOf
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.spa.SpaBridgeActivity.Companion.META_DATA_KEY_DESTINATION
+import com.android.settings.spa.SpaBridgeActivity.Companion.getDestination
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+
+@RunWith(AndroidJUnit4::class)
+class SpaBridgeActivityTest {
+ private val mockPackageManager = mock<PackageManager> {
+ on { getActivityInfo(eq(COMPONENT_NAME), any<ComponentInfoFlags>()) } doReturn
+ ActivityInfo().apply {
+ metaData = bundleOf(META_DATA_KEY_DESTINATION to DESTINATION)
+ }
+ }
+
+ private val activity = mock<Activity> {
+ on { componentName } doReturn COMPONENT_NAME
+ on { packageManager } doReturn mockPackageManager
+ }
+
+ @Test
+ fun getDestination() {
+ val destination = activity.getDestination()
+
+ assertThat(destination).isEqualTo(DESTINATION)
+ }
+
+ private companion object {
+ const val PACKAGE_NAME = "package.name"
+ const val ACTIVITY_NAME = "ActivityName"
+ val COMPONENT_NAME = ComponentName(PACKAGE_NAME, ACTIVITY_NAME)
+ const val DESTINATION = "Destination"
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreferenceTest.kt
index 2524308..d1c318a 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreferenceTest.kt
@@ -26,6 +26,7 @@
import androidx.compose.ui.test.assertIsNotDisplayed
import androidx.compose.ui.test.assertIsNotEnabled
import androidx.compose.ui.test.hasText
+import androidx.compose.ui.test.isEnabled
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.onRoot
@@ -46,9 +47,10 @@
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.MockitoSession
-import org.mockito.Spy
import org.mockito.kotlin.any
+import org.mockito.kotlin.doNothing
import org.mockito.kotlin.eq
+import org.mockito.kotlin.spy
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever
import org.mockito.quality.Strictness
@@ -60,8 +62,9 @@
private lateinit var mockSession: MockitoSession
- @Spy
- private val context: Context = ApplicationProvider.getApplicationContext()
+ private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+ doNothing().whenever(mock).startActivityAsUser(any(), any())
+ }
@Before
fun setUp() {
@@ -78,8 +81,7 @@
.thenReturn(STORE_LINK)
whenever(Utils.getApplicationLabel(context, INSTALLER_PACKAGE_NAME))
.thenReturn(INSTALLER_PACKAGE_LABEL)
- whenever(AppUtils.isMainlineModule(any(), eq(PACKAGE_NAME)))
- .thenReturn(false)
+ whenever(AppUtils.isMainlineModule(any(), eq(PACKAGE_NAME))).thenReturn(false)
}
@After
@@ -134,11 +136,8 @@
}
setContent(instantApp)
- waitUntilDisplayed()
- composeTestRule.onNodeWithText("More info on installer label")
- .assertIsDisplayed()
- .assertIsEnabled()
+ composeTestRule.waitUntilExists(hasText("More info on installer label").and(isEnabled()))
}
@Test
diff --git a/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceControllerTest.kt
index 36817d1..cdfa514 100644
--- a/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceControllerTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceControllerTest.kt
@@ -61,7 +61,7 @@
controller.displayPreference(preferenceScreen)
composeTestRule.setContent {
- preference.content()
+ preference.Content()
}
composeTestRule.onNodeWithText(TEXT).assertIsDisplayed()
}
diff --git a/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceTest.kt
index 28bde3a..a2fe752 100644
--- a/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceTest.kt
@@ -43,7 +43,7 @@
@Test
fun onBindViewHolder() {
- preference.content = {
+ preference.setContent {
Text(TEXT)
}
diff --git a/tests/spa_unit/src/com/android/settings/system/ClientInitiatedActionRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/system/ClientInitiatedActionRepositoryTest.kt
new file mode 100644
index 0000000..f202668
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/system/ClientInitiatedActionRepositoryTest.kt
@@ -0,0 +1,78 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.system
+
+import android.content.Context
+import android.content.Intent
+import android.telephony.CarrierConfigManager
+import androidx.core.os.persistableBundleOf
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.anyVararg
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class ClientInitiatedActionRepositoryTest {
+ private val mockCarrierConfigManager = mock<CarrierConfigManager>()
+
+ private val context = mock<Context> {
+ on { applicationContext } doReturn mock
+ on { getSystemService(CarrierConfigManager::class.java) } doReturn mockCarrierConfigManager
+ }
+
+ private val repository = ClientInitiatedActionRepository(context)
+
+ @Test
+ fun onSystemUpdate_notEnabled() {
+ mockCarrierConfigManager.stub {
+ on { getConfig(anyVararg()) } doReturn persistableBundleOf()
+ }
+
+ repository.onSystemUpdate()
+
+ verify(context, never()).sendBroadcast(any())
+ }
+
+ @Test
+ fun onSystemUpdate_enabled() {
+ mockCarrierConfigManager.stub {
+ on { getConfig(anyVararg()) } doReturn persistableBundleOf(
+ CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL to true,
+ CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING to ACTION,
+ )
+ }
+
+ repository.onSystemUpdate()
+
+ val intent = argumentCaptor<Intent> {
+ verify(context).sendBroadcast(capture())
+ }.firstValue
+ assertThat(intent.action).isEqualTo(ACTION)
+ }
+
+ private companion object {
+ const val ACTION = "ACTION"
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/system/SystemUpdateRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/system/SystemUpdateRepositoryTest.kt
new file mode 100644
index 0000000..ea4617a
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/system/SystemUpdateRepositoryTest.kt
@@ -0,0 +1,80 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.system
+
+import android.content.Context
+import android.content.pm.ActivityInfo
+import android.content.pm.PackageManager
+import android.content.pm.ResolveInfo
+import android.provider.Settings
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.ArgumentMatchers.eq
+import org.mockito.kotlin.argThat
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class SystemUpdateRepositoryTest {
+ private val mockPackageManager = mock<PackageManager>()
+
+ private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+ on { packageManager } doReturn mockPackageManager
+ }
+
+ private val repository = SystemUpdateRepository(context)
+
+ @Test
+ fun getSystemUpdateIntent_noResolveActivity_returnNull() {
+ val intent = repository.getSystemUpdateIntent()
+
+ assertThat(intent).isNull()
+ }
+
+ @Test
+ fun getSystemUpdateIntent_hasResolveActivity_returnIntent() {
+ mockPackageManager.stub {
+ on {
+ resolveActivity(
+ argThat { action == Settings.ACTION_SYSTEM_UPDATE_SETTINGS },
+ eq(PackageManager.MATCH_SYSTEM_ONLY),
+ )
+ } doReturn RESOLVE_INFO
+ }
+
+ val intent = repository.getSystemUpdateIntent()
+
+ assertThat(intent?.component?.packageName).isEqualTo(PACKAGE_NAME)
+ assertThat(intent?.component?.className).isEqualTo(ACTIVITY_NAME)
+ }
+
+ private companion object {
+ const val PACKAGE_NAME = "package.name"
+ const val ACTIVITY_NAME = "ActivityName"
+ val RESOLVE_INFO = ResolveInfo().apply {
+ activityInfo = ActivityInfo().apply {
+ packageName = PACKAGE_NAME
+ name = ACTIVITY_NAME
+ }
+ }
+ }
+}
diff --git a/tests/unit/Android.bp b/tests/unit/Android.bp
index 0f045a8..327b6aa 100644
--- a/tests/unit/Android.bp
+++ b/tests/unit/Android.bp
@@ -21,6 +21,7 @@
"aconfig_settings_flags_lib",
"androidx.arch.core_core-testing",
"androidx.test.core",
+ "androidx.test.espresso.core",
"androidx.test.rules",
"androidx.test.ext.junit",
"androidx.preference_preference",
diff --git a/tests/unit/src/com/android/settings/MainClearTest.kt b/tests/unit/src/com/android/settings/MainClearTest.kt
new file mode 100644
index 0000000..05f06df
--- /dev/null
+++ b/tests/unit/src/com/android/settings/MainClearTest.kt
@@ -0,0 +1,68 @@
+/*
+ * 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.
+ */
+
+package com.android.settings
+
+import android.platform.test.flag.junit.SetFlagsRule
+import androidx.test.core.app.ActivityScenario
+import androidx.test.espresso.Espresso.onView
+import androidx.test.espresso.action.ViewActions.click
+import androidx.test.espresso.assertion.ViewAssertions.doesNotExist
+import androidx.test.espresso.assertion.ViewAssertions.matches
+import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
+import androidx.test.espresso.matcher.ViewMatchers.withText
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.Settings.FactoryResetActivity
+import com.android.settings.flags.Flags
+import com.google.common.truth.Truth.assertThat
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+/** Test [MainClear]. */
+@RunWith(AndroidJUnit4::class)
+class MainClearTest {
+ @get:Rule
+ val mSetFlagsRule = SetFlagsRule()
+
+ @Test
+ fun factoryResetCancelButton_flagDisabled_noCancelButton() {
+ mSetFlagsRule.disableFlags(Flags.FLAG_SHOW_FACTORY_RESET_CANCEL_BUTTON)
+ ActivityScenario.launch(FactoryResetActivity::class.java).use {
+ ensurePrimaryButton()
+ onView(withText(android.R.string.cancel)).check(doesNotExist())
+ it.onActivity { activity -> assertThat(activity.isFinishing).isFalse() }
+ }
+ }
+
+ @Test
+ fun factoryResetCancelButton_flagEnabled_showCancelButton() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_SHOW_FACTORY_RESET_CANCEL_BUTTON)
+ ActivityScenario.launch(FactoryResetActivity::class.java).use {
+ ensurePrimaryButton()
+ it.onActivity { activity -> assertThat(activity.isFinishing).isFalse() }
+
+ // Note: onView CANNOT be called within onActivity block, which runs in the main thread
+ onView(withText(android.R.string.cancel)).check(matches(isDisplayed())).perform(click())
+
+ it.onActivity { activity -> assertThat(activity.isFinishing).isTrue() }
+ }
+ }
+
+ private fun ensurePrimaryButton() {
+ onView(withText(R.string.main_clear_button_text)).check(matches(isDisplayed()))
+ }
+}
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerJUnitTest.java b/tests/unit/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerJUnitTest.java
index a402d91..8304e5d 100644
--- a/tests/unit/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerJUnitTest.java
+++ b/tests/unit/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerJUnitTest.java
@@ -20,7 +20,6 @@
import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.Injector;
import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.PROPERTY_DEBUG_ANGLE_DEVELOPER_OPTION;
import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.PROPERTY_PERSISTENT_GRAPHICS_EGL;
-import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.PROPERTY_RO_GFX_ANGLE_SUPPORTED;
import static com.google.common.truth.Truth.assertThat;
@@ -181,31 +180,13 @@
}
@Test
- public void updateState_angleNotSupported_PreferenceShouldDisabled() {
- when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any())).thenReturn("");
- mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isFalse();
- }
-
- @Test
- public void updateState_angleNotSupported_PreferenceShouldNotBeChecked() {
- when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any())).thenReturn("");
- mController.updateState(mPreference);
- assertThat(mPreference.isChecked()).isFalse();
- }
-
- @Test
- public void updateState_angleSupported_PreferenceShouldEnabled() {
- when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any()))
- .thenReturn("true");
+ public void updateState_PreferenceShouldEnabled() {
mController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isTrue();
}
@Test
- public void updateState_angleSupported_angleIsSystemGLESDriver_PreferenceShouldBeChecked() {
- when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any()))
- .thenReturn("true");
+ public void updateState_angleIsSystemGLESDriver_PreferenceShouldBeChecked() {
when(mSystemPropertiesMock.get(eq(PROPERTY_PERSISTENT_GRAPHICS_EGL), any()))
.thenReturn(ANGLE_DRIVER_SUFFIX);
mController.updateState(mPreference);
@@ -213,10 +194,7 @@
}
@Test
- public void
- updateState_angleSupported_angleIsNotSystemGLESDriver_PreferenceShouldNotBeChecked() {
- when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any()))
- .thenReturn("true");
+ public void updateState_angleIsNotSystemGLESDriver_PreferenceShouldNotBeChecked() {
when(mSystemPropertiesMock.get(eq(PROPERTY_PERSISTENT_GRAPHICS_EGL), any())).thenReturn("");
mController.updateState(mPreference);
assertThat(mPreference.isChecked()).isFalse();
@@ -232,8 +210,6 @@
// Test that onDeveloperOptionSwitchDisabled,
// persist.graphics.egl updates to ""
- when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any()))
- .thenReturn("true");
mController.onDeveloperOptionsSwitchDisabled();
propertyChangeSignal1.wait(100);
final String systemEGLDriver = SystemProperties.get(PROPERTY_PERSISTENT_GRAPHICS_EGL);
@@ -245,16 +221,12 @@
@Test
public void onDeveloperOptionSwitchDisabled_PreferenceShouldNotBeChecked() {
- when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any()))
- .thenReturn("true");
mController.onDeveloperOptionsSwitchDisabled();
assertThat(mPreference.isChecked()).isFalse();
}
@Test
public void onDeveloperOptionSwitchDisabled_PreferenceShouldDisabled() {
- when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any()))
- .thenReturn("true");
mController.onDeveloperOptionsSwitchDisabled();
assertThat(mPreference.isEnabled()).isFalse();
}
@@ -480,8 +452,6 @@
// Test that when debug.graphics.angle.developeroption.enable is false:
when(mSystemPropertiesMock.getBoolean(eq(PROPERTY_DEBUG_ANGLE_DEVELOPER_OPTION),
anyBoolean())).thenReturn(false);
- when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any()))
- .thenReturn("true");
// 1. "Enable ANGLE" switch is on, the switch should be enabled.
when(mSystemPropertiesMock.get(eq(PROPERTY_PERSISTENT_GRAPHICS_EGL), any()))
diff --git a/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
index 4e9339f..5af2da0 100644
--- a/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
@@ -22,9 +22,7 @@
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -38,7 +36,6 @@
import android.net.wifi.WifiManager;
import android.os.Handler;
import android.os.Looper;
-import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -53,13 +50,19 @@
import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.settings.testutils.ResourcesUtils;
+import com.android.settings.wifi.WifiPickerTrackerHelper;
+import com.android.settings.wifi.WifiSummaryUpdater;
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
+import com.android.wifitrackerlib.HotspotNetworkEntry;
+import com.android.wifitrackerlib.StandardWifiEntry;
+import com.android.wifitrackerlib.WifiPickerTracker;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
+import org.mockito.Spy;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoRule;
@@ -70,6 +73,7 @@
public class InternetPreferenceControllerTest {
private static final String TEST_SUMMARY = "test summary";
+ private static final String TEST_ALTERNATE_SUMMARY = "test alternate summary";
private static final String NOT_CONNECTED = "Not connected";
private static final String SUB_ID_1 = "1";
private static final String SUB_ID_2 = "2";
@@ -85,6 +89,8 @@
@Rule
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+ @Spy
+ private Context mContext = ApplicationProvider.getApplicationContext();
@Mock
private SubscriptionInfoEntity mActiveSubInfo;
@Mock
@@ -93,10 +99,19 @@
private ConnectivityManager mConnectivityManager;
@Mock
private LifecycleOwner mLifecycleOwner;
+ @Mock
+ private WifiManager mWifiManager;
+ @Mock
+ private WifiSummaryUpdater mSummaryHelper;
+ @Mock
+ private WifiPickerTrackerHelper mWifiPickerTrackerHelper;
+ @Mock
+ private WifiPickerTracker mWifiPickerTracker;
+ @Mock
+ private HotspotNetworkEntry mHotspotNetworkEntry;
private LifecycleRegistry mLifecycleRegistry;
- private Context mContext;
private MockInternetPreferenceController mController;
private PreferenceScreen mScreen;
private Preference mPreference;
@@ -104,13 +119,15 @@
@Before
public void setUp() {
- mContext = spy(ApplicationProvider.getApplicationContext());
when(mContext.getSystemService(ConnectivityManager.class)).thenReturn(mConnectivityManager);
when(mContext.getSystemService(NetworkScoreManager.class))
.thenReturn(mock(NetworkScoreManager.class));
- final WifiManager wifiManager = mock(WifiManager.class);
- when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(wifiManager);
- when(wifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_DISABLED);
+ when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
+ when(mWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_DISABLED);
+ when(mWifiPickerTrackerHelper.getWifiPickerTracker()).thenReturn(mWifiPickerTracker);
+ when(mWifiPickerTracker.getConnectedWifiEntry()).thenReturn(null /* WifiEntry */);
+ when(mHotspotNetworkEntry.getAlternateSummary()).thenReturn(TEST_ALTERNATE_SUMMARY);
+
if (Looper.myLooper() == null) {
Looper.prepare();
}
@@ -119,6 +136,7 @@
mController = new MockInternetPreferenceController(mContext, mock(Lifecycle.class),
mLifecycleOwner);
mController.sIconMap.put(INTERNET_WIFI, 0);
+ mController.mWifiPickerTrackerHelper = mWifiPickerTrackerHelper;
final PreferenceManager preferenceManager = new PreferenceManager(mContext);
mScreen = preferenceManager.createPreferenceScreen(mContext);
@@ -200,6 +218,8 @@
@Test
public void onSummaryChanged_internetWifi_updateSummary() {
+ when(mSummaryHelper.getSummary()).thenReturn(TEST_SUMMARY);
+ mController.mSummaryHelper = mSummaryHelper;
mController.onInternetTypeChanged(INTERNET_WIFI);
mController.displayPreference(mScreen);
@@ -210,6 +230,8 @@
@Test
public void onSummaryChanged_internetNetworksAvailable_notUpdateSummary() {
+ when(mSummaryHelper.getSummary()).thenReturn(TEST_SUMMARY);
+ mController.mSummaryHelper = mSummaryHelper;
mController.onInternetTypeChanged(INTERNET_NETWORKS_AVAILABLE);
mController.displayPreference(mScreen);
mPreference.setSummary(NOT_CONNECTED);
@@ -252,4 +274,28 @@
mController.updateCellularSummary();
assertThat(mPreference.getSummary()).isEqualTo(expectedSummary);
}
+
+ @Test
+ public void updateHotspotNetwork_isHotspotNetworkEntry_updateAlternateSummary() {
+ when(mWifiPickerTracker.getConnectedWifiEntry()).thenReturn(mHotspotNetworkEntry);
+ mController.onInternetTypeChanged(INTERNET_WIFI);
+ mController.displayPreference(mScreen);
+ mPreference.setSummary(TEST_SUMMARY);
+
+ mController.updateHotspotNetwork();
+
+ assertThat(mPreference.getSummary().toString()).isEqualTo(TEST_ALTERNATE_SUMMARY);
+ }
+
+ @Test
+ public void updateHotspotNetwork_notHotspotNetworkEntry_notChangeSummary() {
+ when(mWifiPickerTracker.getConnectedWifiEntry()).thenReturn(mock(StandardWifiEntry.class));
+ mController.onInternetTypeChanged(INTERNET_WIFI);
+ mController.displayPreference(mScreen);
+ mPreference.setSummary(TEST_SUMMARY);
+
+ mController.updateHotspotNetwork();
+
+ assertThat(mPreference.getSummary().toString()).isEqualTo(TEST_SUMMARY);
+ }
}
diff --git a/tests/unit/src/com/android/settings/network/NetworkProviderCallsSmsControllerTest.java b/tests/unit/src/com/android/settings/network/NetworkProviderCallsSmsControllerTest.java
deleted file mode 100644
index 51aecc5..0000000
--- a/tests/unit/src/com/android/settings/network/NetworkProviderCallsSmsControllerTest.java
+++ /dev/null
@@ -1,360 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network;
-
-import static androidx.lifecycle.Lifecycle.Event;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.os.Looper;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.LifecycleRegistry;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
-import androidx.test.annotation.UiThreadTest;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.testutils.ResourcesUtils;
-import com.android.settingslib.RestrictedPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-@RunWith(AndroidJUnit4.class)
-public class NetworkProviderCallsSmsControllerTest {
-
- private static final String SUB_ID_1 = "1";
- private static final String SUB_ID_2 = "2";
- private static final String INVALID_SUB_ID = "-1";
- private static final String KEY_PREFERENCE_CALLS_SMS = "calls_and_sms";
- private static final String DISPLAY_NAME_1 = "Sub 1";
- private static final String DISPLAY_NAME_2 = "Sub 2";
- private static final String SUB_MCC_1 = "123";
- private static final String SUB_MNC_1 = "456";
- private static final String SUB_MCC_2 = "223";
- private static final String SUB_MNC_2 = "456";
- private static final String SUB_COUNTRY_ISO_1 = "Sub 1";
- private static final String SUB_COUNTRY_ISO_2 = "Sub 2";
-
- @Mock
- private SubscriptionInfoEntity mSubInfo1;
- @Mock
- private SubscriptionInfoEntity mSubInfo2;
- @Mock
- private Lifecycle mLifecycle;
- @Mock
- private LifecycleOwner mLifecycleOwner;
-
- private LifecycleRegistry mLifecycleRegistry;
- private MockNetworkProviderCallsSmsController mController;
- private PreferenceManager mPreferenceManager;
- private PreferenceScreen mPreferenceScreen;
- private RestrictedPreference mPreference;
- private Context mContext;
- private List<SubscriptionInfoEntity> mSubscriptionInfoEntityList = new ArrayList<>();
-
- /**
- * Mock the NetworkProviderCallsSmsController that allows one to set a default voice
- * and SMS subscription ID.
- */
- private class MockNetworkProviderCallsSmsController extends
- com.android.settings.network.NetworkProviderCallsSmsController {
- public MockNetworkProviderCallsSmsController(Context context, Lifecycle lifecycle,
- LifecycleOwner lifecycleOwner) {
- super(context, lifecycle, lifecycleOwner);
- }
-
- private List<SubscriptionInfoEntity> mSubscriptionInfoEntity;
- private boolean mIsInService;
- private int mDefaultVoiceSubscriptionId;
- private int mDefaultSmsSubscriptionId;
-
- @Override
- protected List<SubscriptionInfoEntity> getSubscriptionInfoList() {
- return mSubscriptionInfoEntity;
- }
-
- public void setSubscriptionInfoList(List<SubscriptionInfoEntity> list) {
- mSubscriptionInfoEntity = list;
- }
-
- @Override
- protected boolean isInService(int subId) {
- return mIsInService;
- }
-
- public void setInService(boolean inService) {
- mIsInService = inService;
- }
-
- @Override
- protected int getDefaultVoiceSubscriptionId() {
- return mDefaultVoiceSubscriptionId;
- }
-
- @Override
- protected int getDefaultSmsSubscriptionId() {
- return mDefaultSmsSubscriptionId;
- }
-
- public void setDefaultVoiceSubscriptionId(int subscriptionId) {
- mDefaultVoiceSubscriptionId = subscriptionId;
- }
-
- public void setDefaultSmsSubscriptionId(int subscriptionId) {
- mDefaultSmsSubscriptionId = subscriptionId;
- }
- }
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- mContext = spy(ApplicationProvider.getApplicationContext());
-
- if (Looper.myLooper() == null) {
- Looper.prepare();
- }
-
- mPreferenceManager = new PreferenceManager(mContext);
- mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
- mPreference = new RestrictedPreference(mContext);
- mPreference.setKey(KEY_PREFERENCE_CALLS_SMS);
- mController = new MockNetworkProviderCallsSmsController(mContext, mLifecycle,
- mLifecycleOwner);
- mController.setInService(true);
- mLifecycleRegistry = new LifecycleRegistry(mLifecycleOwner);
- when(mLifecycleOwner.getLifecycle()).thenReturn(mLifecycleRegistry);
- }
-
- private void displayPreferenceWithLifecycle() {
- mLifecycleRegistry.addObserver(mController);
- mPreferenceScreen.addPreference(mPreference);
- mController.displayPreference(mPreferenceScreen);
- mLifecycleRegistry.handleLifecycleEvent(Event.ON_RESUME);
- }
-
- private String setSummaryResId(String resName) {
- return ResourcesUtils.getResourcesString(mContext, resName);
- }
-
- @Test
- @UiThreadTest
- public void getSummary_noSim_returnNoSim() {
- mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
- displayPreferenceWithLifecycle();
-
- assertTrue(TextUtils.equals(mController.getSummary(),
- setSummaryResId("calls_sms_no_sim")));
- }
-
- private SubscriptionInfoEntity setupSubscriptionInfoEntity(String subId, int slotId,
- int carrierId, String displayName, String mcc, String mnc, String countryIso,
- int cardId, boolean isValid, boolean isActive, boolean isAvailable) {
- return new SubscriptionInfoEntity(subId, slotId, carrierId,
- displayName, displayName, 0, mcc, mnc, countryIso, false, cardId,
- TelephonyManager.DEFAULT_PORT_INDEX, false, null,
- SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, displayName, false,
- "1234567890", true, false, isValid,
- true, isActive, isAvailable, false);
- }
-
- @Test
- @UiThreadTest
- public void getSummary_invalidSubId_returnUnavailable() {
-
- mSubInfo1 = setupSubscriptionInfoEntity(INVALID_SUB_ID,
- SubscriptionManager.INVALID_SIM_SLOT_INDEX, TelephonyManager.UNKNOWN_CARRIER_ID,
- DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, SUB_COUNTRY_ISO_1,
- TelephonyManager.UNINITIALIZED_CARD_ID, false, true, true);
- mSubscriptionInfoEntityList.add(mSubInfo1);
- mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
- displayPreferenceWithLifecycle();
-
- final StringBuilder summary = new StringBuilder();
- summary.append(DISPLAY_NAME_1)
- .append(" (")
- .append(setSummaryResId("calls_sms_temp_unavailable"))
- .append(")");
-
- assertTrue(TextUtils.equals(mController.getSummary(), summary));
- }
-
- @Test
- @UiThreadTest
- public void getSummary_oneIsInvalidSubIdTwoIsValidSubId_returnOneIsUnavailable() {
-
- mSubInfo1 = setupSubscriptionInfoEntity(INVALID_SUB_ID,
- SubscriptionManager.INVALID_SIM_SLOT_INDEX, TelephonyManager.UNKNOWN_CARRIER_ID,
- DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, SUB_COUNTRY_ISO_1,
- TelephonyManager.UNINITIALIZED_CARD_ID, false, true, true);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
- SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
- mSubscriptionInfoEntityList.add(mSubInfo1);
- mSubscriptionInfoEntityList.add(mSubInfo2);
- mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
- displayPreferenceWithLifecycle();
-
- final StringBuilder summary = new StringBuilder();
- summary.append(DISPLAY_NAME_1)
- .append(" (")
- .append(setSummaryResId("calls_sms_unavailable"))
- .append(")")
- .append(", ")
- .append(DISPLAY_NAME_2);
-
- assertTrue(TextUtils.equals(mController.getSummary(), summary));
- }
-
- @Test
- @UiThreadTest
- public void getSummary_oneSubscription_returnDisplayName() {
-
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
- SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
- mSubscriptionInfoEntityList.add(mSubInfo1);
- mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
- displayPreferenceWithLifecycle();
-
- assertThat(mPreference.getSummary()).isEqualTo(DISPLAY_NAME_1);
- }
-
- @Test
- @UiThreadTest
- public void getSummary_allSubscriptionsHaveNoPreferredStatus_returnDisplayName() {
-
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
- SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
- SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
- mSubscriptionInfoEntityList.add(mSubInfo1);
- mSubscriptionInfoEntityList.add(mSubInfo2);
- mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
- displayPreferenceWithLifecycle();
-
- final StringBuilder summary = new StringBuilder();
- summary.append(DISPLAY_NAME_1).append(", ").append(DISPLAY_NAME_2);
-
- assertTrue(TextUtils.equals(mController.getSummary(), summary));
- }
-
- @Test
- @UiThreadTest
- public void getSummary_oneSubscriptionsIsCallPreferredTwoIsSmsPreferred_returnStatus() {
-
- mController.setDefaultVoiceSubscriptionId(Integer.parseInt(SUB_ID_1));
- mController.setDefaultSmsSubscriptionId(Integer.parseInt(SUB_ID_2));
-
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
- SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
- SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
- mSubscriptionInfoEntityList.add(mSubInfo1);
- mSubscriptionInfoEntityList.add(mSubInfo2);
- mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
- displayPreferenceWithLifecycle();
-
- final StringBuilder summary = new StringBuilder();
- summary.append(DISPLAY_NAME_1)
- .append(" (")
- .append(setSummaryResId("calls_sms_calls_preferred"))
- .append(")")
- .append(", ")
- .append(DISPLAY_NAME_2)
- .append(" (")
- .append(setSummaryResId("calls_sms_sms_preferred"))
- .append(")");
-
- assertTrue(TextUtils.equals(mController.getSummary(), summary));
- }
-
- @Test
- @UiThreadTest
- public void getSummary_oneSubscriptionsIsSmsPreferredTwoIsCallPreferred_returnStatus() {
-
- mController.setDefaultSmsSubscriptionId(Integer.parseInt(SUB_ID_1));
- mController.setDefaultVoiceSubscriptionId(Integer.parseInt(SUB_ID_2));
-
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
- SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 2, 2, DISPLAY_NAME_2, SUB_MCC_2,
- SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
- mSubscriptionInfoEntityList.add(mSubInfo1);
- mSubscriptionInfoEntityList.add(mSubInfo2);
- mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
- displayPreferenceWithLifecycle();
-
- final StringBuilder summary = new StringBuilder();
- summary.append(DISPLAY_NAME_1)
- .append(" (")
- .append(setSummaryResId("calls_sms_sms_preferred"))
- .append(")")
- .append(", ")
- .append(DISPLAY_NAME_2)
- .append(" (")
- .append(setSummaryResId("calls_sms_calls_preferred"))
- .append(")");
-
- assertTrue(TextUtils.equals(mController.getSummary(), summary));
- }
-
- @Test
- @UiThreadTest
- public void getSummary_oneSubscriptionsIsSmsPreferredAndIsCallPreferred_returnStatus() {
-
- mController.setDefaultSmsSubscriptionId(Integer.parseInt(SUB_ID_1));
- mController.setDefaultVoiceSubscriptionId(Integer.parseInt(SUB_ID_1));
-
- mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
- SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
- mSubInfo2 = setupSubscriptionInfoEntity(SUB_ID_2, 1, 1, DISPLAY_NAME_2, SUB_MCC_2,
- SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
- mSubscriptionInfoEntityList.add(mSubInfo1);
- mSubscriptionInfoEntityList.add(mSubInfo2);
- mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
- displayPreferenceWithLifecycle();
-
- final StringBuilder summary = new StringBuilder();
- summary.append(DISPLAY_NAME_1)
- .append(" (")
- .append(setSummaryResId("calls_sms_preferred"))
- .append(")")
- .append(", ")
- .append(DISPLAY_NAME_2);
-
- assertTrue(TextUtils.equals(mController.getSummary(), summary));
- }
-}
diff --git a/tests/unit/src/com/android/settings/network/ProviderModelSliceHelperTest.java b/tests/unit/src/com/android/settings/network/ProviderModelSliceHelperTest.java
index 436d37f..2d63c71 100644
--- a/tests/unit/src/com/android/settings/network/ProviderModelSliceHelperTest.java
+++ b/tests/unit/src/com/android/settings/network/ProviderModelSliceHelperTest.java
@@ -42,7 +42,6 @@
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
-import android.text.Html;
import androidx.slice.Slice;
import androidx.slice.builders.ListBuilder;
@@ -56,7 +55,6 @@
import com.android.wifitrackerlib.WifiEntry;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -166,11 +164,9 @@
assertThat(testItem).isNull();
}
- @Ignore
@Test
public void createCarrierRow_hasDdsAndActiveNetworkIsNotCellular_verifyTitleAndSummary() {
String expectDisplayName = "Name1";
- CharSequence expectedSubtitle = Html.fromHtml("5G", Html.FROM_HTML_MODE_LEGACY);
String networkType = "5G";
mockConnections(true, ServiceState.STATE_IN_SERVICE, expectDisplayName,
true, true);
@@ -180,19 +176,17 @@
networkType);
assertThat(testRowBuild.getTitle()).isEqualTo(expectDisplayName);
- assertThat(testRowBuild.getSubtitle()).isEqualTo(expectedSubtitle);
+ assertThat(testRowBuild.getSubtitle()).isEqualTo("5G");
}
- @Ignore
@Test
public void createCarrierRow_wifiOnhasDdsAndActiveNetworkIsCellular_verifyTitleAndSummary() {
String expectDisplayName = "Name1";
String networkType = "5G";
String connectedText = ResourcesUtils.getResourcesString(mContext,
"mobile_data_connection_active");
- CharSequence expectedSubtitle = Html.fromHtml(ResourcesUtils.getResourcesString(mContext,
- "preference_summary_default_combination", connectedText, networkType),
- Html.FROM_HTML_MODE_LEGACY);
+ CharSequence expectedSubtitle = ResourcesUtils.getResourcesString(mContext,
+ "preference_summary_default_combination", connectedText, networkType);
mockConnections(true, ServiceState.STATE_IN_SERVICE, expectDisplayName,
true, true);
addNetworkTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
@@ -204,13 +198,11 @@
assertThat(testRowBuild.getSubtitle()).isEqualTo(expectedSubtitle);
}
- @Ignore
@Test
public void createCarrierRow_noNetworkAvailable_verifyTitleAndSummary() {
String expectDisplayName = "Name1";
- CharSequence expectedSubtitle = Html.fromHtml(
- ResourcesUtils.getResourcesString(mContext, "mobile_data_no_connection"),
- Html.FROM_HTML_MODE_LEGACY);
+ CharSequence expectedSubtitle =
+ ResourcesUtils.getResourcesString(mContext, "mobile_data_no_connection");
String networkType = "";
mockConnections(true, ServiceState.STATE_OUT_OF_SERVICE, expectDisplayName,
diff --git a/tests/unit/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java
index c4abdd1..bca12c1 100644
--- a/tests/unit/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java
@@ -53,7 +53,6 @@
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyDisplayInfo;
import android.telephony.TelephonyManager;
-import android.text.Html;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.LifecycleRegistry;
@@ -266,8 +265,6 @@
@Test
@UiThreadTest
public void displayPreference_providerAndHasMultiSimAndActive_connectedAndRat() {
- final CharSequence expectedSummary =
- Html.fromHtml("Connected / 5G", Html.FROM_HTML_MODE_LEGACY);
final String networkType = "5G";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
@@ -281,14 +278,12 @@
mController.onResume();
mController.displayPreference(mPreferenceScreen);
- assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
+ assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo("Connected / 5G");
}
@Test
@UiThreadTest
public void displayPreference_providerAndHasMultiSimAndActiveCarrierWifi_connectedAndWPlus() {
- final CharSequence expectedSummary =
- Html.fromHtml("Connected / W+", Html.FROM_HTML_MODE_LEGACY);
final String networkType = "W+";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
@@ -302,7 +297,7 @@
mController.onResume();
mController.displayPreference(mPreferenceScreen);
- assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
+ assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo("Connected / W+");
}
@Test
@@ -310,8 +305,6 @@
public void displayPreference_providerAndHasMultiSimButMobileDataOff_notAutoConnect() {
final String dataOffSummary =
ResourcesUtils.getResourcesString(mContext, "mobile_data_off_summary");
- final CharSequence expectedSummary =
- Html.fromHtml(dataOffSummary, Html.FROM_HTML_MODE_LEGACY);
final String networkType = "5G";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
@@ -324,14 +317,12 @@
mController.onResume();
mController.displayPreference(mPreferenceScreen);
- assertThat(mPreferenceCategory.getPreference(0).getSummary())
- .isEqualTo(expectedSummary.toString());
+ assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(dataOffSummary);
}
@Test
@UiThreadTest
public void displayPreference_providerAndHasMultiSimAndNotActive_showRatOnly() {
- final CharSequence expectedSummary = Html.fromHtml("5G", Html.FROM_HTML_MODE_LEGACY);
final String networkType = "5G";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
@@ -345,7 +336,7 @@
mController.onResume();
mController.displayPreference(mPreferenceScreen);
- assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
+ assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(networkType);
}
@Test
@@ -362,8 +353,6 @@
@Test
@UiThreadTest
public void onTelephonyDisplayInfoChanged_providerAndHasMultiSimAndActive_connectedAndRat() {
- final CharSequence expectedSummary =
- Html.fromHtml("Connected / LTE", Html.FROM_HTML_MODE_LEGACY);
final String networkType = "LTE";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
final TelephonyDisplayInfo telephonyDisplayInfo =
@@ -383,14 +372,12 @@
mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
telephonyDisplayInfo);
- assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
+ assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo("Connected / LTE");
}
@Test
@UiThreadTest
public void onTelephonyDisplayInfoChanged_providerAndHasMultiSimAndNotActive_showRat() {
- final CharSequence expectedSummary =
- Html.fromHtml("LTE", Html.FROM_HTML_MODE_LEGACY);
final String networkType = "LTE";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
final TelephonyDisplayInfo telephonyDisplayInfo =
@@ -409,7 +396,7 @@
mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
telephonyDisplayInfo);
- assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
+ assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(networkType);
}
@Test
@@ -417,8 +404,6 @@
public void onTelephonyDisplayInfoChanged_providerAndHasMultiSimAndOutOfService_noConnection() {
final String noConnectionSummary =
ResourcesUtils.getResourcesString(mContext, "mobile_data_no_connection");
- final CharSequence expectedSummary =
- Html.fromHtml(noConnectionSummary, Html.FROM_HTML_MODE_LEGACY);
final String networkType = "LTE";
final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
final TelephonyDisplayInfo telephonyDisplayInfo =
@@ -437,7 +422,8 @@
mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
telephonyDisplayInfo);
- assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
+ assertThat(mPreferenceCategory.getPreference(0).getSummary())
+ .isEqualTo(noConnectionSummary);
}
@Test
diff --git a/tests/unit/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.java
deleted file mode 100644
index 5f0bdd6..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network.telephony;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doNothing;
-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.content.Intent;
-import android.os.Looper;
-import android.provider.Settings;
-import android.telephony.SubscriptionInfo;
-
-import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.network.SubscriptionUtil;
-import com.android.settings.security.ConfirmSimDeletionPreferenceController;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-
-@RunWith(AndroidJUnit4.class)
-public class DeleteSimProfilePreferenceControllerTest {
- private static final String PREF_KEY = "delete_profile_key";
- private static final int REQUEST_CODE = 4321;
- private static final int SUB_ID = 1234;
- private static final int OTHER_ID = 5678;
-
- @Mock
- private Fragment mFragment;
- @Mock
- private SubscriptionInfo mSubscriptionInfo;
-
- private Context mContext;
- private PreferenceScreen mScreen;
- private Preference mPreference;
- private DeleteSimProfilePreferenceController mController;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- mContext = spy(ApplicationProvider.getApplicationContext());
-
- SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSubscriptionInfo));
- when(mSubscriptionInfo.getSubscriptionId()).thenReturn(SUB_ID);
- when(mSubscriptionInfo.isEmbedded()).thenReturn(true);
-
- if (Looper.myLooper() == null) {
- Looper.prepare();
- }
- PreferenceManager preferenceManager = new PreferenceManager(mContext);
- mScreen = preferenceManager.createPreferenceScreen(mContext);
- mPreference = new Preference(mContext);
- mPreference.setKey(PREF_KEY);
- mScreen.addPreference(mPreference);
-
- mController = new DeleteSimProfilePreferenceController(mContext, PREF_KEY);
- }
-
- @After
- public void tearDown() {
- SubscriptionUtil.setAvailableSubscriptionsForTesting(null);
- }
-
- @Test
- public void getAvailabilityStatus_noSubs_notAvailable() {
- SubscriptionUtil.setAvailableSubscriptionsForTesting(new ArrayList<>());
- mController.init(SUB_ID, mFragment, REQUEST_CODE);
- assertThat(mController.isAvailable()).isFalse();
- }
-
- @Test
- public void getAvailabilityStatus_physicalSim_notAvailable() {
- when(mSubscriptionInfo.isEmbedded()).thenReturn(false);
- mController.init(SUB_ID, mFragment, REQUEST_CODE);
- assertThat(mController.isAvailable()).isFalse();
- }
-
- @Test
- public void getAvailabilityStatus_unknownSim_notAvailable() {
- when(mSubscriptionInfo.getSubscriptionId()).thenReturn(OTHER_ID);
- mController.init(SUB_ID, mFragment, REQUEST_CODE);
- assertThat(mController.isAvailable()).isFalse();
- }
-
- @Test
- public void getAvailabilityStatus_knownEsim_isAvailable() {
- mController.init(SUB_ID, mFragment, REQUEST_CODE);
- assertThat(mController.isAvailable()).isTrue();
- }
-
- @Test
- public void onPreferenceClick_startsIntent() {
- mController.init(SUB_ID, mFragment, REQUEST_CODE);
- mController.displayPreference(mScreen);
- // turn off confirmation before click
- Settings.Global.putInt(mContext.getContentResolver(),
- ConfirmSimDeletionPreferenceController.KEY_CONFIRM_SIM_DELETION, 0);
- final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
- doNothing().when(mContext).startActivity(intentCaptor.capture());
-
- mController.handlePreferenceTreeClick(mPreference);
-
- verify(mContext, times(1)).startActivity(any());
- }
-}
diff --git a/tests/unit/src/com/android/settings/privatespace/PrivateSpaceLockControllerTest.java b/tests/unit/src/com/android/settings/privatespace/PrivateSpaceLockControllerTest.java
new file mode 100644
index 0000000..0d9db7e
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/PrivateSpaceLockControllerTest.java
@@ -0,0 +1,138 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.privatespace;
+
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PASSWORD;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PATTERN;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PIN;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.Flags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.privatespace.onelock.PrivateSpaceLockController;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(AndroidJUnit4.class)
+public class PrivateSpaceLockControllerTest {
+ @Mock
+ private Context mContext;
+ @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+ @Mock SettingsPreferenceFragment mSettingsPreferenceFragment;
+ @Mock
+ LockPatternUtils mLockPatternUtils;
+
+ private Preference mPreference;
+ private PrivateSpaceLockController mPrivateSpaceLockController;
+
+ /** Required setup before a test. */
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mContext = ApplicationProvider.getApplicationContext();
+ final String preferenceKey = "unlock_set_or_change_private_lock";
+
+ mPreference = new Preference(ApplicationProvider.getApplicationContext());
+ mPreference.setKey(preferenceKey);
+
+ final FakeFeatureFactory featureFactory = FakeFeatureFactory.setupForTest();
+ when(featureFactory.securityFeatureProvider.getLockPatternUtils(mContext))
+ .thenReturn(mLockPatternUtils);
+
+ mPrivateSpaceLockController = new PrivateSpaceLockController(mContext,
+ mSettingsPreferenceFragment);
+ }
+
+ /** Tests that the controller is always available. */
+ @Test
+ public void getAvailabilityStatus_returnsAvailable() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+ assertThat(mPrivateSpaceLockController.isAvailable()).isEqualTo(true);
+ }
+
+ /** Tests that preference is disabled and summary says same as device lock. */
+ @Test
+ public void getSummary_whenScreenLock() {
+ doReturn(false).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+ mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+ mPrivateSpaceLockController.updateState(mPreference);
+ assertThat(mPreference.isEnabled()).isFalse();
+ assertThat(mPreference.getSummary().toString()).isEqualTo("Same as device screen lock");
+ }
+
+ /** Tests that preference is enabled and summary is Pattern. */
+ @Test
+ public void getSummary_whenProfileLockPattern() {
+ doReturn(true)
+ .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+ doReturn(CREDENTIAL_TYPE_PATTERN)
+ .when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
+ mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+ mPrivateSpaceLockController.updateState(mPreference);
+ assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.getSummary().toString()).isEqualTo("Pattern");
+ }
+
+ /** Tests that preference is enabled and summary is Pin. */
+ @Test
+ public void getSummary_whenProfileLockPin() {
+ doReturn(true).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+ doReturn(CREDENTIAL_TYPE_PIN).when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
+ mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+ mPrivateSpaceLockController.updateState(mPreference);
+ assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.getSummary().toString()).isEqualTo("PIN");
+ }
+
+ /** Tests that preference is enabled and summary is Password. */
+ @Test
+ public void getSummary_whenProfileLockPassword() {
+ doReturn(true)
+ .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+ doReturn(CREDENTIAL_TYPE_PASSWORD)
+ .when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
+ mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+ mPrivateSpaceLockController.updateState(mPreference);
+ assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.getSummary().toString()).isEqualTo("Password");
+ }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/PrivateSpaceMaintainerTest.java b/tests/unit/src/com/android/settings/privatespace/PrivateSpaceMaintainerTest.java
new file mode 100644
index 0000000..0a2f3d1
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/PrivateSpaceMaintainerTest.java
@@ -0,0 +1,140 @@
+/*
+ * 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.
+ */
+
+package com.android.settings.privatespace;
+
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL;
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settings.privatespace.PrivateSpaceMaintainer.ErrorDeletingPrivateSpace;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(AndroidJUnit4.class)
+public class PrivateSpaceMaintainerTest {
+ private Context mContext;
+ private ContentResolver mContentResolver;
+
+ /** Required setup before a test. */
+ @Before
+ public void setUp() {
+ MockitoAnnotations.initMocks(this);
+ mContext = ApplicationProvider.getApplicationContext();
+ mContentResolver = mContext.getContentResolver();
+ }
+
+ /** Tests that {@link PrivateSpaceMaintainer#deletePrivateSpace()} deletes PS when PS exists. */
+ @Test
+ public void deletePrivateSpace_psExists_deletesPS() {
+ PrivateSpaceMaintainer privateSpaceMaintainer =
+ PrivateSpaceMaintainer.getInstance(mContext);
+ privateSpaceMaintainer.createPrivateSpace();
+ ErrorDeletingPrivateSpace errorDeletingPrivateSpace =
+ privateSpaceMaintainer.deletePrivateSpace();
+ assertThat(errorDeletingPrivateSpace)
+ .isEqualTo(ErrorDeletingPrivateSpace.DELETE_PS_ERROR_NONE);
+ assertThat(privateSpaceMaintainer.doesPrivateSpaceExist()).isFalse();
+ }
+
+ /**
+ * Tests that {@link PrivateSpaceMaintainer#deletePrivateSpace()} returns error when PS does
+ * not exist.
+ */
+ @Test
+ public void deletePrivateSpace_psDoesNotExist_returnsNoPSError() {
+ PrivateSpaceMaintainer privateSpaceMaintainer =
+ PrivateSpaceMaintainer.getInstance(mContext);
+ ErrorDeletingPrivateSpace errorDeletingPrivateSpace =
+ privateSpaceMaintainer.deletePrivateSpace();
+ assertThat(errorDeletingPrivateSpace)
+ .isEqualTo(ErrorDeletingPrivateSpace.DELETE_PS_ERROR_NO_PRIVATE_SPACE);
+ assertThat(privateSpaceMaintainer.doesPrivateSpaceExist()).isFalse();
+ }
+
+ /** Tests that {@link PrivateSpaceMaintainer#createPrivateSpace()} when PS exists creates PS. */
+ @Test
+ public void createPrivateSpace_psDoesNotExist_createsPS() {
+ PrivateSpaceMaintainer privateSpaceMaintainer =
+ PrivateSpaceMaintainer.getInstance(mContext);
+ privateSpaceMaintainer.deletePrivateSpace();
+ assertThat(privateSpaceMaintainer.createPrivateSpace()).isTrue();
+ assertThat(privateSpaceMaintainer.doesPrivateSpaceExist()).isTrue();
+ }
+
+ /**
+ * Tests that {@link PrivateSpaceMaintainer#createPrivateSpace()} when PS exists still
+ * returns true.
+ */
+ @Test
+ public void createPrivateSpace_psExists_returnsFalse() {
+ PrivateSpaceMaintainer privateSpaceMaintainer =
+ PrivateSpaceMaintainer.getInstance(mContext);
+ privateSpaceMaintainer.deletePrivateSpace();
+ assertThat(privateSpaceMaintainer.createPrivateSpace()).isTrue();
+ assertThat(privateSpaceMaintainer.doesPrivateSpaceExist()).isTrue();
+ assertThat(privateSpaceMaintainer.createPrivateSpace()).isTrue();
+ }
+
+ /**
+ * Tests that {@link PrivateSpaceMaintainer#createPrivateSpace()} when no PS exists resets PS
+ * Settings.
+ */
+ @Test
+ public void createPrivateSpace_psDoesNotExist_resetsPSSettings() {
+ PrivateSpaceMaintainer privateSpaceMaintainer =
+ PrivateSpaceMaintainer.getInstance(mContext);
+ Settings.Secure.putInt(
+ mContentResolver,
+ Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT,
+ HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL);
+
+ privateSpaceMaintainer.deletePrivateSpace();
+ privateSpaceMaintainer.createPrivateSpace();
+ assertThat(privateSpaceMaintainer.getHidePrivateSpaceEntryPointSetting())
+ .isEqualTo(HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL);
+ }
+
+ /**
+ * Tests that {@link PrivateSpaceMaintainer#createPrivateSpace()} when PS exist does not reset
+ * PS Settings.
+ */
+ @Test
+ public void createPrivateSpace_psExists_doesNotResetPSSettings() {
+ PrivateSpaceMaintainer privateSpaceMaintainer =
+ PrivateSpaceMaintainer.getInstance(mContext);
+ privateSpaceMaintainer.createPrivateSpace();
+ Settings.Secure.putInt(
+ mContentResolver,
+ Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT,
+ HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL);
+
+ privateSpaceMaintainer.createPrivateSpace();
+ assertThat(privateSpaceMaintainer.getHidePrivateSpaceEntryPointSetting())
+ .isEqualTo(HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL);
+ }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/UseOneLockControllerTest.java b/tests/unit/src/com/android/settings/privatespace/UseOneLockControllerTest.java
index e7ebb37..744a8ec 100644
--- a/tests/unit/src/com/android/settings/privatespace/UseOneLockControllerTest.java
+++ b/tests/unit/src/com/android/settings/privatespace/UseOneLockControllerTest.java
@@ -16,36 +16,105 @@
package com.android.settings.privatespace;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PASSWORD;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PATTERN;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PIN;
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+
import static com.google.common.truth.Truth.assertThat;
-import android.content.Context;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.when;
+import android.content.Context;
+import android.os.Flags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.preference.Preference;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.privatespace.onelock.UseOneLockController;
+import com.android.settings.testutils.FakeFeatureFactory;
+
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
@RunWith(AndroidJUnit4.class)
public class UseOneLockControllerTest {
@Mock private Context mContext;
+ @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
private UseOneLockController mUseOneLockController;
+ private Preference mPreference;
+
+ @Mock
+ LockPatternUtils mLockPatternUtils;
/** Required setup before a test. */
@Before
public void setUp() {
+ MockitoAnnotations.initMocks(this);
mContext = ApplicationProvider.getApplicationContext();
final String preferenceKey = "private_space_use_one_lock";
+ mPreference = new Preference(mContext);
+ final FakeFeatureFactory featureFactory = FakeFeatureFactory.setupForTest();
+ when(featureFactory.securityFeatureProvider.getLockPatternUtils(mContext))
+ .thenReturn(mLockPatternUtils);
mUseOneLockController = new UseOneLockController(mContext, preferenceKey);
+
}
/** Tests that the controller is always available. */
@Test
public void getAvailabilityStatus_returnsAvailable() {
+ mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
assertThat(mUseOneLockController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
}
+
+
+ /** Tests that summary in controller is Pattern. */
+ @Test
+ public void getSummary_whenProfileLockPattern() {
+ doReturn(true)
+ .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+ doReturn(CREDENTIAL_TYPE_PATTERN)
+ .when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
+ mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+ mUseOneLockController.updateState(mPreference);
+ assertThat(mUseOneLockController.getSummary().toString()).isEqualTo("Pattern");
+ }
+
+ /** Tests that summary in controller is PIN. */
+ @Test
+ public void getSummary_whenProfileLockPin() {
+ doReturn(true)
+ .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+ doReturn(CREDENTIAL_TYPE_PIN).when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
+ mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+ mUseOneLockController.updateState(mPreference);
+ assertThat(mUseOneLockController.getSummary().toString()).isEqualTo("PIN");
+ }
+
+ /** Tests that summary in controller is Password. */
+ @Test
+ public void getSummary_whenProfileLockPassword() {
+ doReturn(true)
+ .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+ doReturn(CREDENTIAL_TYPE_PASSWORD)
+ .when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
+ mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+ mUseOneLockController.updateState(mPreference);
+ assertThat(mUseOneLockController.getSummary().toString()).isEqualTo("Password");
+ }
}
diff --git a/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java b/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java
index 5c42ad9..50e21fe 100644
--- a/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java
+++ b/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java
@@ -99,8 +99,7 @@
assertTrue(isCallingStartActivity);
verify(mFeatureFactory.metricsFeatureProvider).action(
mApplicationContext,
- SettingsEnums.ACTION_CHOOSE_LANGUAGE_FOR_NUMBERS_PREFERENCES,
- "I_am_the_key");
+ SettingsEnums.ACTION_CHOOSE_LANGUAGE_FOR_NUMBERS_PREFERENCES);
}
@Test
@@ -122,8 +121,7 @@
verify(mFragment).setArguments(any());
verify(mFeatureFactory.metricsFeatureProvider).action(
- mApplicationContext, SettingsEnums.ACTION_SET_NUMBERS_PREFERENCES,
- "test_key");
+ mApplicationContext, SettingsEnums.ACTION_SET_NUMBERS_PREFERENCES);
}
@Test